<?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>blog . sebastian martens &#187; Selfnote</title>
	<atom:link href="http://blog.sebastian-martens.de/category/selfnote/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.sebastian-martens.de</link>
	<description></description>
	<lastBuildDate>Fri, 03 Feb 2012 15:55:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
		<item>
		<title>QNAP &#8220;Drive plugged out&#8221; Seagate ST32000542AS</title>
		<link>http://blog.sebastian-martens.de/2012/02/qnap-drive-plugged-out-seagate-st32000542as/</link>
		<comments>http://blog.sebastian-martens.de/2012/02/qnap-drive-plugged-out-seagate-st32000542as/#comments</comments>
		<pubDate>Fri, 03 Feb 2012 15:55:21 +0000</pubDate>
		<dc:creator>Sebastian.Martens</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Selfnote]]></category>

		<guid isPermaLink="false">http://blog.sebastian-martens.de/?p=876</guid>
		<description><![CDATA[I bought me a new NAS server QNAP TS-412. It has room for four hot swap ready HDDs. I inserted 3 Seagate ST32000542AS 2TB drives from the QNAP compatibility list, combined to one RAID5 volume. This was ran very smooth the first days. Great and easy setup, network performance is ok and including various features [...]]]></description>
			<content:encoded><![CDATA[<p>I bought me a new NAS server QNAP TS-412. It has room for four hot swap ready HDDs. I inserted 3 Seagate ST32000542AS 2TB drives from the QNAP compatibility list, combined to one RAID5 volume. This was ran very smooth the first days. Great and easy setup, network performance is ok and including various features by default.</p>
<p>After three days i got waken up by a very loud beeping of the NAS. The front was blinking in red and the smart phone was vibrating by getting the error mails send by the NAS server.</p>
<p>The system log said <em>Drive 2 plugged out.</em> ( which i didn&#8217;t do ). The Volumemanager marked the drive with &#8220;Read/Write Error&#8221;. The RAID was &#8220;in degraded&#8221; mode. After pulling the drive from slot 2 and insert into slot 4 the Volumemanger said &#8220;Ready&#8221;. After reinserting the drive into slot 2 it was marked as &#8220;Read/Write Error&#8221; again.<span id="more-876"></span></p>
<p>After running a full block scan on the drive in slot 2 ( which took about 5 hours ), it was &#8220;Ready&#8221; again and the RAID5 was renbuilding itself (which took another 10 hours).</p>
<p>The same thing happened again three days later and some days later again. </p>
<p>Currently the system is running stable after updating the firmware of the Seagate HDDs from CC34 to CC35.</p>
<p>I plugged the HDDs into another PC and upgraded the firmware from a bootable upgrade cd. The standard firmware update tool will not correctly recognize the HDDs firmware to upgrade them. You have to force the update:</p>
<ul>
<li>Download the bootable cd image: <a  href="http://seagate.custkb.com/seagate/crm/selfservice/search.jsp?DocId=213915">http://seagate.custkb.com/seagate/crm/selfservice/search.jsp?DocId=213915</a></li>
<li>Burn the image to a CD</li>
<li>Plug the drive to any native SATA controller ( this will not work with an external USB drive ). Make sure that the controller is in IDE/ATA mode and not in RAID or AHCI mode. To be sure please unplug all other drives and make a backup of your data before. I had not data loss after the upgrade, but just to be sure &#8230;</li>
<li>Boot from the CD</li>
<li>Press &#8220;Esc&#8221; to skip over the disclaimer</li>
<li>Press &#8220;ctrl&#8221; + &#8220;c&#8221; within the option menu and confirm by pressing &#8220;y&#8221;. You will enter the command line mode.</li>
<li>Enter the following line to start the forced upgrade:<br /><em>FDL486A.exe -m Hepburn -f HECC358H.LOD -s -x -b -v -a 20</em></li>
<li>The update will begin and prompt if ready. Restart your maschine and check if the new firmware was installed correct.</li>
</ul>
<p>I hope this will help you.</p>
<p>cheers.<br />
Sebastian</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sebastian-martens.de/2012/02/qnap-drive-plugged-out-seagate-st32000542as/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Submit Outlook Calendar Invitations with PHP</title>
		<link>http://blog.sebastian-martens.de/2012/01/submit-outlook-calendar-invitations-with-php/</link>
		<comments>http://blog.sebastian-martens.de/2012/01/submit-outlook-calendar-invitations-with-php/#comments</comments>
		<pubDate>Tue, 17 Jan 2012 22:55:34 +0000</pubDate>
		<dc:creator>Sebastian.Martens</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Selfnote]]></category>
		<category><![CDATA[Event]]></category>
		<category><![CDATA[iCal]]></category>
		<category><![CDATA[ics]]></category>
		<category><![CDATA[Outlook]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.sebastian-martens.de/?p=814</guid>
		<description><![CDATA[I need to submit an Outlook Calendar event with attached .ics-file from my PHP application. After i searched for several hours i found a very hugh number of ways which are not working at the same time for the iPhone (using .ics), Thunderbird (using Lightning plugin) and for (Exchange-) Outlook. Also this are so few [...]]]></description>
			<content:encoded><![CDATA[<p>I need to submit an Outlook Calendar event with attached .ics-file from my PHP application. After i searched for several hours i found a very hugh number of ways which are not working at the same time for the iPhone (using .ics), Thunderbird (using Lightning plugin) and for (Exchange-) Outlook. Also this are so few lines of code.</p>
<p>For everybody with the same problem ( and for myself for the next application ), here is the outcoming method (not too well documented but by playing with the parameters you&#8217;ll get it very fast):<br />
<span id="more-814"></span></p>

<div class="wp_syntax"><div class="code"><pre class="php" style="font-family:monospace;"><span style="color: #009933; font-style: italic;">/**
 * sends an iCal event mail
 * @param Timestamp $tsStart - timestart of the start time
 * @param Timestamp $tsEnd - timestamp of end date
 * @param String $location - location of event
 * @param String $summary - event summary
 * @param String $to - list of email recipients
 * @param String $subject - email subject
 */</span>
<span style="color: #000000; font-weight: bold;">private</span> <span style="color: #000000; font-weight: bold;">function</span> sendCalEntry<span style="color: #009900;">&#40;</span> <span style="color: #000088;">$tsStart</span><span style="color: #339933;">,</span> <span style="color: #000088;">$tsEnd</span><span style="color: #339933;">,</span> <span style="color: #000088;">$location</span><span style="color: #339933;">,</span> <span style="color: #000088;">$summary</span><span style="color: #339933;">,</span> <span style="color: #000088;">$title</span><span style="color: #339933;">,</span> <span style="color: #000088;">$resources</span><span style="color: #339933;">,</span> <span style="color: #000088;">$to</span><span style="color: #339933;">,</span> <span style="color: #000088;">$subject</span> <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
&nbsp;
	<span style="color: #000088;">$from</span> <span style="color: #339933;">=</span> ORGANISATIONREPLYMAIL<span style="color: #339933;">;</span>
	<span style="color: #000088;">$dtstart</span> <span style="color: #339933;">=</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Ymd'</span><span style="color: #339933;">,</span><span style="color: #000088;">$tsStart</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'T'</span><span style="color: #339933;">.</span><span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'His'</span><span style="color: #339933;">,</span><span style="color: #000088;">$tsStart</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$dtend</span> <span style="color: #339933;">=</span> <span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Ymd'</span><span style="color: #339933;">,</span><span style="color: #000088;">$tsEnd</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'T'</span><span style="color: #339933;">.</span><span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'His'</span><span style="color: #339933;">,</span><span style="color: #000088;">$tsEnd</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$loc</span> <span style="color: #339933;">=</span> <span style="color: #000088;">$location</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$vcal</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;BEGIN:VCALENDAR<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$vcal</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;VERSION:2.0<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$vcal</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;PRODID:-//nonstatics.com//OrgCalendarWebTool//EN<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$vcal</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;METHOD:REQUEST<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$vcal</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;BEGIN:VEVENT<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$vcal</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;ORGANIZER;CN=<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #339933;">.</span>ORGANISATIONNAME<span style="color: #339933;">.</span><span style="color: #0000ff;">&quot; (&quot;</span><span style="color: #339933;">.</span><span style="color: #000088;">$_SESSION</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'username'</span><span style="color: #009900;">&#93;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;)&quot;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\&quot;</span>:mailto:&quot;</span><span style="color: #339933;">.</span>ORGANISATIONREPLYMAIL<span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$vcal</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;UID:&quot;</span><span style="color: #339933;">.</span><span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Ymd'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'T'</span><span style="color: #339933;">.</span><span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'His'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;-&quot;</span><span style="color: #339933;">.</span><span style="color: #990000;">rand</span><span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;-nonstatics.com<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$vcal</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;DTSTAMP:&quot;</span><span style="color: #339933;">.</span><span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'Ymd'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">'T'</span><span style="color: #339933;">.</span><span style="color: #990000;">date</span><span style="color: #009900;">&#40;</span><span style="color: #0000ff;">'His'</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">.</span><span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$vcal</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;DTSTART:<span style="color: #006699; font-weight: bold;">$dtstart</span><span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$vcal</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;DTEND:<span style="color: #006699; font-weight: bold;">$dtend</span><span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span> 
	<span style="color: #000088;">$vcal</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;LOCATION:<span style="color: #006699; font-weight: bold;">$location</span><span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$vcal</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;SUMMARY:<span style="color: #006699; font-weight: bold;">$summary</span><span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$vcal</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;DESCRIPTION:Hinweis/Fahrer:<span style="color: #006699; font-weight: bold;">$summary</span> - Folgende Resourcen wurden gebucht: <span style="color: #006699; font-weight: bold;">$resources</span> <span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$vcal</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;BEGIN:VALARM<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$vcal</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;TRIGGER:-PT15M<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$vcal</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;ACTION:DISPLAY<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$vcal</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;DESCRIPTION:Reminder<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$vcal</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;END:VALARM<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$vcal</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;END:VEVENT<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$vcal</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;END:VCALENDAR<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>&quot;</span><span style="color: #339933;">;</span>
&nbsp;
	<span style="color: #000088;">$headers</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">&quot;From: <span style="color: #006699; font-weight: bold;">$from</span><span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>Reply-To: <span style="color: #006699; font-weight: bold;">$from</span>&quot;</span><span style="color: #339933;">;</span> 
	<span style="color: #000088;">$headers</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>MIME-version: 1.0<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>Content-Type: text/calendar; name=calendar.ics; method=REQUEST; charset=<span style="color: #000099; font-weight: bold;">\&quot;</span>iso-8859-1<span style="color: #000099; font-weight: bold;">\&quot;</span>&quot;</span><span style="color: #339933;">;</span>
	<span style="color: #000088;">$headers</span> <span style="color: #339933;">.=</span> <span style="color: #0000ff;">&quot;<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>Content-Transfer-Encoding: 7bit<span style="color: #000099; font-weight: bold;">\r</span><span style="color: #000099; font-weight: bold;">\n</span>X-Mailer: Microsoft Office Outlook 12.0&quot;</span><span style="color: #339933;">;</span> 
&nbsp;
	<span style="color: #b1b100;">return</span> <span style="color: #339933;">@</span><span style="color: #990000;">mail</span><span style="color: #009900;">&#40;</span><span style="color: #000088;">$to</span><span style="color: #339933;">,</span> <span style="color: #000088;">$subject</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot; &quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$summary</span> <span style="color: #339933;">.</span> <span style="color: #0000ff;">&quot; / &quot;</span> <span style="color: #339933;">.</span> <span style="color: #000088;">$resources</span><span style="color: #339933;">,</span> <span style="color: #000088;">$vcal</span><span style="color: #339933;">,</span> <span style="color: #000088;">$headers</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>cheers.<br />
Sebastian</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sebastian-martens.de/2012/01/submit-outlook-calendar-invitations-with-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to create a mirror software RAID with two partitions with OSX</title>
		<link>http://blog.sebastian-martens.de/2011/07/how-to-create-a-mirror-software-raid-with-two-partitions-with-osx/</link>
		<comments>http://blog.sebastian-martens.de/2011/07/how-to-create-a-mirror-software-raid-with-two-partitions-with-osx/#comments</comments>
		<pubDate>Sun, 31 Jul 2011 20:01:35 +0000</pubDate>
		<dc:creator>Sebastian.Martens</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Selfnote]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[OSX]]></category>
		<category><![CDATA[RAID]]></category>

		<guid isPermaLink="false">http://blog.sebastian-martens.de/?p=691</guid>
		<description><![CDATA[With the OS X Disk Utility it is very easy to manage your different hard disks. It also allows you to create a software RAID in the modes 0 ( striping ) and 1 ( mirroring ). In most cases you don&#8217;t want the complete hard drive to be part of the RAID but want [...]]]></description>
			<content:encoded><![CDATA[<p>With the OS X Disk Utility it is very easy to manage your different hard disks. It also allows you to create a software RAID in the modes 0 ( striping ) and 1 ( mirroring ).</p>
<p>In most cases you don&#8217;t want the complete hard drive to be part of the RAID but want to seperate the disk into multiple partitions. To create those multiple partitions each in a RAID you could use the following steps.</p>
<p><a  href="http://blog.sebastian-martens.de/wp-content/uploads/2011/07/disk_utility_osx_001.jpg" class="thickbox no_icon" rel="gallery-691" title="Disk Utility"><img class="alignleft size-full wp-image-697" title="Disk Utility" src="http://blog.sebastian-martens.de/wp-content/uploads/2011/07/disk_utility_osx_001.jpg" alt="" width="455" height="348" /></a></p>
<p><span id="more-691"></span>In case you have two new (physical) hard drives and want to create two partitions where each of those partitions is mirrored onto the other drive, do the following steps:</p>
<ol>
<li>Create all partitions on each of the hard drives. So two partitions on the first hard drive and two partitions of the same size on the second drive.</li>
<li>Mark the first partition on the first drive and press the RAID button to start the creation of the first RAID. Drap and Drop both partitions into the RAID list in the middle. Give it a name, select the RAID type and the filesystem format.</li>
<li>After the creation of the first RAID is complete, unmount the new RAID disk in the Disk Utility. The used disk partitions should now be grey and should not allow further actions. When i didn&#8217;t unmount the RAID disk i still got an POSIX error &#8211; Disk still in use.</li>
<li>Do the same steps for the second RAID combination. After the second RAID is completed mount the first RAID system again.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://blog.sebastian-martens.de/2011/07/how-to-create-a-mirror-software-raid-with-two-partitions-with-osx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>User Mouse Tracking / Website Research</title>
		<link>http://blog.sebastian-martens.de/2010/07/user-mouse-tracking-website-research/</link>
		<comments>http://blog.sebastian-martens.de/2010/07/user-mouse-tracking-website-research/#comments</comments>
		<pubDate>Sun, 11 Jul 2010 11:08:24 +0000</pubDate>
		<dc:creator>Sebastian.Martens</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Selfnote]]></category>
		<category><![CDATA[Click Test]]></category>
		<category><![CDATA[Mousetracking]]></category>
		<category><![CDATA[useability test]]></category>
		<category><![CDATA[user tests]]></category>
		<category><![CDATA[Usertracking]]></category>
		<category><![CDATA[Website Analytics]]></category>
		<category><![CDATA[website research]]></category>
		<category><![CDATA[websitetest]]></category>

		<guid isPermaLink="false">http://blog.sebastian-martens.de/?p=478</guid>
		<description><![CDATA[If you use website statistic tools &#8211; and thats something i guess everybody is interested in &#8211; you got well numbers about how many users visit your website and exactly which page of your website. You will also know from which other website the came and which key words they used within Google to get [...]]]></description>
			<content:encoded><![CDATA[<p><a  href="http://blog.sebastian-martens.de/wp-content/uploads/2010/07/mouse-move-tracker.jpg" class="thickbox no_icon" rel="gallery-478" title=""><img src="http://blog.sebastian-martens.de/wp-content/uploads/2010/07/mouse-move-tracker-150x150.jpg" alt="" title="mouse-move-tracker" width="150" height="150" class="alignnone size-thumbnail wp-image-479" /></a></p>
<p>If you use website statistic tools &#8211; and thats something i guess everybody is interested in &#8211; you got well numbers about how many users visit your website and exactly which page of your website. You will also know from which other website the came and which key words they used within Google to get to your page. Each of this are very important facts for exmaple for SEO aspects, etc. For example Google Analytics is of course a great free tool for this ( include the old discussion how many more should Google know about you and your website ).<span id="more-478"></span></p>
<p>What i also want to know is where do the users navigate best on my website. What are the best places to put links, so the users will find AND click them ( no &#8211; i don&#8217;t plan to put any adds on my website &#8211; just interested ). Google Analytics has an overlay mode. But this will highlight the existing links. So it will show up which links works best. This comes close, but not perfect.</p>
<p>There are some enterprise tools which do such kind of overlay mode with the users mouse movements. But they are too expensive for me. I guess there will be also some free tools available out there, but programming is also fun :)</p>
<p>So i wrote my little tool which will save the users mouse postion each X milliseconds. If the users leavs the current page, it will make one AJAX request and save all mouse coordinates within one file ( currently not in a database, beacuse writing to filesystem is a bit faster ). When you would like to display the users mouse activity just add <strong>#overlay</strong> at the end of the current URL. It will sum up all saved mouse movements and create a grid overlay over your website. By default the grid elements are 10&#215;10 px large. Each grid field get a color by its relative mouse overs. The more often users moved their mouse over these coords the more red the field will be ( see screenshot for example ).</p>
<p>Of couse this is no perfect solution. But because most users move the mouse the same way they also look over the screen this is a very easy way to track such behaviour.</p>
<h5>How to implement:</h5>
<p>It&#8217;S very easy to use. Just extract the ZIP below onto your webserver and put a little piece of JavaScript into your HTML code:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript" style="font-family:monospace;"><span style="color: #339933;">&lt;</span>script type<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;text/javascript&quot;</span> language<span style="color: #339933;">=</span><span style="color: #3366CC;">&quot;javascript&quot;</span><span style="color: #339933;">&gt;</span>
	<span style="color: #003366; font-weight: bold;">var</span> mouseMoveTracker <span style="color: #339933;">=</span> <span style="color: #003366; font-weight: bold;">new</span> MouseMoveTracker<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#123;</span>
			<span style="color: #3366CC;">'rootNodeId'</span><span style="color: #339933;">:</span><span style="color: #3366CC;">'contentNode'</span><span style="color: #339933;">,</span>
			<span style="color: #3366CC;">'actionURI'</span><span style="color: #339933;">:</span><span style="color: #3366CC;">'../server/'</span><span style="color: #339933;">,</span>
			<span style="color: #3366CC;">'actionURIOverlay'</span><span style="color: #339933;">:</span><span style="color: #3366CC;">'../server/result/'</span>
		<span style="color: #009900;">&#125;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #339933;">&lt;/</span>script<span style="color: #339933;">&gt;</span></pre></div></div>

<p>The <strong>MouseMoveTracker</strong> class has three major parameters:</p>
<p><em>rootNodeId</em>: The html root node of the tracked section. Because the script id coordinate based it works best with a fixed size layout. Therefor you should enter the Id of the node which has a fixed width and sourrounds all content.</p>
<p><em>actionURI</em>: This is the path to the serverside writing script. To this adress the AJAX requests for writing the user coords will be send.</p>
<p><em>actionURIOverlay</em>: This is the url the script expects to get data from for creating the overlay mode. It will request data via AJAX from this URL after you enter #overlay at the end of the URL and refresh your page.</p>
<p>Feel free to use, modify the code and/or comment here.</p>
<p><a  href="http://blog.sebastian-martens.de/wp-content/uploads/2010/07/mouse-move-tracker.zip">Download mouse-move-tracker.zip (45kB) includes test html file</a></p>
<p>cheers,<br />
Sebastian</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sebastian-martens.de/2010/07/user-mouse-tracking-website-research/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Connect OpenOffice with MAMP/XAMPP MySQL on OS X</title>
		<link>http://blog.sebastian-martens.de/2010/01/connect-openoffice-with-mampxampp-mysql-on-os-x/</link>
		<comments>http://blog.sebastian-martens.de/2010/01/connect-openoffice-with-mampxampp-mysql-on-os-x/#comments</comments>
		<pubDate>Sun, 24 Jan 2010 23:30:08 +0000</pubDate>
		<dc:creator>Sebastian.Martens</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Selfnote]]></category>
		<category><![CDATA[MAMP]]></category>
		<category><![CDATA[MySQL]]></category>
		<category><![CDATA[ODBC]]></category>
		<category><![CDATA[OpenOffice]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[XAMPP]]></category>

		<guid isPermaLink="false">http://blog.sebastian-martens.de/?p=351</guid>
		<description><![CDATA[Just to have a note for myself, here are some steps you need to know to connect your MySQL Database with OpenOffice e.g. for creating form letters. You need to create a ODBC connection. First step is to install the latest ODBC drivers. For MySQL you will get them diretly from MySQL: http://dev.mysql.com/downloads/connector/odbc/. Just download [...]]]></description>
			<content:encoded><![CDATA[<p>Just to have a note for myself, here are some steps you need to know to connect your MySQL Database with OpenOffice e.g. for creating form letters.</p>
<p>You need to create a ODBC connection. First step is to install the latest ODBC drivers. For MySQL you will get them diretly from MySQL: <a  href="http://dev.mysql.com/downloads/connector/odbc/">http://dev.mysql.com/downloads/connector/odbc/</a>. Just download and click through the installer. If you used the XAMPP or MAMP packages the MySQL socket will not be installed in the <em>/tmp</em> directory. But this is required for most ODBC drivers.<span id="more-351"></span></p>
<p>Please check your <i>/tmp</i> directory first. If there is not mysql.sock the aasiest way is to create a link between them. So switch to Terminal and create the link:</p>
<p><code>sudo ln -s /Applications/MAMP/tmp/mysql/mysql.sock /tmp/mysql.sock</code></p>
<p>Otherwise you will get an error like &#8221; <em>Can&#8217;t connect to local MySQL server through socket &#8216;/tmp/mysql.sock&#8217; (2) </em>&#8220;.</p>
<p>Last thing to do for a ODBC connection is to configure your new connection. Therefor you could use the <a  href="http://support.apple.com/downloads/ODBC_Administrator_Tool_for_Mac_OS_X">ODBC Administrator</a> from Apple. Also just download and click through the installer. You will get the new application in your System > Utilitys folder.</p>
<p>Under <em>System DNS</em> you should already find your MySQL connector. Mark the entry and configure it. It&#8217;s very important to enter the username and the MySQL table.</p>
<p>Now you could create a new database file with OpenOffice ( you should share it through OpenOffice to have easy access from other OO applications ). Just choose &#8220;Create connection to existing Database&#8221; and select MySQL via ODBC.</p>
<p>In some cases you might get problems with the standard ODBC connection. In this case there is a special MySQL-plugin for OpenOffice, which allows you diretly to connect to the database. You could download this <a  href="http://extensions.services.openoffice.org/project/mysql_connector">MySQL connection plugin here</a>. There is also a small <a  href="http://wiki.services.openoffice.org/wiki/Database/Drivers/MySQL_Native/1.0">How To direct from OpenOffice</a>.</p>
<p>cheers,<br />
Sebastian</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.sebastian-martens.de/2010/01/connect-openoffice-with-mampxampp-mysql-on-os-x/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

