<?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>Roo&#039;s View &#187; How To</title>
	<atom:link href="http://lowtek.ca/roo/category/how-to/feed/" rel="self" type="application/rss+xml" />
	<link>http://lowtek.ca/roo</link>
	<description>A clever tagline should go here</description>
	<lastBuildDate>Thu, 02 Feb 2012 02:33:29 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Ubuntu Apache2 &#8220;trusted&#8221; SSL Certificate from StartSSL</title>
		<link>http://lowtek.ca/roo/2012/ubuntu-apache2-trusted-ssl-certificate-from-startssl/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=ubuntu-apache2-trusted-ssl-certificate-from-startssl</link>
		<comments>http://lowtek.ca/roo/2012/ubuntu-apache2-trusted-ssl-certificate-from-startssl/#comments</comments>
		<pubDate>Thu, 12 Jan 2012 04:09:19 +0000</pubDate>
		<dc:creator>Roo</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[How To]]></category>

		<guid isPermaLink="false">http://lowtek.ca/roo/?p=1049</guid>
		<description><![CDATA[I own the domain lowtek.ca and host a couple of personal projects as well as this blog on it. One of the areas is behind a password and that part of the site I redirect over to https to ensure that the communication is encrypted. While the whole Certificate Authority infrastructure has currently become questioned, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://lowtek.ca/roo/wp-content/uploads/2012/01/https_lowtek.png"><img class="aligncenter size-full wp-image-1050" title="https_lowtek" src="http://lowtek.ca/roo/wp-content/uploads/2012/01/https_lowtek.png" alt="" width="500" height="81" /></a></p>
<p>I own the domain <a href="https://lowtek.ca">lowtek.ca</a> and host a couple of personal projects as well as this blog on it. One of the areas is behind a password and that part of the site I redirect over to <a href="http://en.wikipedia.org/wiki/Https">https</a> to ensure that the communication is encrypted. While the whole Certificate Authority infrastructure has currently become questioned, the value of having a <a href="http://en.wikipedia.org/wiki/Secure_Sockets_Layer">SSL</a> connection between your browser and (hopefully) a specific destination machine still has value. I found a humorous <a href="http://www.youtube.com/watch?v=SJJmoDZ3il8">youtube video</a> that describes SSL basics if this is new to you.</p>
<p>If you were watching the tech news, you&#8217;ll have seen several of the CA&#8217;s had <a href="http://tech.slashdot.org/story/11/10/28/1954201/four-cas-have-been-compromised-since-june">security breaches</a>. Even <a href="http://en.wikipedia.org/wiki/StartCom">StartSSL</a> which this post will talk about using had <a href="http://www.eweek.com/c/a/Security/Another-Certificate-Authority-Compromised-No-Fake-SSL-Certificates-Issued-107625/">some</a> <a href="http://www.theregister.co.uk/2011/06/21/startssl_security_breach/">issues</a>, but it seems that <a href="https://github.com/diaspora/diaspora/issues/2099">it wasn&#8217;t as bad</a> as the others. There has even been some <a href="http://www.phreedom.org/research/rogue-ca/">research into how to attack / break SSL</a> entirely. The web is a scary place if you think too much about this stuff. Today SSL is the most convenient web security story there is, and for the most part it works well enough.</p>
<p>For most people hosting personal websites the simple path is to use a<a href="http://en.wikipedia.org/wiki/Self-signed_certificate"> self signed certificate</a>.  The one downside to this is that whatever browser you are using will not recognize the certificate as valid, you&#8217;ll either be prompted to download and remember it &#8211; or just trust it for this one session. The manner in which browsers trust commercial web sites https connections is the certificates are issued by one of the root CA&#8217;s (<a href="http://en.wikipedia.org/wiki/Certificate_authority">Certificate Authority</a>). The CA is a trusted 3rd party which the browser can check with to validate the certificate the website is offering up.</p>
<p>Ubuntu has some guides on <a href="https://help.ubuntu.com/11.10/serverguide/C/certificates-and-security.html">creating certificates</a>. What I&#8217;ll try to do here is provide a specific example of using StartSSL to generate a free certificate that is accepted by most web browsers. <a href="http://jasoncodes.com/posts/startssl-free-ssl">Much of the details come from another blog</a> that I referenced when creating my <a href="http://en.wikipedia.org/wiki/StartCom">StartSSL</a> certificate.</p>
<p>You&#8217;ll probably want to use <a href="http://en.wikipedia.org/wiki/Firefox">FireFox</a>. The web interface at <a href="http://www.startssl.com/">StartSSL.com</a> can be a bit finicky and FireFox is known to work &#8211; I used the somewhat old 3.6.25 version. Of course the first step is to sign-up and create an account on StartSSL. They use email confirmation and my <a href="http://lowtek.ca/roo/2011/greylisting-with-postfix-and-ubuntu/">greylisting</a> caused a bit of a hiccup here, waiting a few minutes and resubmitting the sign-up succeeded just fine. Then there will be a wizard that takes you through the rest of the sign-up process.</p>
<p>At the end of your account sign up you&#8217;ll be encouraged to back up the client certificate that has been installed into your browser. As I understand it, they use the client certificate as a form of authentication that it is really you they are connected to. The FAQ has details on <a href="https://www.startssl.com/?app=25#4">backing up the client certificate</a>. If for some reason you lose your client certificate they have a <a href="https://www.startssl.com/?app=25#14">FAQ for that too</a>.</p>
<p>Next we want to return to the &#8220;<a href="https://www.startssl.com/?app=11&amp;action=true">Control Panel</a>&#8221; and use the &#8220;Validations Wizard&#8221; to do the &#8220;Domain Name Validation&#8221;. This will require another email validation to ensure that you are the owner of the domain (you&#8217;ll need to be able to receive email for that domain).</p>
<p>Now we can actually create a certificate. There are pay options for certificates, but we want to use the free version. Use the &#8220;Certificates Wizard&#8221; to create a &#8220;Web Server SSL/TLS Certificate&#8221;. Again I&#8217;ll reference the <a href="http://jasoncodes.com/posts/startssl-free-ssl">very useful blog post from jasoncodes.com</a> that describes this set of steps (I will replicate here for completeness).</p>
<p>The first step of creating a certificate we can skip, as we plan to create our own Certificate Signing Request (<a href="http://en.wikipedia.org/wiki/Certificate_signing_request">CSR</a>) locally. Execute the follwoing on your server, obviously replacing mydomain.ca with your domain name:</p>
<p><code>openssl req -new -newkey rsa:4096 -days 380 -nodes -keyout mydomain.ca.key -out mydomain.ca.csr<br />
</code><br />
There will be several questions posed to you during this, here is a dump of the questions and some example answers:</p>
<p><code>Country Name (2 letter code) [AU]:CA<br />
State or Province Name (full name) [Some-State]:YourStateOrProvince<br />
Locality Name (eg, city) []:YourCity<br />
Organization Name (eg, company) [Internet Widgits Pty Ltd]:SomeName<br />
Organizational Unit Name (eg, section) []:<br />
Common Name (eg, YOUR name) []:mydomain.ca<br />
Email Address []:secret_email@mydomain.ca</code></p>
<p><code>Please enter the following 'extra' attributes<br />
to be sent with your certificate request<br />
A challenge password []:<br />
An optional company name []:</code></p>
<p>Some of the answers can be blank as should be evident above. If you&#8217;re having trouble with the 2 letter country codes, <a href="http://en.wikipedia.org/wiki/ISO_3166-1_alpha-2">check on wikipedia</a>. I did find a reference that suggested that the c<a href="http://www-uxsup.csx.cam.ac.uk/~jw35/courses/using_https/html/x280.htm">ommon name must exactly match the host name of your server</a>, you might note that I&#8217;m not using a www prefix here. This will allow me to re-use this same certificate for email and other things in theory, it also follows the <a href="http://lowtek.ca/roo/2011/no-www/">no-www</a> approach. I opted to <a href="http://www.mail-archive.com/openssl-users@openssl.org/msg35862.html">leave the challenge password blank</a>.</p>
<p>The second step of the wizard on StartSSL for creating a certificate will ask for a cut &amp; paste of the <code>mydomain.ca.csr</code> we just created. Paste the entire contents of the file in, and move on to the next step where you should see that the request was received.</p>
<p>Moving along the next step is to &#8220;Add Domains&#8221;, since we&#8217;ve only validated one domain this should be easy. As part of this process it will ask for one sub domain. I used &#8220;www&#8221; since that will still resolve correctly to the lowtek.ca domain.</p>
<p>The remainder of the steps should be straight forward, you&#8217;ll arrive at the &#8220;Save Certificate&#8221; screen. You&#8217;ll want to save three things: 1) Text box contents as mydomain.ca.crt, then save-as the 2) intermediate and 3) root CA certificates (last two should be sub.class1.server.ca.pem and ca.pem respectively).</p>
<p>Now we need to install into Apache2. I&#8217;ll assume you&#8217;re running Ubuntu.</p>
<p>We&#8217;ll start by copying the <code>.crt</code> and <code>.pem</code> files we saved from the final step on StartSSL into the <code>/etc/apache2/ssl</code> directory. We also want the <code>.key</code> file that was created when we made our CSR copied to the same directory.</p>
<p>Again I must credit <a href="http://jasoncodes.com/posts/startssl-free-ssl">jasoncodes.com</a>, this is almost verbatim from his site. Run the following as root.</p>
<p><code>cd /etc/apache2/ssl<br />
mv ca.pem startssl.ca.crt<br />
mv sub.class1.server.ca.pem startssl.sub.class1.server.ca.crt<br />
cat startssl.sub.class1.server.ca.crt startssl.ca.crt &gt; startssl.chain.class1.server.crt<br />
cat mydomain.ca.{key,crt} startssl.chain.class1.server.crt &gt; mydomain.ca.pem<br />
ln -sf mydomain.ca.pem apache.pem<br />
chown root:root *.crt *.key *.pem<br />
chmod 640 *.key *.pem<br />
</code><br />
Now we need to modify the apache config file /etc/apache2/sites-available/ssl and add the following within the &lt;VirtualHost&gt; block:</p>
<p><code>SSLEngine On<br />
SSLCertificateFile /etc/apache2/ssl/mydomain.ca.crt<br />
SSLCertificateKeyFile /etc/apache2/ssl/mydomain.ca.key<br />
SSLCertificateChainFile /etc/apache2/ssl/startssl.chain.class1.server.crt</code></p>
<p>Check that your Apache config parses as valid:</p>
<p><code>apache2ctl -t</code></p>
<p>And then restart Apache with the new config:</p>
<p><code>sudo /etc/init.d/apache2 reload</code></p>
<p>Here is the the verification process verbatim from <a href="http://jasoncodes.com/posts/startssl-free-ssl">jasoncodes.com</a>:</p>
<blockquote><p>Run the following after restarting Apache to check the certificate chain:</p>
<p><code>echo HEAD / | openssl s_client -connect localhost:443 -quiet &gt; /dev/null</code></p>
<p>You should see something like:</p>
<p><code>depth=2 /C=IL/O=StartCom Ltd./OU=Secure Digital Certificate Signing/CN=StartCom Certification Authority<br />
verify error:num=19:self signed certificate in certificate chain<br />
verify return:0</code></p>
<p>A depth of 2 and a return value of 0 is good. If the certificate chain is wrong, you&#8217;ll probably see something like:</p>
<p><code>depth=0 /description=12345-ABCDEF123456/C=XX/O=Persona Not Validated/OU=StartCom Free Certificate Member/CN=host.example.com/emailAddress=hostmaster@example.com<br />
verify error:num=20:unable to get local issuer certificate<br />
verify return:1<br />
depth=0 /description=12345-ABCDEF123456/C=XX/O=Persona Not Validated/OU=StartCom Free Certificate Member/CN=host.example.com/emailAddress=hostmaster@example.com<br />
verify error:num=27:certificate not trusted<br />
verify return:1<br />
depth=0 /description=12345-ABCDEF123456/C=XX/O=Persona Not Validated/OU=StartCom Free Certificate Member/CN=host.example.com/emailAddress=hostmaster@example.com<br />
verify error:num=21:unable to verify the first certificate<br />
verify return:1</code></p></blockquote>
<p>I was pleased to see that it all verified correctly for me. Visiting <a href="https://lowtek.ca">https://lowtek.ca</a> resulted in a green lock icon under <a href="http://en.wikipedia.org/wiki/Google_Chrome">Google Chrome</a>.</p>
<p>The StartSSL certificate expires in 1 year, so next year around this time I&#8217;ll be doing the same process. There is another CA (<a href="http://www.affirmtrust.com/">AffirmTrust</a>) I came across that offers free 3 year certificates, I have no experience with them but would be interested to hear if anyone tries them out. There is <a href="http://www.cacert.org">CACert</a> as well, but it doesn&#8217;t appear to be included in any of the browsers &#8211; limiting the usefulness of a certificate from them.</p>
]]></content:encoded>
			<wfw:commentRss>http://lowtek.ca/roo/2012/ubuntu-apache2-trusted-ssl-certificate-from-startssl/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unlocking Samsung Galaxy S Vibrant (Bell)</title>
		<link>http://lowtek.ca/roo/2011/unlocking-samsung-i9000m/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=unlocking-samsung-i9000m</link>
		<comments>http://lowtek.ca/roo/2011/unlocking-samsung-i9000m/#comments</comments>
		<pubDate>Thu, 08 Dec 2011 02:08:00 +0000</pubDate>
		<dc:creator>Roo</dc:creator>
				<category><![CDATA[Android]]></category>
		<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[How To]]></category>

		<guid isPermaLink="false">http://www.lowtek.ca/roo/?p=1021</guid>
		<description><![CDATA[I&#8217;ve been a big fan of unlocked GSM phones since my first one back in 2009. I&#8217;ve also been through a surprising number of different phone since then, but all of them have been 2nd (or 3rd) hand and have been a good price for a phone that still has lots of use left in [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.lowtek.ca/roo/wp-content/uploads/2011/12/IMG_2425.jpg"><img class="aligncenter size-full wp-image-1023" title="IMG_2425" src="http://www.lowtek.ca/roo/wp-content/uploads/2011/12/IMG_2425.jpg" alt="" width="500" height="283" /></a></p>
<p>I&#8217;ve been a big fan of <a href="http://en.wikipedia.org/wiki/SIM_lock#Unlocking_technology">unlocked</a> GSM phones since my first one back in 2009. I&#8217;ve also been through a surprising number of different phone since then, but all of them have been 2nd (or 3rd) hand and have been a good price for a phone that still has lots of use left in it. My latest phone the <a href="http://en.wikipedia.org/wiki/Samsung_Galaxy_S">Samsung Galaxy S Vibrant (i9000m)</a> is no different, but it came to me locked to <a href="http://en.wikipedia.org/wiki/Bell_Mobility">Bell</a>.</p>
<p>I purchased the i9000m knowing it could be easily unlocked if you had the right magic. With the stock firmware, if you don&#8217;t have the phone unlocked you&#8217;ll see what&#8217;s pictured at the top of this post when you install a SIM card.</p>
<p>It turns out the forums have a great <a href="http://forum.xda-developers.com/showthread.php?t=761045">how to guide</a>, with pointers to an app on the <a href="https://market.android.com/">Android Market</a> if you&#8217;re afraid of a little bit of hex editing. It should go without saying that I selected the hex editing route. I&#8217;ll describe the steps I used here, but  <a href="http://forum.xda-developers.com/showthread.php?t=761045">all credit to the folks in the forums for figuring this out</a>.</p>
<p>I will assume that you&#8217;ve <a href="http://wiki.cyanogenmod.com/wiki/Overview_of_Modding#Root">rooted</a> your i9000m and you&#8217;re not incapable of using a <a href="http://en.wikipedia.org/wiki/Hex_editor">hex editor</a>.</p>
<p><strong>Step 1</strong>: We&#8217;re going to copy some <a href="http://en.wikipedia.org/wiki/Non-volatile_memory">non-volatile</a> memory off the phone that contains the &#8216;lock&#8217;. Perform the following commands on the phone (probably via <a href="http://wiki.cyanogenmod.com/wiki/ADB">ADB</a>).</p>
<p><code>$ su<br />
# cat /efs/nv_data.bin &gt;&gt; /sdcard/nv_data.bin<br />
</code></p>
<p>Now copy that file onto your PC for editing. Make a backup of the original before step 2.</p>
<p><strong>Step 2</strong>: Edit that file, I used <a href="http://packages.ubuntu.com/search?keywords=hexedit">hexedit on Ubuntu</a>. The lock bit is inside of the byte at <code>0x181469</code> in the file. See the green circle below, change that <code>01</code> into a <code>00</code> and save the file.</p>
<p><a href="http://www.lowtek.ca/roo/wp-content/uploads/2011/12/Screenshot-Hacking-SGS-unlock.png"><img class="aligncenter size-full wp-image-1022" title="Screenshot Hacking SGS-unlock" src="http://www.lowtek.ca/roo/wp-content/uploads/2011/12/Screenshot-Hacking-SGS-unlock.png" alt="" width="639" height="139" /></a></p>
<p>Starting at offset <code>0x181468</code> you should see the series of digits: <code>ff 01 00 00 00 00 46 46</code></p>
<p>The XDA post describes it as follows:</p>
<blockquote><p>There are 5 different types of locks in 5 different bytes</p>
<p>the FF byte should be left alone<br />
the first byte after the FF is the network lock<br />
the next byte is the network subset lock<br />
the next byte is the sp lock<br />
the next byte is the cp lock<br />
the last byte appears to be a data lock.<br />
the 46 46 should be left alone</p></blockquote>
<p><strong>Step 3</strong>: Use the modified file to update your phone. Let&#8217;s assume you copied the modified file to /sdcard/nv_data.bin on the phone, and again the commands below are executed on the phone.</p>
<p><code>$ su<br />
# rm /efs/nv_data.bin<br />
# rm /efs/nv_data.bin.md5<br />
# cat /sdcard/nv_data.bin &gt;&gt; /efs/nv_data.bin<br />
# chmod 755 /efs/nv_data.bin<br />
# chown radio.radio /efs/nv_data.bin || chown 1001.1001 /efs/nv_data.bin<br />
# reboot<br />
</code></p>
<p>That&#8217;s it, you&#8217;re unlocked. The unlock should persist across ROM (firmware) changes.</p>
<p>References: <a href="http://forum.xda-developers.com/wiki/index.php?title=Samsung_Galaxy_S_Series">a great article</a> with pointers to valuable information on the i9000 series.</p>
]]></content:encoded>
			<wfw:commentRss>http://lowtek.ca/roo/2011/unlocking-samsung-i9000m/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>How To: Migrate from Raid1 to Raid5</title>
		<link>http://lowtek.ca/roo/2011/how-to-migrate-from-raid1-to-raid5/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=how-to-migrate-from-raid1-to-raid5</link>
		<comments>http://lowtek.ca/roo/2011/how-to-migrate-from-raid1-to-raid5/#comments</comments>
		<pubDate>Thu, 10 Nov 2011 00:35:36 +0000</pubDate>
		<dc:creator>Roo</dc:creator>
				<category><![CDATA[Computing]]></category>
		<category><![CDATA[How To]]></category>

		<guid isPermaLink="false">http://www.lowtek.ca/roo/?p=986</guid>
		<description><![CDATA[Recently I discovered that the iPhoto data was actually stuffed under a deleted user that existed as part of the Mac migration process, this meant it wasn&#8217;t being seen by my rsnapshot backup of the active user directory. Fixing the location of the iPhoto library was relatively easy to do, but having an extra 130GB [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.lowtek.ca/roo/wp-content/uploads/2011/11/IMG_2415.jpg"><img class="aligncenter size-full wp-image-987" title="IMG_2415" src="http://www.lowtek.ca/roo/wp-content/uploads/2011/11/IMG_2415.jpg" alt="" width="500" height="313" /></a>Recently I discovered that the iPhoto data was actually stuffed under a deleted user that existed as part of the Mac migration process, this meant it wasn&#8217;t being seen by my rsnapshot backup of the active user directory. Fixing the location of the iPhoto library was relatively easy to do, but having an extra 130GB of data to back up immediately ran me into storage problems.</p>
<p>I had <a href="http://www.lowtek.ca/roo/2010/mirrored-drives-with-ubuntu/">setup a RAID1 system</a> using two 1TB volumes, I had decided to split the 1TB mirrored volume into 300Gb/700Gb so I could limit the space used by backups to 300Gb. In hindsight this was a silly idea, and it also made the migration process more complicated. If I had placed the 300Gb volume second, it might have been feasible to move that data somewhere then expand the 700Gb volume to fill the remainder of the drive &#8211; but I had put the 300Gb volume first. One day someone will write the utility to allow you to shift the start of a volume to the left (towards the start of a drive).</p>
<p>Instead of sticking with a <a href="http://en.wikipedia.org/wiki/RAID">RAID</a>1 setup, I decided to move to RAID5. While there is a little less redundancy with RAID5, the additional flexibility seems like a good trade off to me at this point. I&#8217;ll avoid getting into the religious debate over <a href="http://www.techrepublic.com/blog/datacenter/choose-a-raid-level-that-works-for-you/3237">which type of RAID</a> you should use, or <a href="http://www.zdnet.com/blog/storage/why-raid-5-stops-working-in-2009/162">if RAID makes sense at all with large sized drives</a>. Also there are some good off the shelf solutions now such as <a href="http://www.drobo.com/">Drobo</a> or <a href="http://www.qnap.com/USEng/">QNAP</a>.</p>
<p>With a project like this it is a good idea to make a plan in advance, then log your steps as you go along. Migration of 100&#8242;s of Gb of data will take time, lots of time. I did the work over about 5 days, some of it while on a trip outside the country (remote access!). Here was my plan:</p>
<ol>
<li>install new drive &#8211; ensure system is happy</li>
<li>break mirrored set &#8211; run in degraded mode</li>
<li>repartition new drive &amp; unused mirrored drive</li>
<li>create degraded raid 5 (2 drives only)</li>
<li>copy data from degraded mirror onto degraded raid5</li>
<li>decommission degraded mirror &amp; repartition</li>
<li>add volume to raid5 set</li>
</ol>
<p>I also was careful to check that the new volume had the same capacity as the other two having been <a href="http://www.lowtek.ca/roo/2010/how-to-resize-a-mirrored-volume/">bit by that in the past</a>. (I used <code>fdisk -l /dev/sde</code> to get the stats of the drive)(...)<br/>Read the rest of <a href="http://lowtek.ca/roo/2011/how-to-migrate-from-raid1-to-raid5/">How To: Migrate from Raid1 to Raid5</a> (535 words)</p>
]]></content:encoded>
			<wfw:commentRss>http://lowtek.ca/roo/2011/how-to-migrate-from-raid1-to-raid5/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>BlackBerry Bold 9700: JVM Error 102</title>
		<link>http://lowtek.ca/roo/2011/blackberry-bold-9700-jvm-error-102/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=blackberry-bold-9700-jvm-error-102</link>
		<comments>http://lowtek.ca/roo/2011/blackberry-bold-9700-jvm-error-102/#comments</comments>
		<pubDate>Thu, 27 Oct 2011 00:35:38 +0000</pubDate>
		<dc:creator>Roo</dc:creator>
				<category><![CDATA[Gadgets]]></category>
		<category><![CDATA[How To]]></category>

		<guid isPermaLink="false">http://www.lowtek.ca/roo/?p=967</guid>
		<description><![CDATA[My brother in-law&#8217;s BlackBerry 9700 suffered a new problem this time JVM Error 102. A quick google search turns up more 600,000 results &#8211; so this is I assume a pretty common problem. In his case it seems entirely random &#8211; he had it plugged in to charge and when he went to unplug it, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.lowtek.ca/roo/wp-content/uploads/2011/10/bb_desktop.jpg"><img class="aligncenter size-full wp-image-968" title="bb_desktop" src="http://www.lowtek.ca/roo/wp-content/uploads/2011/10/bb_desktop.jpg" alt="" width="500" height="375" /></a></p>
<p>My brother in-law&#8217;s <a href="http://en.wikipedia.org/wiki/Blackberry_9700#BlackBerry_Bold_9700">BlackBerry 9700</a> suffered a new problem this time JVM Error 102. A quick google search turns up more 600,000 results &#8211; so this is I assume a pretty common problem. In his case it seems entirely random &#8211; he had it plugged in to charge and when he went to unplug it, it was stuck on an all white screen with JVM Error 102 with one choice: reboot. It seemed the device was stuck in a reboot cycle, always hitting the same error.</p>
<p>I followed the <a href="http://www.bbgeeks.com/quick-tips/what-to-do-if-you-encounter-jvm-error-102-884604/">instructions on this page</a>, but I&#8217;ll also repeat them here to cover exactly what I did. Sadly this requires a Windows machine (I used XP).</p>
<p>If you don&#8217;t already have the <a href="http://ca.blackberry.com/apps-software/desktop/desktop_pc.jsp">BlackBerry Desktop Software</a> installed and running, you&#8217;ll need that. If you&#8217;ve never had the BlackBerry connected to your Windows machine, it may also need to install some USB drivers, my Windows XP was able to figure out what was needed automatically. Hopefully you&#8217;ll be in a state as shown in the picture at the top of this post, able to see the device but not able to do anything.</p>
<p>Now you need the <a href="http://www.blackberryfreaks.com/downloads/JL_cmder/JL_Cmder%20v1.9%20installer.zip">JL_cmder utility</a>. The <a href="http://www.blackberryfreaks.com/JL_Cmder.html">utility is just a script</a> driving the <a href="http://www.enduserguides.com/mobile/blackberry/eug_bbjavaloader.html">JavaLoader program</a>. With the BlackBerry Desktop Software running, also run this script. If you are having trouble with this part, I&#8217;d advise you to stop trying to solve this yourself and get some help. You&#8217;ll need to be comfortable with command line programs to succeed.</p>
<p>If you see some output like the following when using JL_cmder:</p>
<p><code>RIM Wireless Handheld Java Loader<br />
Copyright 2001-2007 Research In Motion Limited<br />
Connecting to device...debug: HRESULT error dur<br />
ing Open: 80040154<br />
Error: unable to open port</code></p>
<p>Then you&#8217;ve probably failed as I had to install the BlackBerry Desktop Software, or it isn&#8217;t running, or you&#8217;ve got a driver problem, or maybe there is a more serious problem with your BlackBerry. Once I had installed and was running the BlackBerry Desktop Software this problem went away for me.</p>
<p>Now you want to grab the eventlog. This will open a notepad with the contents of your log. In my case there had been many failed boots, so the error was repeated many times. Here is the last complete entry:</p>
<p><code>guid:0x97C9F5F641D25E5F time: Wed Dec 31 19:00:00 1969 severity:0 type:2 app:System data:System Startup<br />
guid:0x97C9F5F641D25E5F time: Wed Dec 31 19:00:00 1969 severity:0 type:2 app:System data:VM:FSNHv=1<br />
guid:0x97C9F5F641D25E5F time: Wed Dec 31 19:00:00 1969 severity:0 type:2 app:System data:VM:CVER=5.0.0.351<br />
guid:0x97C9F5F641D25E5F time: Wed Dec 31 19:00:00 1969 severity:0 type:2 app:System data:VM:PSIDv=266951<br />
guid:0x97C9F5F641D25E5F time: Wed Dec 31 19:00:00 1969 severity:0 type:2 app:System data:CMM: verifyHash failed for <strong>net_rim_device_apps_games_wordmole_graphics_480x360-6</strong>(3437)<br />
guid:0x97C9F5F641D25E5F time: Wed Dec 31 19:00:00 1969 severity:0 type:2 app:System data:VM:+BORK<br />
guid:0x97C9F5F641D25E5F time: Wed Dec 31 19:00:00 1969 severity:0 type:2 app:System data:JVM Error 102<br />
guid:0x97C9F5F641D25E5F time: Wed Dec 31 19:00:00 1969 severity:0 type:2 app:System data:Invalid code in filesystem<br />
guid:0x97C9F5F641D25E5F time: Wed Dec 31 19:00:00 1969 severity:0 type:2 app:System data:JVM:INFOp=21e0b6b1,a='5.0.0.351',o='5.1.0.98',h=4001507</code></p>
<p>You can see there is a verifyHash failure in the log, I&#8217;ve marked the file name of the offending file in bold (your log won&#8217;t have the bold marking in it &#8211; that&#8217;s your job, to identify the problematic file). So there isn&#8217;t any good reason this file was corrupted and not another, but luckily it is clearly a non-critical file. I was amused by the appearance of the <a href="http://en.wikipedia.org/wiki/Unix_time">Unix epoc</a> in the log file.</p>
<p>Now that we know what the problem is, we&#8217;ll just remove the file. I&#8217;ll stress that the filename is going to be unique to your problem. Reading the error log is a critical step. Using a command shell we&#8217;ll execute the following:</p>
<p><code>JavaLoader.exe -u erase -f net_rim_device_apps_games_wordmole_graphics_480x360-6<br />
</code></p>
<p>Doing this caused the device to reboot. If it doesn&#8217;t reboot on it&#8217;s own, you might need to manually reboot/reset the device. That&#8217;s it you&#8217;re done &#8211; you should have a working BlackBerry at this point.</p>
<p>Follow up steps &#8211; you should synchronize with the desktop software to back up your device. It may be wise to push a firmware upgrade to the device, even the same version you had (assuming you were fully up to date) &#8211; this will replace all other files which may have been corrupted. I didn&#8217;t do this, but I&#8217;d hope the desktop software makes this a straight-forward process.</p>
]]></content:encoded>
			<wfw:commentRss>http://lowtek.ca/roo/2011/blackberry-bold-9700-jvm-error-102/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OTA HDTV in Ottawa</title>
		<link>http://lowtek.ca/roo/2011/diy-hdtv-antenn/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=diy-hdtv-antenn</link>
		<comments>http://lowtek.ca/roo/2011/diy-hdtv-antenn/#comments</comments>
		<pubDate>Thu, 28 Jul 2011 02:43:58 +0000</pubDate>
		<dc:creator>Roo</dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[How To]]></category>

		<guid isPermaLink="false">http://www.lowtek.ca/roo/?p=871</guid>
		<description><![CDATA[&#160; I&#8217;m always a little amazed at how much people pay monthly for TV service. We ran for years with no TV at all, and all the money we &#8220;saved&#8221; I easily spent on DVDs (and more I&#8217;m sure). Several year ago we decided that some amount of TV wasn&#8217;t a bad thing, it also [...]]]></description>
			<content:encoded><![CDATA[<p>&nbsp;</p>
<p><a href="http://www.lowtek.ca/roo/wp-content/uploads/2011/07/IMG_1976-1.jpg"><img class="aligncenter size-full wp-image-874" title="IMG_1976-1" src="http://www.lowtek.ca/roo/wp-content/uploads/2011/07/IMG_1976-1.jpg" alt="" width="499" height="630" /></a>I&#8217;m always a little amazed at how much people pay monthly for TV service. We ran for years with no TV at all, and all the money we &#8220;saved&#8221; I easily spent on DVDs (and more I&#8217;m sure). Several year ago we decided that some amount of TV wasn&#8217;t a bad thing, it also gave me a great excuse to build a PVR based on <a href="http://www.mythtv.org/">MythTV</a>. After shopping around <a href="http://en.wikipedia.org/wiki/Starchoice">StarChoice</a> (now <a href="http://www.shawdirect.ca/">ShawDirect</a>) seemed like the right fit. The basic package was cost effective and gave us enough TV. I liked the fact that we got HDTV in the base package, and that meant high definition hockey games and special events like the Olympics.</p>
<p>ShawDirect has a great policy (<a href="http://www.shawdirect.ca/english/TermsofService_2011_e.pdf">pdf</a>) that lets you schedule seasonal breaks in service. I&#8217;ve been using one of those to try out using over the air (OTA) TV as our only source. We haven&#8217;t really noticed the lack of TV, even through the <a href="http://en.wikipedia.org/wiki/Stanley_Cup">Stanley Cup</a> finals (but <a href="http://senators.nhl.com/">our team</a> wasn&#8217;t in it).</p>
<p>To move to OTA I needed two things: 1) a PC capture device for HDTV and 2) a set top box to convert the signal for use with my projector. The PC side of things came along as a deal from <a href="http://www.dell.ca/">Dell</a> &#8211; the <a href="http://www.linuxtv.org/wiki/index.php/Hauppauge_WinTV-HVR-950Q">Hauppauge WinTV HVR-950Q</a> was on sale one day ($54.99). This came along with a tiny little antenna which surprisingly pulled several stations. The projector has no HDTV tuner (unlike most HDTV flat panel sets) and so it was off to <a href="http://www.ebay.ca/">eBay</a> to get a set top box. This was the first time I had used the &#8220;<a href="http://pages.ebay.ca/bestoffer/buyer/index.html">Make an Offer</a>&#8221; option on eBay and I was quite pleased with the price we negotiated. The <a href="http://cgi.ebay.com/ws/eBayISAPI.dll?ViewItem&amp;item=130476536503">tv tuner</a> is known by several different brands: <a href="http://www.avsforum.com/avs-vb/showthread.php?t=1136626">Centronics ZAT 502 HD / RTC DTA1100HD / Digiwave DTV5000HD</a>.</p>
<p>On the 2nd floor of the house I could easily pull in <a href="http://www.cbc.ca/">CBC</a> to watch hockey using the dinky little antenna that came with the 950Q. To route the signal to the projector I needed to get a little creative and pull some <a href="http://en.wikipedia.org/wiki/RG-6">RG6</a> from the attic to the basement, the MythTV box is also downstairs. In many situations almost anything will work as an antenna, and the simple bow-tie version I built with mostly stuff I had around already is pretty close to that.</p>
<p>My build was inspired by a <a href="http://www.azega.com/diy-hdtv-tv-antenna-bowtie/">write up I found using simple materials</a>, the <a href="http://www.digitalhome.ca/ota/superantenna/index.htm">antenna I built is a Gray-Hoverman</a>. I used a scrap of 1&#215;3, some 14 gauge (2 conductor #14) electrical wire, some screws and fender washers. The only part I needed was a <a href="http://www.thesource.ca/estore/product.aspx?language=en-CA&amp;catalog=Online&amp;category=Video_Adapters&amp;product=1501140">matching transformer</a>. You can see the end result in the picture at the top of this post.</p>
<p>I have this antenna <a href="http://www.tvantenna.com/support/tutorials/atticantennas.html">attic mounted</a>, with 100ft of cable between it and the tv tuner. It works well, pulling in 5 HDTV stations all with little to no drop outs. I&#8217;d like to try to get PBS HD, but that may require a bigger antenna or an amplifier (a project for later).</p>
<p>(...)<br/>Read the rest of <a href="http://lowtek.ca/roo/2011/diy-hdtv-antenn/">OTA HDTV in Ottawa</a> (95 words)</p>
]]></content:encoded>
			<wfw:commentRss>http://lowtek.ca/roo/2011/diy-hdtv-antenn/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>HP Color Laser Printer (CP1518NI) Refill</title>
		<link>http://lowtek.ca/roo/2011/hp-color-laser-printer-cp1518ni-refill/?utm_source=rss&#038;utm_medium=rss&#038;utm_campaign=hp-color-laser-printer-cp1518ni-refill</link>
		<comments>http://lowtek.ca/roo/2011/hp-color-laser-printer-cp1518ni-refill/#comments</comments>
		<pubDate>Thu, 21 Jul 2011 01:22:10 +0000</pubDate>
		<dc:creator>Roo</dc:creator>
				<category><![CDATA[DIY]]></category>
		<category><![CDATA[How To]]></category>

		<guid isPermaLink="false">http://www.lowtek.ca/roo/?p=851</guid>
		<description><![CDATA[We print at home fairly infrequently, this meant that our inkjet printer ink cartridges were often gummed up or not working right when we did want to print. Moving to a laser printer was a good move, and the Samsung ML-2010 served us well, and was relatively easy to refill. The ability to refill the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.lowtek.ca/roo/wp-content/uploads/2011/07/IMG_1748.jpg"><img class="aligncenter size-full wp-image-852" title="IMG_1748" src="http://www.lowtek.ca/roo/wp-content/uploads/2011/07/IMG_1748.jpg" alt="" width="500" height="409" /></a>We print at home fairly infrequently, this meant that our inkjet printer ink cartridges were often gummed up or not working right when we did want to print. Moving to a laser printer was a good move, and the Samsung ML-2010 served us well, and was relatively <a href="http://www.lowtek.ca/roo/2008/samsung-ml-2010-toner-refill/">easy to refill</a>. The ability to refill the toner was one of my pre-requisites for a color laser printer &#8211; enter the <a href="http://www.lowtek.ca/roo/2009/hp-colour-laser-printer-cp1518ni-review/">HP CP1518ni</a>, a reasonable cost but refill friendly printer.</p>
<p>It took about a year to drain the toner down to the level where it needed a refill. So it was off to eBay to look for a deal. In 2009, refill kits were available and were about $100 for all four colors. By 2011 the price had dropped to $50 for all four colors, including reset chips and the cutting tool. I bought mine from <a href="http://myworld.ebay.ca/easycartridgerefill/">easycartridgerefill</a> and had a good buying experience. At the top of this post is a picture of everything that was shipped in the box: toner, cutting tool, instructions, funnel tips, sealing tape, gloves, microfiber cloth, and reset chips.</p>
<p><a href="http://www.lowtek.ca/roo/wp-content/uploads/2011/07/IMG_1750.jpg"><img class="aligncenter size-full wp-image-854" title="IMG_1750" src="http://www.lowtek.ca/roo/wp-content/uploads/2011/07/IMG_1750.jpg" alt="" width="500" height="264" /></a><strong>Step 1</strong> &#8211; <a href="http://en.wikipedia.org/wiki/RTFM">RTFM</a>. The instructions are 2 pages of fairly detailed instructions. Having refilled toner before I just skimmed them, that was a mistake. The photo above you can see I&#8217;ve used the hole cutting tool on the wrong part of the cartridge.</p>
<p><strong>Step 2</strong> &#8211; We need to use the hole cutting tool to make a hole in the correct part of the cartridge (see below). For your first refill you only need one hole, the instructions cover a 2nd area to make a hole if you need to empty the &#8216;wastebin&#8217; &#8211; as this was the 1st time I was doing a refill I skipped that part having already made enough extra holes.</p>
<p><a href="http://www.lowtek.ca/roo/wp-content/uploads/2011/07/IMG_1751.jpg"><img class="aligncenter size-full wp-image-853" title="IMG_1751" src="http://www.lowtek.ca/roo/wp-content/uploads/2011/07/IMG_1751.jpg" alt="" width="500" height="285" /></a><strong>Step 3</strong> &#8211; Empty the toner cartridge prior to refilling. The instructions warn that mixing old toner with new is likely to result in less optimal results.</p>
<p><strong>Step 4</strong> &#8211; <a href="http://www.lowtek.ca/roo/wp-content/uploads/2011/07/IMG_1753.jpg"><img class="alignright size-full wp-image-856" title="IMG_1753" src="http://www.lowtek.ca/roo/wp-content/uploads/2011/07/IMG_1753.jpg" alt="" width="81" height="180" /></a>Fill using the new toner. If you look at the picture of the yellow toner bottle, you can see quite clearly that it is no where near close to full. This picture was taken before I used any toner, the bottles are quite over-sized. You may need to gently swirl the bottle around to loosen the toner prior to trying to pour it. Use the entire bottle, this may take some effort and patience.</p>
<p><strong>Step 5</strong> &#8211; Seal the hole with the provided tape. The tape provided was simply metallic duct work tape that you can get at HomeDepot. Toner is a very, very fine dust &#8211; it will leak out any tiny hole or gap.</p>
<p><strong>Step 6</strong> &#8211; Now we need to swap the tiny chip that provides status on the cartridge to the printer. Sadly, this chip also prevents the printer from continuing to use a toner cartridge after you&#8217;ve passed the estimated number of pages. The original chip is pictured on the left, and the refill (reset) chip on the right. The chip swap is very easy.</p>
<p style="text-align: center;"><a href="http://www.lowtek.ca/roo/wp-content/uploads/2011/07/IMG_1755.jpg"><img class="size-full wp-image-862 aligncenter" title="IMG_1755" src="http://www.lowtek.ca/roo/wp-content/uploads/2011/07/IMG_1755.jpg" alt="" width="500" height="174" /></a></p>
<p>That&#8217;s it, we&#8217;re done &#8211; install your newly filled cartridge and start printing.</p>
<p><a href="http://www.lowtek.ca/roo/wp-content/uploads/2011/07/CP1518ni.png"><img class="aligncenter size-full wp-image-865" title="CP1518ni" src="http://www.lowtek.ca/roo/wp-content/uploads/2011/07/CP1518ni.png" alt="" width="500" height="335" /></a></p>
<p>A quick visit to the web-ui shows a full yellow cartridge with 1400 page capacity.</p>
<p>There are some folk who apparently run the toner down to nothing by buying new reset chips only and swapping those until they are low on toner. This could save you a little money in the long run &#8211; but at $50 for a full refill kit it is hard to argue that you need to be that frugal. Sadly, the reset chips are not reusable.</p>
<p>I had a few mishaps on the way to complete success..</p>
<p>(...)<br/>Read the rest of <a href="http://lowtek.ca/roo/2011/hp-color-laser-printer-cp1518ni-refill/">HP Color Laser Printer (CP1518NI) Refill</a> (351 words)</p>
]]></content:encoded>
			<wfw:commentRss>http://lowtek.ca/roo/2011/hp-color-laser-printer-cp1518ni-refill/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

