<?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>durdle.com &#187; Hardware</title>
	<atom:link href="http://durdle.com/archives/category/hardware/feed/" rel="self" type="application/rss+xml" />
	<link>http://durdle.com</link>
	<description></description>
	<lastBuildDate>Thu, 12 Apr 2012 21:13:47 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>ZoneMinder Control Script for Foscam FI8918W</title>
		<link>http://durdle.com/archives/2011/02/26/zoneminder-control-module-for-foscam-fi8918w/</link>
		<comments>http://durdle.com/archives/2011/02/26/zoneminder-control-module-for-foscam-fi8918w/#comments</comments>
		<pubDate>Sat, 26 Feb 2011 22:57:34 +0000</pubDate>
		<dc:creator>Howard</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Networking]]></category>
		<category><![CDATA[Control]]></category>
		<category><![CDATA[Control Module]]></category>
		<category><![CDATA[Control Script]]></category>
		<category><![CDATA[FI8918W]]></category>
		<category><![CDATA[Foscam]]></category>
		<category><![CDATA[Foscam FI8918W]]></category>
		<category><![CDATA[Zone Minder]]></category>
		<category><![CDATA[ZoneMinder]]></category>

		<guid isPermaLink="false">http://durdle.com/?p=856</guid>
		<description><![CDATA[Update 27/02/2011: Added IR control and password passthrough.I&#8217;ve recently put together a CCTV solution using a few Foscam FI8918W cameras and the excellent ZoneMinder software. This is all running on a CentOS 5.5 virtual machine under Hyper-V (more on this setup another time). The Foscam cameras have pan, tilt and the ability to set and...]]></description>
			<content:encoded><![CDATA[<p><a href="http://durdle.com/wp-content/uploads/zoneminder.png" rel="lightbox[856]"><img class="size-medium wp-image-862 alignleft" title="Gnarly asleep via ZoneMinder" src="http://durdle.com/wp-content/uploads/zoneminder-300x224.png" alt="" width="300" height="224" /></a><strong>Update 27/02/2011: Added IR control and password passthrough.</strong><br/>I&#8217;ve recently put together a CCTV solution using a few Foscam FI8918W cameras and the excellent <a href="http://www.zoneminder.com/">ZoneMinder</a> software.  This is all running on a CentOS 5.5 virtual machine under Hyper-V (more on this setup another time).  The Foscam cameras have pan, tilt and the ability to set and move to preset locations.</p>
<p>The Foscam control script for ZoneMinder which I found on the <a href="http://www.zoneminder.com/wiki/index.php/Foscam">ZoneMinder wiki</a> was a good starting point, but seemed to have left and right wired backwards, and didn&#8217;t support the presets.  So I&#8217;ve updated it to fix those issues, the script is below.</p>
<p>To install:  find where the control scripts are installed on your distro.  In mine I found the files in:</p>
<pre>/usr/lib/perl5/site_perl/5.8.8/ZoneMinder/Control/</pre>
<p>If you&#8217;re not sure where to look, run the command:</p>
<pre>locate PanasonicIP.pm</pre>
<p>This will return the location of one of the existing control scripts.</p>
<p>Once you&#8217;ve found them, create a new file called <strong>FoscamFI8918W.pm</strong> and paste the code below into it.  <del datetime="2011-02-27T14:49:50+00:00">As with the original script this assumes there is an admin user with no password on your camera.  This will have to do until I can work out how to pass through a proper username and password from the ZoneMinder frontend.</del><strong>Update 27/02/2011:</strong> the username and password are now passed via the Control Device field.  See below.</p>
<p>You&#8217;ll need to add the control script to the ZoneMinder interface and attach it to your camera.   First make sure that ZoneMinder is configured to support controllable cameras.  Open <strong>Options</strong> from the main console and click <strong>OPT_CONTROL</strong> in the <strong>System</strong> tab.</p>
<p>Then open the source options for the camera you want to control.  Select the <strong>Control</strong> tab, and click <strong>Edit</strong> next to <strong>Control Type</strong>.  Click the <strong>Add New Control</strong> button, then enter the following settings (<strong>Update 27/02/2011, see bottom of post for updated settings for IR control and username/password.</strong>):</p>
<p><a href="http://durdle.com/wp-content/uploads/zm_control_01_main.png" rel="lightbox[856]"><img class="alignnone size-full wp-image-857" title="zm_control_01_main" src="http://durdle.com/wp-content/uploads/zm_control_01_main.png" alt="" width="416" height="411" /></a></p>
<p><a href="http://durdle.com/wp-content/uploads/zm_control_02_move.png" rel="lightbox[856]"><img class="alignnone size-full wp-image-857" title="zm_control_02_move" src="http://durdle.com/wp-content/uploads/zm_control_02_move.png" alt="" width="416" height="411" /></a></p>
<p><a href="http://durdle.com/wp-content/uploads/zm_control_03_pan.png" rel="lightbox[856]"><img class="alignnone size-full wp-image-857" title="zm_control_03_pan" src="http://durdle.com/wp-content/uploads/zm_control_03_pan.png" alt="" width="416" height="411" /></a></p>
<p><a href="http://durdle.com/wp-content/uploads/zm_control_04_tilt.png" rel="lightbox[856]"><img class="alignnone size-full wp-image-857" title="zm_control_04_tilt" src="http://durdle.com/wp-content/uploads/zm_control_04_tilt.png" alt="" width="416" height="411" /></a></p>
<p><a href="http://durdle.com/wp-content/uploads/zm_control_05_presets.png" rel="lightbox[856]"><img class="alignnone size-full wp-image-857" title="zm_control_05_presets" src="http://durdle.com/wp-content/uploads/zm_control_05_presets.png" alt="" width="416" height="411" /></a></p>
<p>Now save and close that window, and refresh the one for your camera.  You should now see the Foscam FI8918W script in the list.  Select it, and enter the IP address of the camera in the <strong>Control Address</strong> box.  Make sure <strong>Controllable</strong> is ticked, then click <strong>Save</strong>.</p>
<p>Now if you view the camera you&#8217;ll have a <strong>Control</strong> option near the top.  Click it to reveal the Pan/Tilt controls, along with the presets:<br />
<a href="http://durdle.com/wp-content/uploads/zm_controls.png" rel="lightbox[856]"><img class="alignnone size-medium wp-image-863" title="ZoneMinder Controls" src="http://durdle.com/wp-content/uploads/zm_controls-262x300.png" alt="" width="262" height="300" /></a></p>
<p>That&#8217;s it.  Enjoy your controllable cameras!Â<br />
<br/>Download the <a href='http://durdle.com/wp-content/uploads/FoscamFI8918W.pm_.txt'>FoscamFI8918W.pm</a> script.  Rename to .pm.<br/><br />
<del datetime="2011-02-27T13:24:37+00:00">I&#8217;ll update this post when I work out the password passthrough and how to turn the IR LED on and off via ZoneMinder.</del> <strong>Update 27/02/2011:</strong> the script now uses Sleep and Wake to turn the IR off and on and passes the username and password via the Control Device parameter.  You&#8217;ll need to enable those options on the Main tab of the Control like so:<br />
<a href="http://durdle.com/wp-content/uploads/zm_control_01_main_b1.png" rel="lightbox[856]"><img src="http://durdle.com/wp-content/uploads/zm_control_01_main_b1.png" alt="" title="zm_control_01_main_b" width="416" height="325" class="alignnone size-full wp-image-866" /></a><br />
And put your username and password query string in the <strong>Control Device</strong> field:<br />
<a href="http://durdle.com/wp-content/uploads/zm_controls_device.png" rel="lightbox[856]"><img src="http://durdle.com/wp-content/uploads/zm_controls_device.png" alt="" title="zm_controls_device" width="396" height="388" class="alignnone size-full wp-image-867" /></a></p>
<div class="wp_syntax">
<div class="code">
<pre class="perl" style="font-family:monospace;"><span style="color: #666666; font-style: italic;"># ==========================================================================</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># ZoneMinder Foscam FI8918W IP Control Protocol Module, $Date: 2009-11-25 09:20:00 +0000 (Wed, 04 Nov 2009) $, $Revision: 0001 $</span>
<span style="color: #666666; font-style: italic;"># Copyright (C) 2001-2008 Philip Coombes</span>
<span style="color: #666666; font-style: italic;"># Modified for use with Foscam FI8918W IP Camera by Dave Harris</span>
<span style="color: #666666; font-style: italic;"># Modified Feb 2011 by Howard Durdle (http://durdl.es/x) to:</span>
<span style="color: #666666; font-style: italic;">#      fix horizontal panning, add presets and IR on/off</span>
<span style="color: #666666; font-style: italic;">#      use Control Device field to pass username and password</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># This program is free software; you can redistribute it and/or</span>
<span style="color: #666666; font-style: italic;"># modify it under the terms of the GNU General Public License</span>
<span style="color: #666666; font-style: italic;"># as published by the Free Software Foundation; either version 2</span>
<span style="color: #666666; font-style: italic;"># of the License, or (at your option) any later version.</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># This program is distributed in the hope that it will be useful,</span>
<span style="color: #666666; font-style: italic;"># but WITHOUT ANY WARRANTY; without even the implied warranty of</span>
<span style="color: #666666; font-style: italic;"># MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the</span>
<span style="color: #666666; font-style: italic;"># GNU General Public License for more details.</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># You should have received a copy of the GNU General Public License</span>
<span style="color: #666666; font-style: italic;"># along with this program; if not, write to the Free Software</span>
<span style="color: #666666; font-style: italic;"># Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># ==========================================================================</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># This module contains the implementation of the Foscam FI8918W IP camera control</span>
<span style="color: #666666; font-style: italic;"># protocol</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #000066;">package</span> ZoneMinder<span style="color: #339933;">::</span><span style="color: #006600;">Control</span><span style="color: #339933;">::</span><span style="color: #006600;">FoscamFI8918W</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">use</span> <span style="color: #cc66cc;">5.006</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">use</span> strict<span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">use</span> warnings<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000066;">require</span> ZoneMinder<span style="color: #339933;">::</span><span style="color: #006600;">Base</span><span style="color: #339933;">;</span>
<span style="color: #000066;">require</span> ZoneMinder<span style="color: #339933;">::</span><span style="color: #006600;">Control</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">our</span> <span style="color: #0000ff;">@ISA</span> <span style="color: #339933;">=</span> <span style="color: #000066;">qw</span><span style="color: #009900;">&#40;</span>ZoneMinder<span style="color: #339933;">::</span><span style="color: #006600;">Control</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #b1b100;">our</span> <span style="color: #0000ff;">$VERSION</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$ZoneMinder</span><span style="color: #339933;">::</span><span style="color: #006600;">Base</span><span style="color: #339933;">::</span><span style="color: #006600;">VERSION</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;"># ==========================================================================</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># Foscam FI8918W IP Control Protocol</span>
<span style="color: #666666; font-style: italic;">#</span>
<span style="color: #666666; font-style: italic;"># ==========================================================================</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">use</span> ZoneMinder<span style="color: #339933;">::</span><span style="color: #006600;">Debug</span> <span style="color: #000066;">qw</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">:</span>all<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #000000; font-weight: bold;">use</span> ZoneMinder<span style="color: #339933;">::</span><span style="color: #006600;">Config</span> <span style="color: #000066;">qw</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">:</span>all<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
 <span style="color: #000000; font-weight: bold;">use</span> Time<span style="color: #339933;">::</span><span style="color: #006600;">HiRes</span> <span style="color: #000066;">qw</span><span style="color: #009900;">&#40;</span> usleep <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">sub</span> <span style="color: #000000; font-weight: bold;">new</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$class</span> <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$id</span> <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$self</span> <span style="color: #339933;">=</span> ZoneMinder<span style="color: #339933;">::</span><span style="color: #006600;">Control</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">new</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$id</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$logindetails</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000066;">bless</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$self</span><span style="color: #339933;">,</span> <span style="color: #0000ff;">$class</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000066;">srand</span><span style="color: #009900;">&#40;</span> <span style="color: #000066;">time</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000066;">return</span> <span style="color: #0000ff;">$self</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #b1b100;">our</span> <span style="color: #0000ff;">$AUTOLOAD</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">sub</span> AUTOLOAD
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$self</span> <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$class</span> <span style="color: #339933;">=</span> <span style="color: #000066;">ref</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$self</span><span style="color: #009900;">&#41;</span> <span style="color: #339933;">||</span> croak<span style="color: #009900;">&#40;</span> <span style="color: #ff0000;">&quot;$self not object&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$name</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$AUTOLOAD</span><span style="color: #339933;">;</span>
	<span style="color: #0000ff;">$name</span> <span style="color: #339933;">=~</span> <span style="color: #009966; font-style: italic;">s/.*://</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #000066;">exists</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$self</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span><span style="color: #0000ff;">$name</span><span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #000066;">return</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$self</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span><span style="color: #0000ff;">$name</span><span style="color: #009900;">&#125;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	Fatal<span style="color: #009900;">&#40;</span> <span style="color: #ff0000;">&quot;Can't access $name member of object of class $class&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
<span style="color: #b1b100;">our</span> <span style="color: #0000ff;">$stop_command</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">sub</span> <span style="color: #000066;">open</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$self</span> <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #0000ff;">$self</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">loadMonitor</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000000; font-weight: bold;">use</span> LWP<span style="color: #339933;">::</span><span style="color: #006600;">UserAgent</span><span style="color: #339933;">;</span>
	<span style="color: #0000ff;">$self</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span>ua<span style="color: #009900;">&#125;</span> <span style="color: #339933;">=</span> LWP<span style="color: #339933;">::</span><span style="color: #006600;">UserAgent</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">new</span><span style="color: #339933;">;</span>
	<span style="color: #0000ff;">$self</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span>ua<span style="color: #009900;">&#125;</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">agent</span><span style="color: #009900;">&#40;</span> <span style="color: #ff0000;">&quot;ZoneMinder Control Agent/&quot;</span><span style="color: #339933;">.</span>ZM_VERSION <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #0000ff;">$self</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span>state<span style="color: #009900;">&#125;</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">'open'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">sub</span> <span style="color: #000066;">close</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$self</span> <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
	<span style="color: #0000ff;">$self</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span>state<span style="color: #009900;">&#125;</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">'closed'</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">sub</span> printMsg
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$self</span> <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$msg</span> <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$msg_len</span> <span style="color: #339933;">=</span> <span style="color: #000066;">length</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$msg</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	Debug<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$msg</span><span style="color: #339933;">.</span><span style="color: #ff0000;">&quot;[&quot;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">$msg_len</span><span style="color: #339933;">.</span><span style="color: #ff0000;">&quot;]&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">sub</span> sendCmd
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$self</span> <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$cmd</span> <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$result</span> <span style="color: #339933;">=</span> <span style="color: #000066;">undef</span><span style="color: #339933;">;</span>
	printMsg<span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$cmd</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">&quot;Tx&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$req</span> <span style="color: #339933;">=</span> HTTP<span style="color: #339933;">::</span><span style="color: #006600;">Request</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">new</span><span style="color: #009900;">&#40;</span> GET<span style="color: #339933;">=&gt;</span><span style="color: #ff0000;">&quot;http://&quot;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">$self</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span>Monitor<span style="color: #009900;">&#125;</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span>ControlAddress<span style="color: #009900;">&#125;</span><span style="color: #339933;">.</span><span style="color: #ff0000;">&quot;/$cmd&quot;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">$self</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span>Monitor<span style="color: #009900;">&#125;</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span>ControlDevice<span style="color: #009900;">&#125;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$res</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$self</span><span style="color: #339933;">-&gt;</span><span style="color: #009900;">&#123;</span>ua<span style="color: #009900;">&#125;</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">request</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$req</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #b1b100;">if</span> <span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$res</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">is_success</span> <span style="color: #009900;">&#41;</span>
	<span style="color: #009900;">&#123;</span>
		<span style="color: #0000ff;">$result</span> <span style="color: #339933;">=</span> <span style="color: #339933;">!</span><span style="color: #000066;">undef</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
	<span style="color: #b1b100;">else</span>
	<span style="color: #009900;">&#123;</span>
		Error<span style="color: #009900;">&#40;</span> <span style="color: #ff0000;">&quot;Error check failed:'&quot;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">$res</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">status_line</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #ff0000;">&quot;'&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #009900;">&#125;</span>
&nbsp;
	<span style="color: #000066;">return</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$result</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #000000; font-weight: bold;">sub</span> <span style="color: #b1b100;">reset</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$self</span> <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
	Debug<span style="color: #009900;">&#40;</span> <span style="color: #ff0000;">&quot;Camera Reset&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$cmd</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;reboot.cgi?&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #0000ff;">$self</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">sendCmd</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$cmd</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#Up Arrow</span>
<span style="color: #000000; font-weight: bold;">sub</span> moveConUp
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$self</span> <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
	<span style="color: #0000ff;">$stop_command</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;1&quot;</span><span style="color: #339933;">;</span>
	Debug<span style="color: #009900;">&#40;</span> <span style="color: #ff0000;">&quot;Move Up&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$cmd</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;decoder_control.cgi?command=0&amp;&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #0000ff;">$self</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">sendCmd</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$cmd</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#Down Arrow</span>
<span style="color: #000000; font-weight: bold;">sub</span> moveConDown
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$self</span> <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
	<span style="color: #0000ff;">$stop_command</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;1&quot;</span><span style="color: #339933;">;</span>
	Debug<span style="color: #009900;">&#40;</span> <span style="color: #ff0000;">&quot;Move Down&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$cmd</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;decoder_control.cgi?command=2&amp;&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #0000ff;">$self</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">sendCmd</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$cmd</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#Left Arrow</span>
<span style="color: #000000; font-weight: bold;">sub</span> moveConLeft
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$self</span> <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
	<span style="color: #0000ff;">$stop_command</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;1&quot;</span><span style="color: #339933;">;</span>
	Debug<span style="color: #009900;">&#40;</span> <span style="color: #ff0000;">&quot;Move Left&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$cmd</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;decoder_control.cgi?command=6&amp;&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #0000ff;">$self</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">sendCmd</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$cmd</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#Right Arrow</span>
<span style="color: #000000; font-weight: bold;">sub</span> moveConRight
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$self</span> <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
	<span style="color: #0000ff;">$stop_command</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;1&quot;</span><span style="color: #339933;">;</span>
	Debug<span style="color: #009900;">&#40;</span> <span style="color: #ff0000;">&quot;Move Right&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$cmd</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;decoder_control.cgi?command=4&amp;&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #0000ff;">$self</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">sendCmd</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$cmd</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#Diagonally Up Right Arrow</span>
<span style="color: #000000; font-weight: bold;">sub</span> moveConUpRight
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$self</span> <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
	<span style="color: #0000ff;">$stop_command</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;1&quot;</span><span style="color: #339933;">;</span>
	Debug<span style="color: #009900;">&#40;</span> <span style="color: #ff0000;">&quot;Move Diagonally Up Right&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$cmd</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;decoder_control.cgi?command=90&amp;&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #0000ff;">$self</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">sendCmd</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$cmd</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#Diagonally Down Right Arrow</span>
<span style="color: #000000; font-weight: bold;">sub</span> moveConDownRight
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$self</span> <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
	<span style="color: #0000ff;">$stop_command</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;1&quot;</span><span style="color: #339933;">;</span>
	Debug<span style="color: #009900;">&#40;</span> <span style="color: #ff0000;">&quot;Move Diagonally Down Right&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$cmd</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;decoder_control.cgi?command=92&amp;&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #0000ff;">$self</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">sendCmd</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$cmd</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#Diagonally Up Left Arrow</span>
<span style="color: #000000; font-weight: bold;">sub</span> moveConUpLeft
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$self</span> <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
	<span style="color: #0000ff;">$stop_command</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;1&quot;</span><span style="color: #339933;">;</span>
	Debug<span style="color: #009900;">&#40;</span> <span style="color: #ff0000;">&quot;Move Diagonally Up Left&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$cmd</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;decoder_control.cgi?command=91&amp;&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #0000ff;">$self</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">sendCmd</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$cmd</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#Diagonally Down Left Arrow</span>
<span style="color: #000000; font-weight: bold;">sub</span> moveConDownLeft
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$self</span> <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
	<span style="color: #0000ff;">$stop_command</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;1&quot;</span><span style="color: #339933;">;</span>
	Debug<span style="color: #009900;">&#40;</span> <span style="color: #ff0000;">&quot;Move Diagonally Down Left&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$cmd</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;decoder_control.cgi?command=93&amp;&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #0000ff;">$self</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">sendCmd</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$cmd</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#Stop</span>
<span style="color: #000000; font-weight: bold;">sub</span> moveStop
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$self</span> <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
	Debug<span style="color: #009900;">&#40;</span> <span style="color: #ff0000;">&quot;Move Stop&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$cmd</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;decoder_control.cgi?command=1&amp;&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #0000ff;">$self</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">sendCmd</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$cmd</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#Move Camera to Home Position</span>
<span style="color: #000000; font-weight: bold;">sub</span> presetHome
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$self</span> <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
	Debug<span style="color: #009900;">&#40;</span> <span style="color: #ff0000;">&quot;Home Preset&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$cmd</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;decoder_control.cgi?command=25&amp;&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #0000ff;">$self</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">sendCmd</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$cmd</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#Set preset</span>
<span style="color: #000000; font-weight: bold;">sub</span> presetSet
<span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$self</span> <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$params</span> <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$preset</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$self</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">getParam</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$params</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">'preset'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$presetCmd</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">30</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$preset</span><span style="color: #339933;">*</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    Debug<span style="color: #009900;">&#40;</span> <span style="color: #ff0000;">&quot;Set Preset $preset with cmd $presetCmd&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$cmd</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;decoder_control.cgi?command=$presetCmd&amp;&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #0000ff;">$self</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">sendCmd</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$cmd</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#Goto preset</span>
<span style="color: #000000; font-weight: bold;">sub</span> presetGoto
<span style="color: #009900;">&#123;</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$self</span> <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$params</span> <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
    <span style="color: #0000ff;">$stop_command</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;1&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$preset</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">$self</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">getParam</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$params</span><span style="color: #339933;">,</span> <span style="color: #ff0000;">'preset'</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$presetCmd</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">31</span> <span style="color: #339933;">+</span> <span style="color: #009900;">&#40;</span><span style="color: #0000ff;">$preset</span><span style="color: #339933;">*</span><span style="color: #cc66cc;">2</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    Debug<span style="color: #009900;">&#40;</span> <span style="color: #ff0000;">&quot;Goto Preset $preset with cmd $presetCmd&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$cmd</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;decoder_control.cgi?command=$presetCmd&amp;&quot;</span><span style="color: #339933;">;</span>
    <span style="color: #0000ff;">$self</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">sendCmd</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$cmd</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#Turn IR on</span>
<span style="color: #000000; font-weight: bold;">sub</span> wake
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$self</span> <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
	Debug<span style="color: #009900;">&#40;</span> <span style="color: #ff0000;">&quot;Wake - IR on&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$cmd</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;decoder_control.cgi?command=95&amp;&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #0000ff;">$self</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">sendCmd</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$cmd</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">#Turn IR off</span>
<span style="color: #000000; font-weight: bold;">sub</span> <span style="color: #000066;">sleep</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$self</span> <span style="color: #339933;">=</span> <span style="color: #000066;">shift</span><span style="color: #339933;">;</span>
	Debug<span style="color: #009900;">&#40;</span> <span style="color: #ff0000;">&quot;Sleep - IR off&quot;</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">my</span> <span style="color: #0000ff;">$cmd</span> <span style="color: #339933;">=</span> <span style="color: #ff0000;">&quot;decoder_control.cgi?command=94&amp;&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #0000ff;">$self</span><span style="color: #339933;">-&gt;</span><span style="color: #006600;">sendCmd</span><span style="color: #009900;">&#40;</span> <span style="color: #0000ff;">$cmd</span> <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span>
&nbsp;
<span style="color: #cc66cc;">1</span><span style="color: #339933;">;</span></pre>
</div>
</div>
]]></content:encoded>
			<wfw:commentRss>http://durdle.com/archives/2011/02/26/zoneminder-control-module-for-foscam-fi8918w/feed/</wfw:commentRss>
		<slash:comments>9</slash:comments>
		</item>
		<item>
		<title>Snow Leopard dual NVidia cards EFI Strings</title>
		<link>http://durdle.com/archives/2010/05/03/snow-leopard-dual-nvidia-cards-efi-strings/</link>
		<comments>http://durdle.com/archives/2010/05/03/snow-leopard-dual-nvidia-cards-efi-strings/#comments</comments>
		<pubDate>Mon, 03 May 2010 15:33:30 +0000</pubDate>
		<dc:creator>Howard</dc:creator>
				<category><![CDATA[Future Howard]]></category>
		<category><![CDATA[Hardware]]></category>

		<guid isPermaLink="false">http://blog.durdle.com/?p=769</guid>
		<description><![CDATA[Another post for future Howard, which may be useful to other people with a very specific set of circumstances. Namely: you&#8217;re running Snow Leopard on a Gigabyte P35-DS4 with a GeForce 8800 GTX 768MB in the first PCIE slot, and a GeForce 8800 GTS 320MB in the second. The PciRoot addresses you need for those...]]></description>
			<content:encoded><![CDATA[<p>Another post for future Howard, which may be useful to other people with a very specific set of circumstances.  Namely: you&#8217;re running Snow Leopard on a Gigabyte P35-DS4 with a GeForce 8800 GTX 768MB in the first PCIE slot, and a GeForce 8800 GTS 320MB in the second.  The PciRoot addresses you need for those cards on this board are:</p>
<p><code>PciRoot(0x1)/Pci(0x1c,0x0)/Pci(0x0,0x0)</code> for the GTS in slot one.<br />
<code>PciRoot(0x1)/Pci(0x1,0x0)/Pci(0x0,0x0)</code> for the GTX in slot two (PEG2).</p>
<p>You&#8217;ll need this for when you generate the EFI hex string in EFI Studio.</p>
<p>Remember also to change the BIOS to boot from PEG2.</p>
<p>Maybe that&#8217;ll save someone else the pain of pulling the cards and running <code>gfxutil -f display</code> on each one!</p>
]]></content:encoded>
			<wfw:commentRss>http://durdle.com/archives/2010/05/03/snow-leopard-dual-nvidia-cards-efi-strings/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Enable VT on Sony Vaio Z11</title>
		<link>http://durdle.com/archives/2009/07/30/enable-vt-on-sony-vaio-z11/</link>
		<comments>http://durdle.com/archives/2009/07/30/enable-vt-on-sony-vaio-z11/#comments</comments>
		<pubDate>Thu, 30 Jul 2009 09:33:57 +0000</pubDate>
		<dc:creator>Howard</dc:creator>
				<category><![CDATA[Future Howard]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Virtualisation]]></category>

		<guid isPermaLink="false">http://blog.durdle.com/?p=715</guid>
		<description><![CDATA[Some time ago I posted at length about Sony&#8217;s decision to disable the Virtualization Technology features of the Intel chips in their high-end laptops, namely my Vaio Z11. Well thanks to the sterling efforts of one man and his EFI hacking skills, we now have a solution as this image demonstrates. The image on the...]]></description>
			<content:encoded><![CDATA[<p>Some time ago I <a href="http://blog.durdle.com/archives/2008/09/03/sony-vaio-z-disabled-vt-virtualization-technology/">posted at length</a> about Sony&#8217;s decision to disable the Virtualization Technology features of the Intel chips in their high-end laptops, namely my Vaio Z11.</p>
<p><a href="http://farm4.static.flickr.com/3540/3771017933_8a5aa31648.jpg" rel="lightbox[715]"><img src="http://farm4.static.flickr.com/3540/3771017933_8a5aa31648_s.jpg" alt="VT enabled" title="VT enabled" width="75" height="75" class="alignleft size-thumbnail wp-image-717" /></a> Well thanks to the sterling efforts of <a href="http://feature-enable.blogspot.com/2009/07/enable-vt-on-insydeh2o-based-sony-vaio.html">one man</a> and his EFI hacking skills, we now have a solution as this image demonstrates.  The image on the left shows the result of the VMWare Virtualization Technology test CD confirming that VT is now enabled on my Vaio Z11.</p>
<p>I&#8217;ve mirrored his code and instructions here in case his site disappears, read more after the jump&#8230;</p>
<p><span id="more-715"></span></p>
<p>Download <a href="http://blog.durdle.com/wp-content/uploads/2009/07/BOOTX64.EFI">this EFI application</a> and put it on a FAT32 formatted USB stick in the <strong>\EFI\BOOT</strong> directory.</p>
<p>Boot from the USB stick.  When this USB stick is plugged in to your laptop it will boot from it regardless of your settings to deny booting from external devices.</p>
<p>If all goes well you will see the following message:</p>
<pre>> Welcome to GRUB!
>
> Entering rescue mode...
> error: file not found
> grub rescue></pre>
<p>At this prompt, type:</p>
<pre>setup_var</pre>
<p><a href="http://farm3.static.flickr.com/2588/3770999329_13660eb7c9.jpg" rel="lightbox[715]"><img src="http://farm3.static.flickr.com/2588/3770999329_13660eb7c9_s.jpg" alt="GUID match" title="GUID match" width="75" height="75" class="alignleft size-thumbnail wp-image-717" /></a>
<p>You&#8217;ll be informed of the risks but most importantly you should see confirmation that the tool has found the correct setup variable.  You want to see the message say &#8220;the GUID should match the expected GUID&#8221;.  If it does not don&#8217;t continue &#8211; visit the site of the author and let him know.</p>
<p>Since this definitely works on a Vaio Z11, you should have got this far and can now look at the current setting of the VT offset which is at <b>0x1af</b>.  Type:</p>
<pre>setup_var 0x1af</pre>
<p>Verify that the variable is set to <b>0&#215;00</b>.  If it is not, do not continue.</p>
<p>Assuming that the variable is as expected, we&#8217;ll change the setting, locking VT for your processor to ON:</p>
<pre>setup_var 0x1af 0x1</pre>
<p>You can verify that this change has been accepted by typing:</p>
<pre>setup_var 0x1af</pre>
<p>And confirming that the output is now <b>0&#215;01</b>.</p>
<p><a href="http://farm4.static.flickr.com/3520/3771832114_ae54dca28f.jpg" rel="lightbox[715]"><img src="http://farm4.static.flickr.com/3520/3771832114_ae54dca28f_s.jpg" alt="SecurAble confirms" title="SecurAble confirms" width="75" height="75" class="alignleft size-thumbnail wp-image-717" /></a>
<p>That&#8217;s it!  Hit CTRL-ALT-DEL and remove the USB stick.  You can now check that VT is enabled using whichever tool you prefer.  I confirmed mine from a VMWare boot CD and also within Windows using <a href="http://www.grc.com/securable.htm">Steve Gibson&#8217;s SecurAble</a> tool.</p>
]]></content:encoded>
			<wfw:commentRss>http://durdle.com/archives/2009/07/30/enable-vt-on-sony-vaio-z11/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
		</item>
		<item>
		<title>Bad Bell Wire!</title>
		<link>http://durdle.com/archives/2009/03/10/bad-bell-wire/</link>
		<comments>http://durdle.com/archives/2009/03/10/bad-bell-wire/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 20:45:47 +0000</pubDate>
		<dc:creator>Howard</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Infrastructure]]></category>
		<category><![CDATA[Internet]]></category>

		<guid isPermaLink="false">http://blog.durdle.com/?p=426</guid>
		<description><![CDATA[It&#8217;s one of those &#8220;why didn&#8217;t I think of that before?!&#8221; moments.Â  BT are selling a device called the iPlate at the moment claiming that for 7 out of 10 people it will increase their DSL speed by filtering out the noise from the bell wire in your master socket.Â  By all accounts it does...]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s one of those &#8220;why didn&#8217;t I think of that before?!&#8221; moments.Â  BT are selling a device called the <a title="iPlate at BT Shop" href="http://www.shop.bt.com/ProductView.aspx?Quicklinx=58LT&amp;InMerch=1" target="_blank">iPlate</a> at the moment claiming that for 7 out of 10 people it will increase their DSL speed by filtering out the noise from the bell wire in your master socket.Â  By all accounts it does exactly what they describe.Â Â  I only bothered looking this up today after hearing about it a few weeks ago, and it occurred to me: if the bell wire is the offender here, why not just disconnect it from my wiring altogether?Â  It&#8217;s not as if I have any clunky analogue phones that will suddenly cease ringing.Â  In fact, I use my BT line purely for DSL anyway, who cares if the phones don&#8217;t ring!<span id="more-426"></span></p>
<p>So, I opened up my master socket and disconnected the wire at pin 3 &#8211; the bell wire.Â  Plugged it all back in and found an immediate speed boost of approximately 2Mb.Â  I fully expect this to increase as my ISP (<a title="Be Broadband" href="https://www.bethere.co.uk/" target="_blank">Be Unlimited</a>) rate up their equipment to match my now far less lossy line.</p>
<p>If you&#8217;re handy with a screwdriver and don&#8217;t much care about the rules about messing with BT&#8217;s sockets it could well be worth your while pulling the wire out of pin 3.Â  And if you&#8217;re a bit scared of that and you have the right master socket, <a title="BroadbandBuyer" href="http://www.broadbandbuyer.co.uk/" target="_blank">BroadbandBuyer</a> can ship you an <a title="BT iPlate at BroadbandBuyer" href="http://www.broadbandbuyer.co.uk/Shop/ShopDetail.asp?ProductID=7256" target="_blank">iPlate</a> for less than BT charge, and they actually have them in stock!</p>
<p>Unsurprisingly, this is old news for <a title="Broadband and Bellwire" href="http://www.jarviser.co.uk/jarviser/broadbandspeed.html" target="_blank">some people</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://durdle.com/archives/2009/03/10/bad-bell-wire/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Remote Desktop Connection won&#039;t connect.</title>
		<link>http://durdle.com/archives/2008/09/22/remote-desktop-connection-wont-connect/</link>
		<comments>http://durdle.com/archives/2008/09/22/remote-desktop-connection-wont-connect/#comments</comments>
		<pubDate>Mon, 22 Sep 2008 18:47:13 +0000</pubDate>
		<dc:creator>Howard</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://blog.durdle.com/?p=423</guid>
		<description><![CDATA[I rebuilt my main desktop a few days ago and ever since I&#8217;ve not been able to connect to it with Remote Desktop.Â  I click connect from the other machine and the buttons grey out for a moment before they reset.Â  No error message is displayed.Â  Checking the event log shows a number of Application...]]></description>
			<content:encoded><![CDATA[<p>I rebuilt my main desktop a few days ago and ever since I&#8217;ve not been able to connect to it with Remote Desktop.Â  I click connect from the other machine and the buttons grey out for a moment before they reset.Â  No error message is displayed.Â  Checking the event log shows a number of Application Popup errors relating to RDPDD.DLL.</p>
<p>It turns out that this is caused by the latest NVidia drivers &#8211; which of course I downloaded and installed on rebuilding the machine, the only fix at the moment is to add this to the registry:</p>
<pre><code>[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management]
"SessionImageSize"=dword:00000020</code></pre>
<p>Hopefully NVidia will fix this in a future driver.</p>
]]></content:encoded>
			<wfw:commentRss>http://durdle.com/archives/2008/09/22/remote-desktop-connection-wont-connect/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Bug in Intel Graphics under XP on Sony Vaio Z</title>
		<link>http://durdle.com/archives/2008/09/12/bug-in-intel-graphics-under-xp-on-sony-vaio-z/</link>
		<comments>http://durdle.com/archives/2008/09/12/bug-in-intel-graphics-under-xp-on-sony-vaio-z/#comments</comments>
		<pubDate>Fri, 12 Sep 2008 17:15:02 +0000</pubDate>
		<dc:creator>Howard</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Tech Support]]></category>

		<guid isPermaLink="false">http://blog.durdle.com/?p=414</guid>
		<description><![CDATA[If you close the new Sony Vaio Z series laptop while it is running in Stamina Mode (using an Intel GMA 4500MHD chip) it WILL NOT wake the screen up when you resume from standby. This video shows my new Sony Vaio Z (VGN-Z11VN) running the XP downgrade drivers version 6.14.10.4953 dated 21/05/2008 from Sony....]]></description>
			<content:encoded><![CDATA[<p><span>If you close the new Sony Vaio Z series laptop while it is running in Stamina Mode (using an Intel GMA 4500MHD chip) it WILL NOT wake the screen up when you resume from standby.</p>
<p>This video shows my new Sony Vaio Z (VGN-Z11VN) running the XP downgrade drivers version 6.14.10.4953 dated 21/05/2008 from Sony. The same happens when using the latest drivers (version 6.14.10.4980 dated 25/08/2008).<br />
</span></p>
<p><object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="425" height="350" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="wmode" value="transparent" /><param name="src" value="http://www.youtube.com/v/n1theSIVM0E" /><embed type="application/x-shockwave-flash" width="425" height="350" src="http://www.youtube.com/v/n1theSIVM0E" wmode="transparent"></embed></object></p>
<p><span>Note the &#8220;beep&#8221; noise when I press the volume function buttons; the machine is on and working (it&#8217;s visibl e on the network) except the LED screen isn&#8217;t on. The only way out is to reboot it &#8211; I&#8217;m getting very good at Windows-U-L-Down-Enter to Shutdown without being able to see the screen.</p>
<p>I&#8217;ve <a href="http://forum.notebookreview.com/showpost.php?p=3910540&amp;postcount=3224">posted about this</a> in the forums, but no one has an answer &#8211; and Intel <a href="http://supportmail.intel.com/scripts-emf/defaultlanding.aspx?productid=2991&amp;srchidstr=39,1101,2991">don&#8217;t offer email support</a> for this chipset.Â  Does anyone know how to fix this?Â  Using the Nvidia card is fine, it&#8217;s just the Intel chip that causes grief. </span></p>
]]></content:encoded>
			<wfw:commentRss>http://durdle.com/archives/2008/09/12/bug-in-intel-graphics-under-xp-on-sony-vaio-z/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sony Vaio Z disabled (VT) Virtualization Technology</title>
		<link>http://durdle.com/archives/2008/09/03/sony-vaio-z-disabled-vt-virtualization-technology/</link>
		<comments>http://durdle.com/archives/2008/09/03/sony-vaio-z-disabled-vt-virtualization-technology/#comments</comments>
		<pubDate>Wed, 03 Sep 2008 10:42:45 +0000</pubDate>
		<dc:creator>Howard</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Virtualisation]]></category>
		<category><![CDATA[sony]]></category>
		<category><![CDATA[vaio]]></category>
		<category><![CDATA[VT]]></category>

		<guid isPermaLink="false">http://blog.durdle.com/?p=405</guid>
		<description><![CDATA[Update 30th July 2009: See this post for details of a confirmed VT fix for the Z11. I&#8217;m using it now! I love my Sony Vaio Z.Â  It&#8217;s a wonderful bit of kit &#8211; exactly the power/portability ratio I wanted.Â  It has enough grunt to play the odd game in &#8220;Speed&#8221; mode while giving 6...]]></description>
			<content:encoded><![CDATA[<p><strong>Update 30th July 2009</strong>: See <a href="http://blog.durdle.com/archives/2009/07/30/enable-vt-on-sony-vaio-z11/">this post</a> for details of a confirmed VT fix for the Z11.  I&#8217;m using it now!</p>
<p><a href="/wp-content/uploads/core2duo.png" rel="lightbox[405]"><img class="alignleft size-medium wp-image-410" style="border: 0pt none; margin: 2px;" title="Core 2 Duo" src="/wp-content/uploads/core2duo.png" alt="" width="108" height="134" /></a>I love my <a href="http://vaio.sony.co.uk/view/ShowProductCategory.action?site=voe_en_GB_cons&amp;category=VN+Z+Series">Sony Vaio Z</a>.Â  It&#8217;s a wonderful bit of kit &#8211; exactly the power/portability ratio I wanted.Â  It has enough grunt to play the odd game in &#8220;Speed&#8221; mode while giving 6 hours of battery life on wireless in stamina mode.Â  Not to mention to gorgeous 1600&#215;900 LED screen and the built in 3G wireless.</p>
<p>I have one problem with it and it&#8217;s a failing of Sony&#8217;s decision making rather than any particular problem with the kit.Â  Sony disable the <a href="http://www.intel.com/technology/virtualization/">Intel Virtualization Technology</a> in the Core 2 Duo on all their Vaio machines.Â  I&#8217;ve seen no valid rationale for this other than &#8220;<a href="http://kb.sony-europe.com/SRVS/CGI-BIN/WEBCGI.EXE/,/?St=23,E=0000000000052737481,K=9830,Sxi=0,Case=obj(24028)">We don&#8217;t support VT on the Vaio range.</a>&#8220;Â  This is absurd since all the Core 2 Duo chips feature Intel Virtualization Technology and I can&#8217;t imagine how having it switched on would adversely affect Vista or XP (the two Operating Systems Sony officially supports).</p>
<p>If this were a consumer laptop I could understand &#8211; but it&#8217;s specifically targeted at business users.Â  In my business I make extensive use of both Microsoft and VMWare&#8217;s virtualisation systems &#8211; both of which run much faster on hardware that has the VT functionality enabled.Â  There are a <a href="http://www.engadget.com/2008/07/14/sonys-new-vaio-z-fw-sr-and-bz-laptops-go-official/comments/13170234/">good</a> <a href="http://forum.notebookreview.com/archive/index.php/t-167123.html">number</a> of <a href="http://forum.notebookreview.com/showthread.php?t=85715">people</a> on various forums spitting blood about this issue so I&#8217;m not the only one complaining.</p>
<p>There is light, of sorts, at the end of this tunnel.Â  Since Sony have done this before on other machiens in the Vaio series, people have <a href="http://forum.notebookreview.com/showthread.php?t=189228">managed to re-enable VT</a> by using BIOS editing tools to flip the right register.Â  Unfortunately it requires intimate knowledge of the BIOS &#8211; knowledge that we won&#8217;t have until Sony release a BIOS update that can be reverse engineered.Â  If we&#8217;re very lucky Sony will make amends by releasing a BIOS update that allows us to enable VT in the BIOS interface proper.</p>
<p>The worst part of this is that we (Vaio Z owners) didn&#8217;t know that VT was disabled until after we bought the machines.Â  I know a number of people have returned their units and bought Toshiba or Dell machines that haven&#8217;t been crippled by the vendors.Â  Sony advertised a Core 2 Duo Mobile processor, they didn&#8217;t mention in any literature that they&#8217;d be disabling bits of the processor for no reason.</p>
<p>Sony, if you&#8217;re reading this &#8211; please give us control over the entire processor and let us enable VT.</p>
]]></content:encoded>
			<wfw:commentRss>http://durdle.com/archives/2008/09/03/sony-vaio-z-disabled-vt-virtualization-technology/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
		</item>
		<item>
		<title>Disable Notification Area Balloon Tips in Windows XP</title>
		<link>http://durdle.com/archives/2008/08/29/disable-notification-area-balloon-tips-in-windows-xp/</link>
		<comments>http://durdle.com/archives/2008/08/29/disable-notification-area-balloon-tips-in-windows-xp/#comments</comments>
		<pubDate>Fri, 29 Aug 2008 10:04:50 +0000</pubDate>
		<dc:creator>Howard</dc:creator>
				<category><![CDATA[Future Howard]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[Tech Support]]></category>

		<guid isPermaLink="false">http://blog.durdle.com/archives/2008/08/29/disable-notification-area-balloon-tips-in-windows-xp/</guid>
		<description><![CDATA[I&#8217;m rebuilding my new Sony Vaio Z with Windows XP, and as usual there are a load of tweaks I need to make to the OS before I feel &#8220;at home&#8221; again.Â  Since the fingerprint reader software on the new build has an annoying habit of popping up info balloons on every boot &#8211; regardless...]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m rebuilding my new Sony Vaio Z with Windows XP, and as usual there are a load of tweaks I need to make to the OS before I feel &#8220;at home&#8221; again.Â  Since the fingerprint reader software on the new build has an annoying habit of popping up info balloons on every boot &#8211; regardless of how often I click them &#8211; I felt the need to <a href="http://support.microsoft.com/kb/307729">Disable Notification Area Balloon Tips in Windows XP</a>.</p>
<p>Much better.</p>
<p>And sorry Vista, I tried, I really did.Â  I liked how your hot-swap driver support meant I could switch between stamina and speed modes without a reboot, but I hated your poor network performance against my NAS (even with SP1).Â  Maybe I&#8217;ll try again on the next new laptop.Â  Oh, and Sony?Â  Thank you for my XP downgrade CD and drivers.Â  Lovely.</p>
]]></content:encoded>
			<wfw:commentRss>http://durdle.com/archives/2008/08/29/disable-notification-area-balloon-tips-in-windows-xp/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Sony Vaio Z Series</title>
		<link>http://durdle.com/archives/2008/07/18/sony-vaio-z-series/</link>
		<comments>http://durdle.com/archives/2008/07/18/sony-vaio-z-series/#comments</comments>
		<pubDate>Fri, 18 Jul 2008 07:07:14 +0000</pubDate>
		<dc:creator>Howard</dc:creator>
				<category><![CDATA[Hardware]]></category>
		<category><![CDATA[laptop]]></category>
		<category><![CDATA[portable]]></category>
		<category><![CDATA[sony]]></category>
		<category><![CDATA[ssd]]></category>
		<category><![CDATA[vaio]]></category>

		<guid isPermaLink="false">http://blog.durdle.com/?p=333</guid>
		<description><![CDATA[I&#8217;m lusting after the new Sony Vaio Z Series which doesn&#8217;t come out in the US until mid-August, and I&#8217;ve no idea when it comes out in the UK.Â  Annoyingly, while the US site allows you to configure your system from scratch &#8211; including putting in dual solid state drives &#8211; Sony UK limit us...]]></description>
			<content:encoded><![CDATA[<p><a href="/wp-content/uploads/vaio-z_close-up.jpg" rel="lightbox[333]"><img class="alignleft size-thumbnail wp-image-380" style="margin: 2px;" title="Sony Vaio Z close-up" src="/wp-content/uploads/vaio-z_close-up-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>I&#8217;m lusting after the new Sony Vaio <a href="http://www.sonystyle.com/webapp/wcs/stores/servlet/CategoryDisplay?catalogId=10551&amp;storeId=10151&amp;langId=-1&amp;categoryId=8198552921644570897">Z Series</a> which doesn&#8217;t come out in the US until mid-August, and I&#8217;ve no idea when it comes out in the UK.Â  Annoyingly, while the US site allows you to <a href="http://www.sonystyle.com/webapp/wcs/stores/servlet/SYCTOProcess?catalogId=10551&amp;storeId=10151&amp;langId=-1&amp;LBomId=8198552921665468413">configure your system</a> from scratch &#8211; including putting in dual solid state drives &#8211; Sony UK limit us to choosing from <a href="http://vaio.sony.co.uk/view/ShowProductCategory.action?site=voe_en_GB_cons&amp;category=VN+Z+Series">three prescribed models</a>, none of which contain quite the match of processor and storage I&#8217;m looking for.<span id="more-333"></span></p>
<p>I know that in the US store the model I&#8217;ve specced will cost in the region of $3600 &#8211; about 1800 quid at the moment &#8211; which doesn&#8217;t seem unreasonable for a machine with such an array of features:</p>
<ul>
<li>IntelÂ® Coreâ„¢ 2 Duo Processor P9500 (2.53GHz)</li>
<li>4 GB DDR3-SDRAM (DDR3-1066, 2GBx2)</li>
<li>64 GB Solid State Drive</li>
<li>DVDÂ±R DL / DVDÂ±RW / DVD-RAM Drive</li>
<li>LCD 13.1&#8243; (XBRITE-DuraView) 1600&#215;900</li>
<li>Combined Intel integrated graphics plus NVidia for (low demand) games</li>
<li>Wireless LAN (802.11a/b/g/n) with integrated BluetoothÂ® technology</li>
<li>Integrated Wireless Wide Area Network (that&#8217;s 7.2Mbps 3G)</li>
<li>Gigabit Ethernet, Biometric Fingerprint Sensor</li>
</ul>
<p>There&#8217;s no telling what the actual UK price will be for the device closest to my desired spec, the <a href="http://vaio.sony.co.uk/view/ShowProduct.action?product=VGN-Z11VN%2FB&amp;site=voe_en_GB_cons&amp;category=VN+Z+Series">VGN-Z11VN/B</a>, which differs only by the replacement of the SSD with a 5400rpm 320GB drive.Â  Given the amount of storage I have at home, I&#8217;d rather have the benefit of no moving parts and the (possibly <a href="http://www.tomshardware.com/reviews/ssd-hdd-battery,1955.html">unverified</a>) reduction in heat and power consumption than such large amounts of portable storage.Â  Also the UK site is listing DDR2 memory rather than DDR3, I hope that&#8217;s a typo and not indicative of some cost cutting exercise.</p>
<p>Unfortunately it&#8217;s not possible to spec the SSD and a BluRay drive at the same time, so I&#8217;ll settle for a dual layer DVD writer instead.Â  Assuming that is, I can get hold of an SSD configured machine in the UK.Â  I may have to import one, which raises ugly warranty issues I&#8217;d rather avoid.Â  That said, another advantage to buying an American specced machine is that they give you the option to remove all the usual cruft that Sony install on their laptops &#8211; all the free trials and demos of software you&#8217;ll never actually use.Â  They call this service &#8220;<a href="http://gizmodo.com/370901/sony-shamed-into-making-fresh-start-free">Fresh Start</a>&#8221; and it seems that the UK division have yet to be hit with that particular clue-bat, as they list this little lot under installed software:</p>
<ul>
<li>Windows Media Player 11</li>
<li>WinDVD 8.0 for VAIO</li>
<li>Adobe Photoshop Elements 6</li>
<li>Google Picasa</li>
<li>Easy Media Creator 9</li>
<li>AdobeÂ® ReaderÂ® 8.1</li>
<li>Adobe Standard 8</li>
<li>MicrosoftÂ® Office Ready 2007 (60 days Try &amp; Buy)</li>
<li>McAfee Internet Security Suite (with 60 days free virus updates)</li>
<li>VAIO Recovery Utility &#8211; HDD recovery (hidden partition)</li>
<li>Protector Suite QL 5</li>
</ul>
<p>Granted, I&#8217;d be installed Acrobat Reader and Writer myself, but the rest of it?Â  Pfft.Â  I&#8217;ll bring my own full copy of Office 2007 thank you.Â  And the day I let a McAfee Internet &#8220;Security&#8221; Suite anywhere near my system is the day I stop caring about usable computers.Â  Oh yes, and the &#8220;VAIO Recovery Utility&#8221;?Â  That sounds like a way to use up my disc space while saving Sony the cost and bother of shipping me optical media with my Operating System on it.Â  Grrr. :@</p>
<p>Speaking of the OS, I may have to play the <a href="http://www.infoworld.com/article/08/01/28/04NF-save-xp-license_1.html">downgradable licence game</a> and see if they&#8217;re going to support XP on the device, rather than Vista.Â  Time for a call to Sony to find out what&#8217;s going to happen come August&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://durdle.com/archives/2008/07/18/sony-vaio-z-series/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ZX Spectrum nostalgia</title>
		<link>http://durdle.com/archives/2008/07/15/zx-spectrum-nostalgia/</link>
		<comments>http://durdle.com/archives/2008/07/15/zx-spectrum-nostalgia/#comments</comments>
		<pubDate>Tue, 15 Jul 2008 06:14:39 +0000</pubDate>
		<dc:creator>Howard</dc:creator>
				<category><![CDATA[Games]]></category>
		<category><![CDATA[Hardware]]></category>
		<category><![CDATA[TV]]></category>

		<guid isPermaLink="false">http://blog.durdle.com/?p=314</guid>
		<description><![CDATA[I can&#8217;t remember when I first played with a ZX Spectrum.Â  I know I must have come to the party relatively late since I was only 4 when it was released, unlike Chris who was old enough to have one at launch.Â  This weekend he rescued one from his mum&#8217;s rubbish bin, complete in the...]]></description>
			<content:encoded><![CDATA[<p><a href="http://farm4.static.flickr.com/3003/2665151578_8f7d690ba8.jpg" rel="lightbox[314]"><img class="alignleft" style="margin: 2px; float: left;" src="http://farm4.static.flickr.com/3003/2665151578_8f7d690ba8_t.jpg" alt="ZX Spectrum" /></a>I can&#8217;t remember when I first played with a <a href="http://en.wikipedia.org/wiki/ZX_Spectrum">ZX Spectrum</a>.Â  I know I must have come to the party relatively late since I was only 4 when it was released, unlike Chris who was old enough to have one at launch.Â  This weekend he rescued one from his mum&#8217;s rubbish bin, complete in the polystyrene box it originally came in and with mint condition manuals.Â  It even has the guarantee certificate, an unopened demo cassette and the 1982 Edition of the Sinclair Software Catalogue!<span id="more-314"></span></p>
<p><a href="http://farm3.static.flickr.com/2004/2664327439_b53ef12c98.jpg" rel="lightbox[314]"><img class="alignleft" style="margin: 2px; float: left;" src="http://farm3.static.flickr.com/2004/2664327439_b53ef12c98_t.jpg" alt="" width="100" height="75" /></a>So I spent a happy few hours this Sunday cleaning the dust off the various parts and then hooking it up to the TV in the living room.Â  I gained a sense of perverse satisfaction from seeing a computer from 1982 hooked up via an RF lead to a 40&#8243; 1080p LCD panel.Â  Of course every appears in black and white since it was only a quirk of CRT display technology that allow the Spectrum to have a colour display.</p>
<p>After trying out a few commands, and typing the <a href="http://farm4.static.flickr.com/3194/2664325563_ec8c3958f8.jpg" rel="lightbox[314]">obligatory &#8220;Hello World!&#8221; program</a>, it was time to try and load something from &#8220;tape&#8221;.Â  Problem number one: I have no Spectrum software on tape.Â  Problem number two: even if I did have tapes, I don&#8217;t have a tape deck with which to play them.Â  The first problem is easily solved by downloading virtual tapes, these TZX files are backups of the original Spectrum data.Â  I downloaded a few 16K games from <a href="http://www.worldofspectrum.org">World of Spectrum</a>.Â  Then I used the <a href="http://membres.lycos.fr/wintzx/">winTZX tool</a> to convert these files into .wav files.Â  Yes that&#8217;s right &#8211; audio files of that godawful screeching noise you thought you&#8217;d never have to hear again.</p>
<p><a href="http://farm4.static.flickr.com/3288/2664328187_19a4611b63.jpg" rel="lightbox[314]"><img class="alignright" style="margin: 2px; float: right;" src="http://farm4.static.flickr.com/3288/2664328187_19a4611b63_t.jpg" alt="" width="100" height="75" /></a>For some reason the soundcard in my MacBook Pro was too noisy, or not loud enough, or too loud or something, but playing the audio via WinAmp resulting in the Spectrum not quite reading the data from the &#8220;tape&#8221;.Â  So I gave the Spectrum some solid state storage: a first generation iPod Nano!Â  I copied the .wav to the Nano, typed <strong>LOAD &#8220;&#8221;</strong> and pressed play on the iPod.Â  Boom!Â  Or should I say &#8220;screech&#8221; as the Spectrum loading screen burst into life.Â  A couple of minutes later (did it really take that long to load 16K!?) and I&#8217;m looking at the load screen for <a href="http://en.wikipedia.org/wiki/Escape_(computer_game)">Escape</a> which, it must be said, doesn&#8217;t seem nearly as &#8220;original and absorbing&#8221; as it used to!</p>
<p>So that was my nostalgic Sunday.Â  It&#8217;s reminded me of the rest of my early console collection, and that I need to get hold of some of the other 8 and 16 bit machines from my early computing days&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://durdle.com/archives/2008/07/15/zx-spectrum-nostalgia/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

