<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>ClearChain</title>
	
	<link>http://www.clearchain.com/blog</link>
	<description>-= Daily Happenings =-</description>
	<lastBuildDate>Sun, 24 Mar 2013 23:55:06 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/Clearchain" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="clearchain" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Ben’s guide to making your site show up in Google</title>
		<link>http://www.clearchain.com/blog/posts/bens-guide-to-making-your-site-show-up-in-google</link>
		<comments>http://www.clearchain.com/blog/posts/bens-guide-to-making-your-site-show-up-in-google#comments</comments>
		<pubDate>Mon, 30 Apr 2012 03:54:24 +0000</pubDate>
		<dc:creator>Benjamin Close</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Money]]></category>
		<category><![CDATA[keywords]]></category>
		<category><![CDATA[rank in google]]></category>
		<category><![CDATA[search engine optimisation google]]></category>
		<category><![CDATA[SEO]]></category>
		<category><![CDATA[tops]]></category>
		<category><![CDATA[website optimisation]]></category>

		<guid isPermaLink="false">http://www.clearchain.com/blog/?p=1076</guid>
		<description><![CDATA[<a href="http://www.clearchain.com/blog/posts/bens-guide-to-making-your-site-show-up-in-google"><img align="left" hspace="5" width="150" src="http://www.clearchain.com/blog/images//2012/04/money-tree-150x150.jpg" class="alignleft wp-post-image tfe" alt="SEO Money Tree" title="money-tree" /></a>This article gives an overview of how you could increase your search ranking in Google. First a little background.. A while back I visited a Nursery that grew Advanced Trees in South Australia, after talking to the owner for a little while we got on the topic of website and how he was trying to<a href="http://www.clearchain.com/blog/posts/bens-guide-to-making-your-site-show-up-in-google"> <font size=-2>[..more..]</font></a>]]></description>
				<content:encoded><![CDATA[<p><strong>This article gives an overview of how you could increase your search ranking in Google.</strong></p>
<p><div id="attachment_1094" class="wp-caption alignleft" style="width: 160px"><a href="http://www.clearchain.com/blog/images//2012/04/money-tree.jpg"><img class="size-thumbnail wp-image-1094" title="money-tree" src="http://www.clearchain.com/blog/images//2012/04/money-tree-150x150.jpg" alt="SEO Money Tree" width="150" height="150" /></a><p class="wp-caption-text">A Money Tree From http://moneytree1000.yolasite.com/resources/money-tree.jpg</p></div>
<p>First a little background.. A while back I visited a Nursery that grew Advanced Trees in South Australia, after talking to the owner for a little while we got on the topic of website and how he was trying to increase his website exposure. I mentioned to him that I&#8217;d send him some tips. Below is those same tips. Now, before you go reading them, please note I don&#8217;t claim to be some Search Engine Optimization guru, but just another person with a blog. Many of the tips below are what have worked for me.</p>
<p>The tips relate to the website: <a href="http://www.engeltrees.com.au/">http://www.engeltrees.com.au</a> the nursery specialising in Advanced trees, in Australia. At the time of writing many of these tips had not been applied to that website. They may have since updated their website.</p>
<p><strong>Prefix:</strong></p>
<p style="padding-left: 30px;"><em> Hi Paul,  I&#8217;ve only now found time to have a good look at your website and see what could be improved to help you achieve a better rank in Google.</em></p>
<p style="padding-left: 30px;"><em>You might want to grab a coffee, this is a rather long email <img src='http://www.clearchain.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> &#8230;</em></p>
<p>&nbsp;</p>
<p>Some tips I have are:</p>
<h4>1. Setup a Google Analytics Account</h4>
<p><a href="http://www.google.com/analytics"><cite>http://www.<strong>google</strong>.com/<strong>analytics</strong>/</cite></a></p>
<p>Google Analytics is a must for any website as it allows you to track where your visitors are coming from and what keywords they used to get to your site.<br /> You&#8217;ll learn if they reached your site by searching or by a referral from another site. You&#8217;ll find what countries your site is being visited from and importantly, you&#8217;ll find out if changes you make are actually making an impact on your sites exposure.</p>
<p>You&#8217;ll be amazed what info you can get from this and it&#8217;s entirely free for most sites.</p>
<h4>2. Look at how Google Sees your site.</h4>
<p>Google&#8217;s robots don&#8217;t look at the images, they only see the text on your website. It&#8217;s a good idea to see how Google views your site.</p>
<p>The way I do this is I use the firefox web browser (<a href="http://getfirefox.net/">http://getfirefox.net/</a>) and install the web developer addon to it (<a href="https://addons.mozilla.org/en-US/firefox/addon/web-developer/">https://addons.mozilla.org/en-US/firefox/addon/web-developer/</a>).<br /> This extension allows all images and CSS to be turned off. That then shows you what Google sees.. often it&#8217;s not very good.</p>
<h4>3.  Improve your Search Engine Optimisations (SEO)</h4>
<p>This item is a hard one as no one really know&#8217;s what makes a site rank higher in Google. It&#8217;s a bit of a black art.<br /> Things that seem to work are:</p>
<p><strong>* Be consistent with keywords</strong></p>
<p>Come up with a set of keywords and make sure those same keywords are on every page, in the title of your site, if you can the domain name, meta description and url, etc</p>
<p>An example of where you could do this is make sure &#8220;Engels Advanced Trees&#8221; was in the title on every page. Ie your Specials page has a title of &#8220;Specials Price List&#8221;. You could change this to be &#8220;Specials Price List &#8211; Engels Advance Trees&#8221;. </p>
<p>Another example is you could put a keyword in your url. Ie you could have a url: <a href="http://www.engelstrees.com.au/trees/advanced/bamboo/">http://www.engelstrees.com.au/trees/advanced/bamboo/</a></p>
<p>A lot of SEO is getting Google to recognize the keywords.</p>
<p>So a question I have is what keywords represent your site? Are they keywords that represent both your business but are also high exposure keywords?</p>
<p>Google has tools to help tell you if they are high exposure keywords. I can&#8217;t provide a link as google don&#8217;t want people to link to it. But if you search for &#8220;google keyword tool&#8221; then you&#8217;ll find the site. Here you can put in keywords, or keyword phrases and see what the average search results for that keyword is &#8211; very useful. For instance you might think that bamboo is a high ranking keyword. But infact eucalyptus is a higher word (just a guess).</p>
<p>* <strong>Make sure the meta-description &amp; meta-keywords are different on every page</strong></p>
<p>Your site uses meta descriptions. These show up in Google as the excerpt when you do a search. For instance if I search &#8220;Engels Trees&#8221; the second result is:</p>
<h3><a href="http://www.engeltrees.com.au/">Welcome to Engel <em>Advanced Trees</em> for Adelaide Bamboo, Advanced <strong>&#8230;</strong></a></h3>
<div><a href="http://www.englestrees.com.au"><cite>www.engel<strong>trees</strong>.com.au/</cite></a></div>
<p>Adelaide Bamboo specialists Engel <em>Trees</em> Adelaide for Bamboo Adelaide <em>Trees</em> Shrubs Hedges and Garden design advice.</p>
<p>The &#8220;Adelaide Bamboo&#8230;&#8221; bit is your meta description. Google is less likely to show more than 1 page about your site if the description and keywords are the same on every page.</p>
<p><strong>* Be prepared to pay for top spot</strong></p>
<p>Google is all about making money. To do that you can pay to be top spot. Google has adwords (<a href="http://www.google.com/adwords">http://www.google.com/adwords</a>) <br /> which allows you to nominate keywords and place ads at the top. Depending on the keyword and the region you select depends on how much the keywords cost.</p>
<p>I note that as I search for Engels advanced trees the first link is actually a paid ad to Roneby advanced trees.</p>
<p>* <strong>Speed</strong></p>
<p>Whilst I don&#8217;t think it&#8217;s as big factor as some might suggest. Load speed must have some type of impact. A quick test from (<a href="http://iwebtools.com/speed_test">http://iwebtools.com/speed_test</a><br /> gives:</p>
<table style="width: 100%;" border="1" cellspacing="1" cellpadding="1">
<tbody>
<tr>
<td align="center" width="20" height="25">
<p align="center">#</p>
</td>
<td> Domain name</td>
<td align="center">Size</td>
<td align="center">Load Time</td>
<td align="center">Average Speed per KB</td>
</tr>
<tr>
<td colspan="5" height="7"> </td>
</tr>
<tr>
<td align="center">1</td>
<td><a href="http://clearchain.com/" target="_blank">clearchain.com</a></td>
<td align="center">50.9 KB</td>
<td align="center">4.42 seconds</td>
<td align="center"><strong>0.09 seconds</strong></td>
</tr>
<tr>
<td colspan="5">
<hr size="1" /></td>
</tr>
<tr>
<td align="center">2</td>
<td><a href="http://engeltrees.com.au/" target="_blank">engeltrees.com.au</a></td>
<td align="center">19.98 KB</td>
<td align="center">9.89 seconds</td>
<td align="center"><strong>0.49 seconds</strong></td>
</tr>
<tr>
<td colspan="5">
<hr size="1" /></td>
</tr>
<tr>
<td align="center">3</td>
<td><a href="http://cnn.com/" target="_blank">cnn.com</a></td>
<td align="center">96.7 KB</td>
<td align="center">2.36 seconds</td>
<td align="center"><strong>0.02 seconds</strong></td>
</tr>
<tr>
<td colspan="5">
<hr size="1" /></td>
</tr>
<tr>
<td align="center">4</td>
<td><a href="http://unisa.edu.au/" target="_blank">unisa.edu.au</a></td>
<td align="center">14.32 KB</td>
<td align="center">3.05 seconds</td>
<td align="center"><strong>0.21 second</strong></td>
</tr>
</tbody>
</table>
<p>Clearchain is my website located in the US, as in CNN.com. UniSA is in Adelaide so it might be a better comparison (the international link adds about 1.5 seconds to most requests). Still Engeltree does seem quite a bit slower.<br /> If you want to speed this up, buy a cheap hosting service from someone like <a href="http://www.dreamhost.com/">http://www.dreamhost.com</a>  I note at the moment they have a 2 week free trial.. great to use as a speed comparison.</p>
<p>* <strong>Back links</strong></p>
<p>When Google was first founded, they had the concept of rating a page based on how many sites linked to the page. Since then things have changed but it is still an important part of the search algorithm used. Hence the more sites you get linking to your website.. using the keywords you want. The better your site will rank. Google anayltics will help you see who links into your site. But if you have friends with websites relating to plants. Ask them if they could put a little blurb about your site and a link to the main page somewhere on their site.</p>
<p>You can also go to forums where questions are asked, answer questions and post your main page url. What ever you do, always post to the main page as this helps establish the main page as the one Google should rank higher. The main page links to the other pages of your site so they rank higher.</p>
<p>* <strong>Simplify your urls</strong></p>
<p>If you look at your website can you guess what this url relates to?</p>
<p><a href="http://www.engeltrees.com.au/index.php?option=com_content&amp;view=article&amp;id=52&amp;Itemid=57">http://www.engeltrees.com.au/index.php?option=com_content&amp;view=article&amp;id=52&amp;Itemid=57</a><br /> <cite></cite><br /> I can&#8217;t. Though I can tell you it&#8217;s your &#8216;Current Specials&#8217; page (that&#8217;s what I clicked anyway)</p>
<p>What if the url was instead:</p>
<p><a href="http://www.engletrees.com.au/advancedtrees/currentspecials/">http://www.engletrees.com.au/advancedtrees/currentspecials/</a></p>
<p>Much easier to read.. much easier for Google to read. Also anything that links to the specials page uses the same link so google can follow your site structure.</p>
<p><strong>* Keep your content changing</strong></p>
<p>It&#8217;s a know fact that your site will rank higher if it&#8217;s changing. Old content on the internet is not good content so ranks lower. <br /> You can easily do this by having some rotating articles on your main page. I can tell your site doesn&#8217;t get updated often as it still lists (C) 2010.</p>
<p>Another way to keep the content fresh is to keep a blog and show a section of that on the main page.<br /> A blogs also a great way to get others linking to you. They leave comments or link to a blog post.</p>
<p>You might write an article about the best way of pruning trees for instance and get a lot of people referring to it.<br /> As an example, my website (which is really something I work on when I can be bothered) brings in ~ $30 a month just by having adverts on it.<br /> The most popular page <a href="../posts/how-to-use-a-belkin-f5u409f5u409-cu-usb-to-pda-serial-converter-in-visawindows-7-64bit-mac-osx-10">http://www.clearchain.com/blog/posts/how-to-use-a-belkin-f5u409f5u409-cu-usb-to-pda-serial-converter-in-visawindows-7-64bit-mac-osx-10</a><br /> brings in ~$10 a month by itself. Most of this is due to people linking to it. I note as of today it has been shared on facebook 14 times and two twitter tweets about it have occurred.</p>
<p>Ie, the people are building backlinks to the site by themselves just by having content that they find useful.</p>
<p>My mother keeps telling me how you have great tips on the radio.. why not post the same tips on a blog and at the end of the show/segment refer to your site with &#8216;and the tip in all it&#8217;s details area available on our website at engelstrees.com.au. I guarantee there will be people that visit just because the didn&#8217;t quite catch the entire tip&#8230; but make sure you setup analytics so you can see the before and after difference <img src='http://www.clearchain.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>Anyway, these are just some ways that you can help boost your company exposure via the web. But it should set you on the right track.</p>
<p>Hope these help you!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.clearchain.com/blog/posts/bens-guide-to-making-your-site-show-up-in-google/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>The InTransit Filesystem</title>
		<link>http://www.clearchain.com/blog/posts/the-intransit-filesystem</link>
		<comments>http://www.clearchain.com/blog/posts/the-intransit-filesystem#comments</comments>
		<pubDate>Wed, 21 Mar 2012 01:19:29 +0000</pubDate>
		<dc:creator>Benjamin Close</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[bandwidth]]></category>
		<category><![CDATA[filesystem]]></category>
		<category><![CDATA[in transit]]></category>
		<category><![CDATA[propagation]]></category>
		<category><![CDATA[propogation]]></category>
		<category><![CDATA[storage]]></category>

		<guid isPermaLink="false">http://www.clearchain.com/blog/?p=677</guid>
		<description><![CDATA[<a href="http://www.clearchain.com/blog/posts/the-intransit-filesystem"><img align="left" hspace="5" width="150" src="http://www.clearchain.com/blog/images//2012/03/UV-FibreOptic-Ends-150x150.jpg" class="alignleft wp-post-image tfe" alt="" title="Transmission At the Speed of Light" /></a>A Long time ago I was watching a story about data and one fact that rang in my mind was how much data was in transit at anyone point in time. A classic way to think about this is a transatlantic fibre cable. Even at the speed of light, the amount of data that is<a href="http://www.clearchain.com/blog/posts/the-intransit-filesystem"> <font size=-2>[..more..]</font></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.clearchain.com/blog/images//2012/03/UV-FibreOptic-Ends.jpg"><img class="alignleft size-thumbnail wp-image-1069" title="Transmission At the Speed of Light" src="http://www.clearchain.com/blog/images//2012/03/UV-FibreOptic-Ends-150x150.jpg" alt="" width="150" height="150" /></a></p>
<p>A Long time ago I was watching a story about data and one fact that rang in my mind was how much data was in transit at anyone point in time. A classic way to think about this is a transatlantic fibre cable. Even at the speed of light, the amount of data that is bouncing in that cable grows as the distance increases. It occurred to me you could actually use the in transit bandwidth as a filesystem.</p>
<p>There&#8217;s a number of reasons you might want to do this?</p>
<ol>
<li>A really secure filesystem  &#8211; since you have to continually retransmit the data, you simply unplug your PC and the data disappears</li>
<li>A common storage system that multiple people can use</li>
<li>A Storage system that grows as the amount of diverse paths increases</li>
</ol>
<p>&nbsp;</p>
<p>Below are some notes I made on a recent international flight.. at the time I considered myself as the in transit filesystem!!</p>
<p>The filesystem to this day has not been implemented though the thought about finishing the design and building it still lingers in some parts of my brain.</p>
<p>&#8212;-</p>
<p>&nbsp;</p>
<p>The In Transit Filesystem</p>
<p>Concept: A file system that exists in the propagation delay of a transit media</p>
<p>Examples: There exists many international fibre cables. These cables can<br />
transmit large amounts of data in a relatively short amount of time. If a cable<br />
is capable of 1Tb/s and there is a latency of 1ms to the other end of the cable<br />
then there can be approximately 1Tb/0.001 bits of data in transit at any one<br />
time. The aim of the intransit filesystem is to store data in this transmission<br />
space. Constant retransmission of data maintains the live filesystem. If the<br />
network goes down or the data is not retransmitted the filesystem goes down/is<br />
lost.</p>
<p>Why: Reason behind the In Transit Filesystem</p>
<p>The In Transit filesystem does away with a physical storage medium attached<br />
to any one machine. Instead the storage medium is simply propagation delay.<br />
This sort of storage has a number of applications. These include security<br />
related keys which exist with a limited time. Ie consider the concept of<br />
email that decays. The keys to the email exist in the InTransit Filesystem<br />
The email client ask for the keys and if available decodes the message. The<br />
sender is the pingback for the filesystem hence the sender decides if they<br />
retransmit the key or not. If they don&#8217;t the email is now undecodable (easily<br />
anyway). The filesystem can also be used to establish common tables. Consider a<br />
router that needs to build mac tables. Instead of sending a broadcast arp<br />
request to find a ip for a machine, it can query the in transit filesystem, this<br />
not only allows quicker recovery of the ip but also reduces traffic.</p>
<p>Objective: The aim of this brief is to asses the requirements needed to not only<br />
build the In Transit Filesystem but also to make it resilent.</p>
<p>Problems &amp; Solutions:</p>
<p>There is a number of issues when building a filesystem of this type. These are<br />
listed below and discussed afterwards with possible solutions.</p>
<p>	o Calculating the Filesystem Size<br />
	o Latency to packets/files in read/writing<br />
	o Dealing with packet drop<br />
	o Retransmission<br />
	o Error checking and redundancy<br />
	o transport medium</p>
<p>The problems discussed:</p>
<p>o Calculating filesystem size</p>
<p>With the storage medium live the filesystem size is not only hard to calculate<br />
but may be continually changing. The aim is to be able to guarantee a minimum<br />
file system size so data can be recovered.</p>
<p>A ongoing calculation supports this by calculating packet latency over time. A<br />
simple average gives an upper limit to the available data space. Of course<br />
adding another route gives the filesystem increased space. For advanced<br />
filesystem calculations packet loss including RED and similar algorithms, window<br />
sizing and other medium fallbacks must be considered. These algorithms are not<br />
yet determined.</p>
<p>o Latency to packets/files in read/writing</p>
<p>The speed of the filesystem is limited to at most 2*the propagation delay of the<br />
medium link. This delay can often be up to 10 seconds ( on large long haul links<br />
with slow transmission speeds or congestion. This delay is unacceptable. To<br />
increase speed local caching can be applied though really converts the<br />
filesystem from an in transit system to an in-memory system. Delays can be also<br />
reduced by secondary links and forward propagation, ie splitting up the blocks<br />
so a file is transmitted in a fragmented with multiple packets containing the<br />
same part of a file. Of cause this reduces the available size of the filesystem.</p>
<p>o Dealing with Packet Drop</p>
<p>Packet drop in the in Transit Filesystem is not just bad but devastating. The<br />
packet without some sort of redundancy will cause filesystem corruptions. To deal<br />
with this there has to be redundancy. </p>
<p>o Error checking and redundancy</p>
<p>Whilst initially the filesystem will be implemented with traditional algorithms<br />
to support redundancy, ie md5, forward, backward crc&#8217;s, etc long term the use of<br />
such files are not scalable. Data is growing at such a large rate. Much which<br />
doesn&#8217;t need to be archived but is anyway. We take an approach that is used in<br />
the zfs filesystem, that being block deduping. Ie files with a block of data that<br />
is the same need only store that block once. </p>
<p>We also introduce a new concept that the current modern age of filesystems<br />
doesn&#8217;t support. That being guaranteed reliability. Whilst the computer age has<br />
brought us digital data, the laying to store that data relies on consistency at<br />
the filesystem level. Ie A file is always 100% intact. If any bits of that file<br />
are not intact bad things happen. This places lots of constraints on the<br />
filesystem in regard to the management of data. Whilst I don&#8217;t believe<br />
filesystems can&#8217;t have reliability, I believe that applications can perform some<br />
redundancies of their own formats. They then ask the filesystem for a guarantee<br />
of a level of consistency to a file. For example: Modern day application<br />
requests the creation of a file with a guaranteed consistency of 100%.<br />
Application X (which say stores a lossy image format) requests block x of file<br />
to be 100% guaranteed (ie a file header) then places a 70% guarantee request on<br />
all other blocks (image data).  Hence if data is missing of the filesystem<br />
begins to fill up the filesystem has the option of dropping packets to<br />
accommodate expansion.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.clearchain.com/blog/posts/the-intransit-filesystem/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to use FreeBSD, VirtualBox and USB2.0 Devices</title>
		<link>http://www.clearchain.com/blog/posts/how-to-use-freebsd-virtualbox-and-usb2-0-devices</link>
		<comments>http://www.clearchain.com/blog/posts/how-to-use-freebsd-virtualbox-and-usb2-0-devices#comments</comments>
		<pubDate>Thu, 01 Mar 2012 06:14:56 +0000</pubDate>
		<dc:creator>Benjamin Close</dc:creator>
				<category><![CDATA[FreeBSD]]></category>
		<category><![CDATA[2.0]]></category>
		<category><![CDATA[not working]]></category>
		<category><![CDATA[printer]]></category>
		<category><![CDATA[restrict]]></category>
		<category><![CDATA[troubleshoot]]></category>
		<category><![CDATA[usb]]></category>
		<category><![CDATA[usb 2]]></category>
		<category><![CDATA[usb FULL]]></category>
		<category><![CDATA[virtual box]]></category>
		<category><![CDATA[virtualbox]]></category>

		<guid isPermaLink="false">http://www.clearchain.com/blog/?p=1062</guid>
		<description><![CDATA[<a href="http://www.clearchain.com/blog/posts/how-to-use-freebsd-virtualbox-and-usb2-0-devices"><img align="left" hspace="5" width="150" src="http://www.clearchain.com/blog/images//2012/03/VirtualBox-3.2.12.68302-150x150.png" class="alignleft wp-post-image tfe" alt="" title="Virtual Box" /></a>This page explains how to use a USB2.0 device in VirtualBox with a FreeBSD 8+ as a hostOS Recently I got around to converting my last Linux box over to FreeBSD. The change over for almost everything was smooth except for one thing. A windows virtual machine. I have a number of applications which sadly<a href="http://www.clearchain.com/blog/posts/how-to-use-freebsd-virtualbox-and-usb2-0-devices"> <font size=-2>[..more..]</font></a>]]></description>
				<content:encoded><![CDATA[<p><img class="alignleft size-thumbnail wp-image-1063" title="Virtual Box" src="http://www.clearchain.com/blog/images//2012/03/VirtualBox-3.2.12.68302-150x150.png" alt="" width="150" height="150" /></p>
<p><em>This page explains how to use a USB2.0 device in VirtualBox with a FreeBSD 8+ as a hostOS</em></p>
<p>Recently I got around to converting my last Linux box over to FreeBSD. The change over for almost everything was smooth except for one thing. A windows virtual machine. I have a number of applications which sadly are Windows only applications, one is accounting package.</p>
<p>One requirement of this package is the need to print. This worked under Linux so I think twice when I finally nuked the Linux partition. Sadly I soon found that my USB printer did not work under the VirtualBox VM under FreeBSD. <br />It was crazy. I&#8217;d followed the guide about enabling USB support under FreeBSD with virtual box at  <a href="http://wiki.freebsd.org/VirtualBox">http://wiki.freebsd.org/VirtualBox</a> and other USB devices worked fine. FreeBSD was able to see the device (usbconfig) showed it clearly. Even Virtual Box was able to see the device. The crazy thing was even Windows was able to see the device. However, no matter how much driver updating, plugging, replugging I did windows would show the printer existed but kept putting a yellow triangle next to it indicating it needed <strong>&#8216;Trouble Shooting&#8217;. </strong> I was lost.</p>
<p>I left things this way for over a month. Until I had no choice but to print. Hence I had to fix the issue. </p>
<p>I tried lots of things:</p>
<ul>
<li>Different USB Ports</li>
<li>Hubs</li>
<li>Resetting the printer</li>
<li>Reinstalling the drivers</li>
<li>Deleting the driver</li>
<li>upgrading the driver</li>
</ul>
<p>At one point I even noticed that the printer was being recognised by the FreeBSD ulpt driver and I thought that could be a problem so tried to disable that. Alas nothing.</p>
<p>It wasn&#8217;t until I noticed that USB2.0 was deselected in Virtualbox that it all made sense. I clicked the tick box and got a dialog complaining that USB2.0 could not be enabled due to a missing extension pack. A look at <a href="https://www.virtualbox.org/wiki/Downloads">Virtual box&#8217;s website </a>indicated there was one for all platforms.. it didn&#8217;t work on FreeBSD. A quick <a href="http://www.google.com">google</a> search revealed it&#8217;s got native binaries that don&#8217;t work under FreeBSD.</p>
<p>Hence I was again at a loss. Then it occurred to me, <strong>could I force the printer to negotiate at usb1 or usb1.1 speeds</strong>? A lot of google searching revealed nothing, I looked at using usbconfig, usbdevs all proved pointless until I found <a href="https://www.virtualbox.org/pipermail/vbox-dev/2010-November/003379.html">this post</a>.</p>
<p>My printer was definitely running USB2, usbconfig confirmed it:</p>
<pre>ugen4.3: &lt;Samsung CLP-500 Series SAMSUNG ELECTRONICS CO., LTD&gt; at usbus4, cfg=255 md=HOST <strong>spd=HIGH (480Mbps)</strong> pwr=ON</pre>
<p>It&#8217;s from the writer of the Virtualbox FreeBSD usb driver (and also the FreeBSD usb maintainer as well). Turns out that USB2/2.0 devices may not work without the Virtualbox Extension pack hence the following sysctl needs to be run in order to convert USB2 devices to 1.1</p>
<pre><em>sysctl hw.usb.ehci.no_hs=1</em></pre>
<p>This converted my printer to a USB1.1 device (or a FULL speed device ) <em><strong>after replugging</strong></em> and windows was all happy!<br />You can confirm the device change using the command <em>usbconfig </em></p>
<pre>ugen2.4: &lt;Samsung CLP-500 Series SAMSUNG ELECTRONICS CO., LTD&gt; at usbus2, cfg=0 md=HOST spd=FULL (12Mbps) pwr=ON</pre>
<p>So if you find yourself using FreeBSD and have a device that doesn&#8217;t seem to work correctly, give the above a shot and see if it solves your issue too!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.clearchain.com/blog/posts/how-to-use-freebsd-virtualbox-and-usb2-0-devices/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Fixing a hole in a Brigg &amp; Stratton Engine Crankcase</title>
		<link>http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase</link>
		<comments>http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase#comments</comments>
		<pubDate>Tue, 20 Sep 2011 14:35:19 +0000</pubDate>
		<dc:creator>Benjamin Close</dc:creator>
				<category><![CDATA[Country Living]]></category>
		<category><![CDATA[Repairs]]></category>
		<category><![CDATA[8hp]]></category>
		<category><![CDATA[aluminium]]></category>
		<category><![CDATA[b&s]]></category>
		<category><![CDATA[back pressure]]></category>
		<category><![CDATA[briggs and stratton]]></category>
		<category><![CDATA[conrod]]></category>
		<category><![CDATA[crank case]]></category>
		<category><![CDATA[crankshaft]]></category>
		<category><![CDATA[durafix]]></category>
		<category><![CDATA[engine]]></category>
		<category><![CDATA[hole]]></category>
		<category><![CDATA[howto]]></category>
		<category><![CDATA[instructions]]></category>
		<category><![CDATA[oil]]></category>
		<category><![CDATA[piston slap]]></category>
		<category><![CDATA[repair]]></category>
		<category><![CDATA[smoke]]></category>
		<category><![CDATA[soldering]]></category>
		<category><![CDATA[welding]]></category>

		<guid isPermaLink="false">http://www.clearchain.com/blog/?p=916</guid>
		<description><![CDATA[<a href="http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase"><img align="left" hspace="5" width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/31032011663-150x150.jpg" class="alignleft tfe wp-post-image" alt="Briggs &amp; Stratton 8hp Engine Internals Complete" /></a>This article details a method I used to fix a large hole in the crankcase of a 8hp Briggs &#38; Stratton Vertical Engine. First a little background: When we first bought our property we quickly realised we would need either a tractor or a ride on lawn mower. Whilst I would have loved a tractor,<a href="http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase"> <font size=-2>[..more..]</font></a>]]></description>
				<content:encoded><![CDATA[<p><div id="attachment_970" class="wp-caption alignleft" style="width: 160px"><a href="http://www.clearchain.com/blog/images//2011/05/31032011663.jpg"><img class="size-thumbnail wp-image-970" title="31032011663" src="http://www.clearchain.com/blog/images//2011/05/31032011663-150x150.jpg" alt="" width="150" height="150" /></a><p class="wp-caption-text">Briggs &amp; Stratton 8hp Engine Internals Complete</p></div>
<p><em>This article details a method I used to fix a large hole in the crankcase of a 8hp Briggs &amp; Stratton Vertical Engine.</em></p>
<p>First a little background:</p>
<p>When we first bought our <a href="http://www.clearchain.com/blog/posts/welcome-to-lot-723-one-tree-hill-road-gould-creek">property</a> we quickly realised we would need either a tractor or a ride on lawn mower. Whilst I would have loved a tractor, cost meant we went for a ride on lawn mower. However this ride on mower was unique. It was a 1977 Rover Ranger mower. Go Kart style steering, Briggs and Stratton engine, all steel construction, etc.  Built solid as a rock but it was in need of some work. After about 6 months restoring the mower it was ready for testing &#8211; restoring the mower not the engine that is.</p>
<p>With the mower restored I added some oil, fuel/gas and gave the engine pull cord a tug, then another tug, and another&#8230;eventually I got the engine going. The mower worked great! Cut through thick grass, drove hard, ran smooth -though fast until&#8230; I hit a brick. Hidden in the long grass was a house brick and after hitting it at full speed something had to give. Normally this would be the mower blades. However, unknowingly at the time, the previous owner thought it was a good idea to weld the blades fixed. The engine did not like this and after spluttering a little decided the connecting rod (conrod) was the piece of metal that had to break. Sadly as it broke it put approximately a 5cm/1.5&#8243; hole in the crank case wall. Not surprizingly the mower then stopped.</p>
<p>I was devastated. Months of work were now down the drain. A hole in the crankcase surely was unrepairable &#8211; especially since I&#8217;d never opened up an engine before. Consequently the mower was wheeled into the shed and left for a week. That week was a slow week. However, it also gave me time to think about the motor with a clear head. In particular: Why is a hole in a crank case unrepairable? After eventually pulling the engine apart I came to the conclusion I would try and repair the hole.</p>
<p>The hole was in the side wall, the conrod had created a few additional cracks as it flew through the crankcase side wall, but in general the engine looked repairable. Luckily when the conrod went, the various small pieces of broken conrod didn&#8217;t destroy any of the valve stems, oil slinger, etc. The main damage was the side wall.</p>
<p>Initially I thought &#8220;I&#8217;ll just weld something over it&#8221;. That was a nice theory but I very quickly discovered that the crank case was made from cast aluminium. One touch with the Arc welder and it would turn to molten metal! (Aluminum melting point is quite low in comparison with steel &#8211; about 700 degrees C vs 2300 degrees C). Hence my options were either TIG weld the case or find some other method of repairing it.</p>
<p>Sadly I&#8217;m not rich enough to own a TIG welder and none of my friends had one either. Hence I was left with finding some other method of welding aluminium. After searching Google I found out about a product called <a href="http://www.durafix.com.au/index.php">Durafix</a>. Durafix is a type of welding rod, or more accurately a solder rod that can be used on aluminium. A little more searching revealled there was a number of products on the market that do a similar products. These can be found by searching for the names Alumaloy, Aladdin, HTS2000. They all do the same thing. So I started looking around for some of these welding rods. Sadly they were not cheap. Hence before I bought them I thought I&#8217;d check both prices of new engines as well if the rest of the engine I had was still any good.</p>
<p>New engines turned out to be much more expensive than I thought and I sadly I soon found the piston didn&#8217;t run smooth.</p>
<p><div id="attachment_931" class="wp-caption alignright" style="width: 160px"><a href="http://www.clearchain.com/blog/images//2011/05/29032011610.jpg"><img class="size-thumbnail wp-image-931" title="29032011610" src="http://www.clearchain.com/blog/images//2011/05/29032011610-150x150.jpg" alt="" width="150" height="150" /></a><p class="wp-caption-text">Piston with scoring marks from sanding to fit cylinder</p></div>
<p>One of the side effects of the conrod giving way is the rod arm in the piston had slightly deformed the piston. Hence it wasn&#8217;t correctly round any more. At this point I realised I needed a parts list. <a href="http://www.briggsandstratton.com/engines/support/operators-manuals/">Going to Briggs and Stratton&#8217;s website</a> I punched in the engine numbers and guess what &#8211; the parts list was still available. So after ringing around locally and checking Ebay I discovered a new piston wasn&#8217;t cheap. Especially since I didn&#8217;t know if I could repair the engine. I left the entire project for a few more weeks whilst I thought about what to do.</p>
<p>I eventually decided that if I could get the piston running smoothly I&#8217;d get the welding rods and try and repair the crank case. After all a set of aluminium welding rods could always come in handy. The problem was how to fix the piston. Everything I read said it had to be machined round, or replaced. I thought to myself, this is just a lawn mower, not a Ferrari V12. So I did the next best thing. I put the piston in the vice and crimped it until it was reasonably round. This got most of the shape back but it did still catch a little. (A note for anyone attempting a repair, I found the piston would only correctly work when put in from the bottom of the cylinder, it wouldn&#8217;t fit from the top).</p>
<p>To fix the small catch that it had left I sanded the side wall of the piston. I figured since it&#8217;s only the side wall the worst that would happen is a little movement (later I found out this is called piston slap and can be harmless or can destroy the rings depending on the amount of movement).</p>
<p>With the piston now running smooth I bought aluminium soldering rods off <a href="http://www.ebay.com.au">Ebay</a> (It was cheaper to buy them in the US and get them shipped to Australia than buy them in Australia). After a few weeks they arrived and I replicated a couple of <a href="http://www.youtube.com/watch?v=fWxYK3VFysw">youtube videos</a> I&#8217;d seen that welded coke can together. This was pretty easy stuff to work with &#8211; so I thought. Turns out small things are easy! The biggest issue was I was working with a large crank case.</p>
<p>After cleaning up the crankcase as best as I could with degreaser, some elbow grease, water and a stainless steel brush (as it</p>
<p>doesn&#8217;t cause the aluminium to oxidise) I began to heat the case. I&#8217;d borrowed a propane blow torch for the job and also had my electric heat gun. Initially I used the heat gun to get the entire crank case to a temperature where it was hot to touch (Electricity wasn&#8217;t a consumable like the propane tank).  I then used the propane torch in the cracked areas on the welding rods. It took ages!! Heating, heating, and more heating. Eventually the crank case got hot enough.</p>
<p>(At this point a little side note. The best way to use the welding rods is to heat the surface you want to repair. The rods are designed to melt below the melting point of aluminium. If you heat the rods they just turn in to little solder blobs but never cling to the surface your trying to weld. If you heat the surface your trying to weld then touch the rod to it, the solder melts and clings to the surface).</p>
<p><div id="attachment_923" class="wp-caption alignright" style="width: 160px"><a href="http://www.clearchain.com/blog/images//2011/05/29032011600.jpg"><img class="size-thumbnail wp-image-923 " title="29032011600" src="http://www.clearchain.com/blog/images//2011/05/29032011600-150x150.jpg" alt="Finished weld" width="150" height="150" /></a><p class="wp-caption-text">Finished Weld</p></div>
<p>With the surface now hot enough (hot enough to smoke the plastic grips in my vice), I began welding&#8230;er soldering. It was at this point I realised fixing this would be a little tricker than expected. You see the rods are more of a solder than a welding compound. My aim was to weld a piece of scrap aluminum I&#8217;d picked up at a local steel recycler over the hole on the outside of the crank case, then seal the inside with more weld. Being a solder this was a difficult task. The outside weld went perfect. The inside on the otherhand was not so successful. Turns out because the rods are a solder, touching the inside of the piece of aluminium covering the hole, ended up shifting the outside (as the piece was sitting on a layer of molton solder). Quite a few attempts later I had finished the repair.</p>
<p><div id="attachment_921" class="wp-caption alignleft" style="width: 160px"><a href="http://www.clearchain.com/blog/images//2011/05/29032011598.jpg"><img class="size-thumbnail wp-image-921" title="29032011598" src="http://www.clearchain.com/blog/images//2011/05/29032011598-150x150.jpg" alt="Sealing The Inside of the Engine with Liquid Gasket" width="150" height="150" /></a><p class="wp-caption-text">Sealing the inside of the crankcase with liquid gasket</p></div>
<p>After 2 hours cool down time (the case took that long). I then did a water test for leaks. Drip&#8230;&#8230;&#8230;&#8230;.Drip&#8230;&#8230;.. Drip&#8230;&#8230;&#8230; sadly the weld was not water tight. Due to time constraints and limited propane, sadly I could not reweld the case. Instead I applied liquid gasket to the inside of the weld, let it set the retried the water test &#8211; I was now water tight &#8211; success!</p>
<p>So with the case welded, it was a matter of putting the engine back together. (See the shots below for step by step instructions). By this time I had already bought a new after market conrod which fitted perfectly and despite quite a few mistakes where I had to take bits apart to put other bits in I eventually got the engine back together.</p>
<p>With the engine together, I added oil, petrol a new spark plug and crossed my fingers. I tugged on the pull cord&#8230;.then again&#8230; and again&#8230; finally, the engine coughed to life. After quite a bit of spluttering whilst I adjusted the carby, it was running really nice. Time to put some load on it  &#8211; This time I had removed the fatal welds on the mower blades, if I hit anything THEY were going to give first.</p>
<p>The mower worked a treat, ran smoothly &#8211; after a few adjustments (the safety wire on the flywheel was rubbing against the flywheel cover making a awful noise) and kept running well.. so I thought.</p>
<p>It wasn&#8217;t until about 15 minutes into mowing I noticed the excess smoke coming from the mower. There was a little smoke as it accellerated but the amount of smoke had certainly increased quite noticable. Not wanting to destroy the Briggy any more I stopped the mower to inspect what was happening. Sure enough there was a small leak of oil through the weld.</p>
<p>You see Briggs &amp; Stratton engines are designed to run with a negative pressure in the crank case. This helps suck the oil back down when the piston drop and prevents excessive oil burning. Without this negative pressure the oil get up to the combustion chamber and burns &#8211; also makes a nice black coated spark plug.</p>
<p>That&#8217;s what was happening here. The leak in the crank case weld was letting air in, stopping the back pressure and causing oil to burn. As a quick fix I wedged some metal putty over the hole, topped up the oil and tried again.</p>
<p>It still smoked and leaked. Though dramatically less than the first time. A little more putty and practically no leaks.</p>
<p>So now 5 months down track with the mower use pretty much ever weekend (A lot of grass grew whilst I was repairing it). The repaired B&amp;S 8hp is still going strong. By using some premium unleaded (98 octane) it&#8217;s got a lot more punch, and getting the right spark plug gap (0.3&#8243;/.72mm)  it works very well.</p>
<p>When summer comes and I can&#8217;t mow due to the temperature (due to bush fire regulations). I intend to rip the engine apart again and reweld-solder the cover plate I put over the hole, and not give up until it&#8217;s water tight.</p>
<p>I&#8217;ve also learnt a lot in the process of doing this. All about engines, how to get them running, keep them running etc. A tip I want to try with the welding is to use a dremel and carve a V groove before welding. Especially over the cracks that are hairline but widen as the engine heats up this should fill them better. (This tip was from a site asking about welding a motorbike crank case with JBWeld &#8211; though I can&#8217;t find the link again). I also think I&#8217;ll purchase a rebuild kit and replace the rings to help eliminate smoke due to a worn piston/rings. The engine runs well enough to justify this. The rebuild kit also has a complete gasket set which will help.</p>
<p>So if suddenly you find yourself with hole in your crank case, a broken conrod and a warped piston,  but otherwise the engine looks fine, don&#8217;t believe everyone that the engine is scrap metal. You just might be able to fix it yourself!</p>
<h2>Putting a 8hp Briggs and Stratton Engine Back Together</h2>
<p>&nbsp;</p>

<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/29032011601' title='29032011601'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/29032011601-150x150.jpg" class="attachment-thumbnail" alt="Another view of the sealed hole" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/29032011598' title='29032011598'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/29032011598-150x150.jpg" class="attachment-thumbnail" alt="Bare Crank Case (Governer and valves still installed)" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/29032011599' title='29032011599'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/29032011599-150x150.jpg" class="attachment-thumbnail" alt="Top of crank case" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/29032011600' title='29032011600'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/29032011600-150x150.jpg" class="attachment-thumbnail" alt="Repaired side of crank case" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/29032011607' title='29032011607'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/29032011607-150x150.jpg" class="attachment-thumbnail" alt="B&amp;S 8hp Engine Parts" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/29032011608' title='29032011608'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/29032011608-150x150.jpg" class="attachment-thumbnail" alt="Work bench with hole for crank to sit in when assembling engine" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/29032011609' title='29032011609'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/29032011609-150x150.jpg" class="attachment-thumbnail" alt="Part breakout" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/29032011610' title='29032011610'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/29032011610-150x150.jpg" class="attachment-thumbnail" alt="Piston with scoring marks from sanding to fit cylinder" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/29032011612' title='29032011612'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/29032011612-150x150.jpg" class="attachment-thumbnail" alt="Top of piston" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/29032011615' title='29032011615'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/29032011615-150x150.jpg" class="attachment-thumbnail" alt="Close up of retaining clips in piston" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/29032011613' title='29032011613'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/29032011613-150x150.jpg" class="attachment-thumbnail" alt="Inside of piston" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/29032011633' title='29032011633'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/29032011633-150x150.jpg" class="attachment-thumbnail" alt="Piston Rings" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/29032011635' title='29032011635'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/29032011635-150x150.jpg" class="attachment-thumbnail" alt="Installing Piston Ring (after reshaping)" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/29032011637' title='29032011637'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/29032011637-150x150.jpg" class="attachment-thumbnail" alt="Installing the piston rings (must be done with piston already installed)" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/29032011611' title='29032011611'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/29032011611-150x150.jpg" class="attachment-thumbnail" alt="Another view of the piston" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/29032011614' title='29032011614'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/29032011614-150x150.jpg" class="attachment-thumbnail" alt="Putting together the piston (Control, rod pin, piston, retaining clips)" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/29032011616' title='29032011616'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/29032011616-150x150.jpg" class="attachment-thumbnail" alt="Counter weight  side 1" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/29032011604' title='29032011604'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/29032011604-150x150.jpg" class="attachment-thumbnail" alt="Wide view of empy crankcase" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/29032011602' title='29032011602'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/29032011602-150x150.jpg" class="attachment-thumbnail" alt="29032011602" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/29032011631' title='29032011631'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/29032011631-150x150.jpg" class="attachment-thumbnail" alt="29032011631" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/29032011619' title='29032011619'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/29032011619-150x150.jpg" class="attachment-thumbnail" alt="Installing piston" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/29032011617' title='29032011617'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/29032011617-150x150.jpg" class="attachment-thumbnail" alt="Installing counter weight side 1" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/29032011627' title='29032011627'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/29032011627-150x150.jpg" class="attachment-thumbnail" alt="Installing crank" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/29032011628' title='29032011628'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/29032011628-150x150.jpg" class="attachment-thumbnail" alt="Connecting conrod to crank" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/29032011632' title='29032011632'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/29032011632-150x150.jpg" class="attachment-thumbnail" alt="Putting bolts in conrod" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/31032011640' title='31032011640'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/31032011640-150x150.jpg" class="attachment-thumbnail" alt="Valve stems" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/31032011641' title='31032011641'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/31032011641-150x150.jpg" class="attachment-thumbnail" alt="Installing valve stems" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/31032011642' title='31032011642'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/31032011642-150x150.jpg" class="attachment-thumbnail" alt="long view of valve stems" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/31032011643' title='31032011643'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/31032011643-150x150.jpg" class="attachment-thumbnail" alt="Cam Gear" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/31032011645' title='31032011645'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/31032011645-150x150.jpg" class="attachment-thumbnail" alt="before Installing counter weight connecting rod" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/31032011644' title='31032011644'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/31032011644-150x150.jpg" class="attachment-thumbnail" alt="Counter weight bushings" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/31032011648' title='31032011648'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/31032011648-150x150.jpg" class="attachment-thumbnail" alt="31032011648" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/31032011647' title='31032011647'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/31032011647-150x150.jpg" class="attachment-thumbnail" alt="Counter weight connecting rod" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/31032011649' title='31032011649'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/31032011649-150x150.jpg" class="attachment-thumbnail" alt="After counter weight connecting rod is installed" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/31032011650' title='31032011650'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/31032011650-150x150.jpg" class="attachment-thumbnail" alt="Second half of counter weight" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/31032011652' title='31032011652'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/31032011652-150x150.jpg" class="attachment-thumbnail" alt="Second half of counter weight installed" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/31032011654' title='31032011654'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/31032011654-150x150.jpg" class="attachment-thumbnail" alt="Counter weight spacers" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/31032011655' title='31032011655'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/31032011655-150x150.jpg" class="attachment-thumbnail" alt="Counter weight spacers installed" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/31032011657' title='31032011657'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/31032011657-150x150.jpg" class="attachment-thumbnail" alt="Counter weight bolts" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/31032011658' title='31032011658'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/31032011658-150x150.jpg" class="attachment-thumbnail" alt="Counter weight bolts installed" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/31032011659' title='31032011659'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/31032011659-150x150.jpg" class="attachment-thumbnail" alt="Aligning the cam gear with the crank mark" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/31032011660' title='31032011660'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/31032011660-150x150.jpg" class="attachment-thumbnail" alt="Engine almost together" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/31032011661' title='31032011661'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/31032011661-150x150.jpg" class="attachment-thumbnail" alt="Oil Slinger" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/31032011662' title='31032011662'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/31032011662-150x150.jpg" class="attachment-thumbnail" alt="Oil Slinger installed" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/31032011663' title='31032011663'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/31032011663-150x150.jpg" class="attachment-thumbnail" alt="Briggs &amp; Stratton 8hp Engine Internals Complete" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/31032011664' title='31032011664'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/31032011664-150x150.jpg" class="attachment-thumbnail" alt="Bare engine internalls" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/31032011665' title='31032011665'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/31032011665-150x150.jpg" class="attachment-thumbnail" alt="Crank case base installed, engine now sealed" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/31032011667' title='31032011667'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/31032011667-150x150.jpg" class="attachment-thumbnail" alt="Engine installed on mower" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/31032011668' title='31032011668'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/31032011668-150x150.jpg" class="attachment-thumbnail" alt="Installing the head gasket and head" /></a>
<a href='http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/attachment/31032011656' title='31032011656'><img width="150" height="150" src="http://www.clearchain.com/blog/images//2011/05/31032011656-150x150.jpg" class="attachment-thumbnail" alt="Conrod/Valve stem clearance.. very close" /></a>

]]></content:encoded>
			<wfw:commentRss>http://www.clearchain.com/blog/posts/fixing-a-hole-in-a-brigg-stratton-engine-crankcase/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Top Tips for Moving House</title>
		<link>http://www.clearchain.com/blog/posts/top-tips-for-moving-house</link>
		<comments>http://www.clearchain.com/blog/posts/top-tips-for-moving-house#comments</comments>
		<pubDate>Mon, 29 Aug 2011 07:36:52 +0000</pubDate>
		<dc:creator>Benjamin Close</dc:creator>
				<category><![CDATA[Country Living]]></category>
		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://www.clearchain.com/blog/?p=1023</guid>
		<description><![CDATA[<a href="http://www.clearchain.com/blog/posts/top-tips-for-moving-house"><img align="left" hspace="5" width="150" src="http://www.dahuangpictures.com/blogs/media/blogs/In%20What%20City/moving_house.jpg" class="alignleft wp-post-image tfe" alt="Moving House" title="" /></a>We&#8217;re now well and truly settled into our new home, but moving into a different house &#8211; even one which isn&#8217;t newly built &#8211; can often be a little tricky. With this in mind, here are just a few top tips which can help &#8216;move day&#8217; to go as smoothly as possible. If you have<a href="http://www.clearchain.com/blog/posts/top-tips-for-moving-house"> <font size=-2>[..more..]</font></a>]]></description>
				<content:encoded><![CDATA[<p><img class="alignleft" style="border: 1px solid black; margin: 2px;" src="http://www.dahuangpictures.com/blogs/media/blogs/In%20What%20City/moving_house.jpg" alt="Moving House" width="216" height="213" />We&#8217;re now well and truly settled into our new home, but moving into a different house &#8211; even one which isn&#8217;t newly built &#8211; can often be a little tricky. With this in mind, here are just a few top tips which can help &#8216;move day&#8217; to go as smoothly as possible.</p>
<p>If you have friends or family who are often offering to lend you a hand with various tasks, then it can be a great idea to take them up on the offer when you are moving house. Be clear about what needs doing, and give anyone who volunteers specific tasks to carry out, in order to make the most of the help which you have. Often, it is the most menial tasks which can prove to be the most time-consuming when moving house, so it can be extremely useful if you have a group of willing helpers. Just make sure you&#8217;re willing to return the favour in the future!</p>
<p>Make a list of what you are likely to move shortly after your move, and make sure they are easily accessible. It is a good idea for each house member to pack a small holdall for a few days, so that they will not require immediate access to the rest of their belongings. In addition to clothes and toiletries, you may also want to make sure you are able to set up your computer shortly after your move &#8211; not just so that you can relax with a game of <a href="http://pl.partypoker.com/"><strong>partypoker</strong></a>, but to help you get in contact with anyone you might need to speak to regarding any problems which you may have encountered while moving. You may also want to get appliances such as your fridge up and running as soon as possible, so that you will be able to store basic food provisions.</p>
<p>Lastly, remember to label<strong> EVERYTHING</strong>. Keep track of your belongings as best as possible, so that you can easily check if anything has gone missing. Don&#8217;t let important documents get lost in the move, and protect anything which is breakable. If you follow these basic guidelines, you can help to make move day as straightforward as possible.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.clearchain.com/blog/posts/top-tips-for-moving-house/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>libdc1394_video_set_mode doesn’t change the mode – A solution!</title>
		<link>http://www.clearchain.com/blog/posts/libdc1394_video_set_mode-doesnt-change-the-mode-a-solution</link>
		<comments>http://www.clearchain.com/blog/posts/libdc1394_video_set_mode-doesnt-change-the-mode-a-solution#comments</comments>
		<pubDate>Fri, 06 May 2011 03:29:06 +0000</pubDate>
		<dc:creator>Benjamin Close</dc:creator>
				<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[1394]]></category>
		<category><![CDATA[broken]]></category>
		<category><![CDATA[crash]]></category>
		<category><![CDATA[different resolution]]></category>
		<category><![CDATA[firewire]]></category>
		<category><![CDATA[ieee1394]]></category>
		<category><![CDATA[libdc1394]]></category>
		<category><![CDATA[libdc1394_video_set_mode]]></category>
		<category><![CDATA[mode not set]]></category>
		<category><![CDATA[video mode problem]]></category>

		<guid isPermaLink="false">http://www.clearchain.com/blog/?p=991</guid>
		<description><![CDATA[<a href="http://www.clearchain.com/blog/posts/libdc1394_video_set_mode-doesnt-change-the-mode-a-solution"><img align="left" hspace="5" width="150" height="150" src="http://www.clearchain.com/blog/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>This article details a reason libdc1394_video_set_mode/libdc1394_video_set_framerate  may not work. Whilst working on an application that makes use of a 1394a/firewire camera I found a strange bug/feature with libdc1394. The problem was dc1394 was being used to the mode of the camera to 800&#215;600 resolution. However, when querying the frame size after dequeuing the frame, the<a href="http://www.clearchain.com/blog/posts/libdc1394_video_set_mode-doesnt-change-the-mode-a-solution"> <font size=-2>[..more..]</font></a>]]></description>
				<content:encoded><![CDATA[<p><em>This article details a reason libdc1394_video_set_mode/libdc1394_video_set_framerate  may not work.</em></p>
<p>Whilst working on an application that makes use of a 1394a/firewire  camera I found a strange bug/feature with <a href="http://damien.douxchamps.net/ieee1394/libdc1394/">libdc1394</a>. The problem was  dc1394 was being used to the mode of the camera to 800&#215;600 resolution.  However, when querying the frame size after dequeuing the frame, the  size was only 640&#215;480. Ie: See the below snippits:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="c" style="font-family:monospace;">..
<span style="color: #202020;">dc1394error_t</span> result <span style="color: #339933;">=</span> dc1394_video_set_mode<span style="color: #009900;">&#40;</span> this<span style="color: #339933;">-&gt;</span>camera<span style="color: #339933;">,</span> DC1394_VIDEO_MODE_800x600_RGB8<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> result <span style="color: #339933;">!=</span> DC1394_SUCCESS <span style="color: #009900;">&#41;</span>
<span style="color: #000066;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
....
<span style="color: #202020;">dc1394video_frame_t</span> <span style="color: #339933;">*</span>frame<span style="color: #339933;">=</span>NULL<span style="color: #339933;">;</span>
dc1394error_t result<span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// capture one frame</span>
result <span style="color: #339933;">=</span> dc1394_capture_dequeue<span style="color: #009900;">&#40;</span> this<span style="color: #339933;">-&gt;</span>camera<span style="color: #339933;">,</span> DC1394_CAPTURE_POLICY_WAIT<span style="color: #339933;">,</span> <span style="color: #339933;">&amp;</span>frame <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> result <span style="color: #339933;">!=</span> DC1394_SUCCESS <span style="color: #009900;">&#41;</span>
<span style="color: #000066;">exit</span><span style="color: #009900;">&#40;</span><span style="color: #0000dd;">0</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">// Allocate image memory if required</span>
<span style="color: #b1b100;">if</span><span style="color: #009900;">&#40;</span> this<span style="color: #339933;">-&gt;</span>lastFrame.<span style="color: #202020;">image</span> <span style="color: #339933;">==</span> NULL <span style="color: #009900;">&#41;</span><span style="color: #009900;">&#123;</span>
<span style="color: #000066;">memcpy</span><span style="color: #009900;">&#40;</span>this<span style="color: #339933;">-&gt;</span>lastFrame<span style="color: #339933;">,</span>frame<span style="color: #339933;">,</span> <span style="color: #993333;">sizeof</span><span style="color: #009900;">&#40;</span>dc1394video_frame_t<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
this<span style="color: #339933;">-&gt;</span>lastFrame.<span style="color: #202020;">image</span> <span style="color: #339933;">=</span> <span style="color: #009900;">&#40;</span><span style="color: #993333;">uint8_t</span> <span style="color: #339933;">*</span><span style="color: #009900;">&#41;</span><span style="color: #000066;">malloc</span><span style="color: #009900;">&#40;</span>frame<span style="color: #339933;">-&gt;</span>total_bytes <span style="color: #339933;">*</span> <span style="color: #993333;">sizeof</span><span style="color: #009900;">&#40;</span><span style="color: #993333;">uint8_t</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
..</pre></td></tr></table></div>

<p>At this point total_bytes was 921600 which works out to be 640x480x3 (RGB);</p>
<p>I was stumped. I asked for one mode and got another back. All with no errors what so ever from libdc1394.</p>
<p>After over an hour of debugging, google searching and more,  I eventually found the reason.  The comment that ended up in the code explains the cause:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="c" style="font-family:monospace;"><span style="color: #666666; font-style: italic;">// Shutdown any isotransports that are setup for the camera.</span>
<span style="color: #666666; font-style: italic;">// It turns out that libDC1394 will quite happily let you set modes,</span>
<span style="color: #666666; font-style: italic;">// framerates, etc but if there is an iso stream running none of them</span>
<span style="color: #666666; font-style: italic;">// will actually take affect. Hence you can set a 800x600 res and get</span>
<span style="color: #666666; font-style: italic;">// back 640x480 video frame - really nice libdc1394. It could at least</span>
<span style="color: #666666; font-style: italic;">// indicate there was a active stream when setting the mode!</span>
<span style="color: #666666; font-style: italic;">// Anyway to deal with this we force the camera to stop capturing</span>
<span style="color: #666666; font-style: italic;">// before we change the settings, if the camera was capturing prior to</span>
<span style="color: #666666; font-style: italic;">// setConfiguration being called, we restart the capture</span></pre></td></tr></table></div>

<p>So the solution is to make sure the iso transmission stream has been shutdown. this can be achieved using:</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="c" style="font-family:monospace;">dc1394_video_set_transmission<span style="color: #009900;">&#40;</span> this<span style="color: #339933;">-&gt;</span>camera<span style="color: #339933;">,</span> DC1394_OFF <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
dc1394_capture_stop<span style="color: #009900;">&#40;</span> this<span style="color: #339933;">-&gt;</span>camera <span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>An easy fix but certainly an annoying setup. I&#8217;ve not tested it but I&#8217;m guessing many of the other functions:</p>
<ul>
<li>dc1394_video_set_framerate</li>
<li>dc1394_video_set_iso_speed</li>
<li>dc1394_feature_set_mode</li>
<li>dc1394_video_set_one_shot</li>
</ul>
<p>are also affected.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.clearchain.com/blog/posts/libdc1394_video_set_mode-doesnt-change-the-mode-a-solution/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>OpenGL glTexSubImage2D very slow – a solution!</title>
		<link>http://www.clearchain.com/blog/posts/opengl-gltexsubimage2d-very-slow-a-solution</link>
		<comments>http://www.clearchain.com/blog/posts/opengl-gltexsubimage2d-very-slow-a-solution#comments</comments>
		<pubDate>Fri, 06 May 2011 03:04:21 +0000</pubDate>
		<dc:creator>Benjamin Close</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[glTexSubImage2D]]></category>
		<category><![CDATA[mipmap]]></category>
		<category><![CDATA[mipmapping]]></category>
		<category><![CDATA[opengl]]></category>
		<category><![CDATA[performance issue]]></category>
		<category><![CDATA[shader]]></category>
		<category><![CDATA[slow]]></category>
		<category><![CDATA[texture]]></category>

		<guid isPermaLink="false">http://www.clearchain.com/blog/?p=988</guid>
		<description><![CDATA[<a href="http://www.clearchain.com/blog/posts/opengl-gltexsubimage2d-very-slow-a-solution"><img align="left" hspace="5" width="150" src="http://www.clearchain.com/blog/images//2011/05/opengl2-300x135.png" class="alignleft wp-post-image tfe" alt="" title="opengl2" /></a>This article describes a possible reason glTexSubImage2D may be slow. Recently I was working on a piece of code that updated a texture with a camera frame. The application was using the fixed function (non shaders) pipeline of OpenGL. Whilst I didn&#8217;t notice it at first, I soon found that the camera image was very<a href="http://www.clearchain.com/blog/posts/opengl-gltexsubimage2d-very-slow-a-solution"> <font size=-2>[..more..]</font></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.clearchain.com/blog/images//2011/05/opengl2.png"><img class="alignleft size-medium wp-image-989" title="opengl2" src="http://www.clearchain.com/blog/images//2011/05/opengl2-300x135.png" alt="" width="300" height="135" /></a><em>This article describes a possible reason glTexSubImage2D may be slow.</em></p>
<p>Recently I was working on a piece of code that updated a texture with a camera frame. The application was using the fixed function (non shaders) pipeline of OpenGL. Whilst I didn&#8217;t notice it at first, I soon found that the camera image was very delayed. For example the camera was capturing at 30 frames per second, but the screen update rate was only 6 frames per second.</p>
<p>After commenting out vast amounts of code, disabling functions the reason behind the slow frame rates was traced to the OpenGL call: glTexSubImage2D. The exact call that was being made was:</p>
<pre>glTexSubImage2D(GL_TEXTURE_2D, 0, 0, 0,  mWidth, mHeight,  GL_RGB, GL_UNSIGNED_BYTE, image-&gt;getData());</pre>
<p>Everything to this call looked normal. I tried a simple test program that used glTextSubImage2D and surprizingly it ran fast! So at this point I was a little confused. How could two very similar programs produce different results.<br />
I kept searching. I tried Google searches found various comments but none of them seemed to work.</p>
<p>Eventually I looked at the Texture class I had been using and began commenting lines out of that. It was only when I found and commented out the line:</p>
<pre>glTexParameteri(GL_TEXTURE_2D, GL_GENERATE_MIPMAP, GL_TRUE );</pre>
<p>Things improved. This makes perfect sense as well. Generating a mipmap each frame is expensive. A quick fix and the application was running smoothly!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.clearchain.com/blog/posts/opengl-gltexsubimage2d-very-slow-a-solution/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bugs.freedesktop.org gets Official SSL certificate thanks to StartCom</title>
		<link>http://www.clearchain.com/blog/posts/bugs-freedesktop-org-gets-official-ssl-certificate-thanks-to-startcom</link>
		<comments>http://www.clearchain.com/blog/posts/bugs-freedesktop-org-gets-official-ssl-certificate-thanks-to-startcom#comments</comments>
		<pubDate>Wed, 23 Feb 2011 03:39:12 +0000</pubDate>
		<dc:creator>Benjamin Close</dc:creator>
				<category><![CDATA[FreeDesktop]]></category>
		<category><![CDATA[bugs.freedesktop.org]]></category>
		<category><![CDATA[bugzilla]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[startcom]]></category>

		<guid isPermaLink="false">http://www.clearchain.com/blog/?p=899</guid>
		<description><![CDATA[<a href="http://www.clearchain.com/blog/posts/bugs-freedesktop-org-gets-official-ssl-certificate-thanks-to-startcom"><img align="left" hspace="5" width="150" height="150" src="http://www.clearchain.com/blog/wp-content/plugins/thumbnail-for-excerpts/tfe_no_thumb.png" class="alignleft wp-post-image tfe" alt="" title="" /></a>Hi Folks, as of today https://bugs.freedesktop.org/ should now no longer give any warnings in a browser. The SSL certificate being provided by StartCom for free. Manythanks to StartCom for their Free SSL certificate service!]]></description>
				<content:encoded><![CDATA[<p>Hi Folks, as of today <a href="http://bugs.freedesktop.org">https://bugs.freedesktop.org/</a> should now no longer give any warnings in a browser. The SSL certificate being provided by StartCom for free. Manythanks to <a href="http://www.startcom.org">StartCom</a> for their <a href="http://www.startssl.com">Free SSL certificate service</a>!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.clearchain.com/blog/posts/bugs-freedesktop-org-gets-official-ssl-certificate-thanks-to-startcom/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Making a rich shortcrust pastry – Ideal for Quiche, pie, etc</title>
		<link>http://www.clearchain.com/blog/posts/making-a-rich-shortcrust-pastry-ideal-for-quiche-pie-etc</link>
		<comments>http://www.clearchain.com/blog/posts/making-a-rich-shortcrust-pastry-ideal-for-quiche-pie-etc#comments</comments>
		<pubDate>Mon, 21 Feb 2011 12:21:39 +0000</pubDate>
		<dc:creator>Benjamin Close</dc:creator>
				<category><![CDATA[Cooking]]></category>
		<category><![CDATA[pastry]]></category>
		<category><![CDATA[quiche]]></category>
		<category><![CDATA[recipie]]></category>
		<category><![CDATA[short crust]]></category>

		<guid isPermaLink="false">http://www.clearchain.com/blog/?p=893</guid>
		<description><![CDATA[<a href="http://www.clearchain.com/blog/posts/making-a-rich-shortcrust-pastry-ideal-for-quiche-pie-etc"><img align="left" hspace="5" width="150" src="http://www.clearchain.com/blog/images//2011/02/470-150x150.jpg" class="alignleft wp-post-image tfe" alt="Rich Short Crust Pastry" title="Rich Short Crust Pastry" /></a>A little while ago I was making a quiche and found I had no shortcrust pastry left. Rather than ducking out to the local shop and buying some I decided to make some. Searching through the recipie books I had I found a the following recipie (per Breville Inspirations book) Recipie: 180g butter chopped 2<a href="http://www.clearchain.com/blog/posts/making-a-rich-shortcrust-pastry-ideal-for-quiche-pie-etc"> <font size=-2>[..more..]</font></a>]]></description>
				<content:encoded><![CDATA[<div id="attachment_894" class="wp-caption alignleft" style="width: 160px"><a href="http://www.clearchain.com/blog/images//2011/02/470.jpg"><img class="size-thumbnail wp-image-894" title="Rich Short Crust Pastry" src="http://www.clearchain.com/blog/images//2011/02/470-150x150.jpg" alt="Rich Short Crust Pastry" width="150" height="150" /></a><p class="wp-caption-text">Rich Short Crust Pastry</p></div>
<p>A little while ago I was making a <a href="http://channelnine.ninemsn.com.au/blog.aspx?blogentryid=713414&amp;showcomments=true">quiche</a> and found I had no shortcrust pastry left. Rather than ducking out to the local shop and buying some I decided to make some. Searching through the recipie books I had I found a the following recipie (per <a href="http://www.breville.com.au/">Breville</a> Inspirations book)</p>
<h2>Recipie:</h2>
<ul>
<li>180g butter chopped</li>
<li>2 &amp; 1/4 cups plain flour</li>
<li>1 &amp; 1/2 teaspoons baking powder</li>
<li>1/4 teaspoon salt</li>
<li>2 tablespoons lemon juice</li>
<li>1 egg yolk, lightly beaten</li>
<li>Extra Flour for kneading</li>
</ul>
<h2>Steps to make the pastry</h2>
<ol>
<li>Using a beater, cream butter until soft.</li>
<li>Add flour, baking power and salt. Gradually add lemon juice and egg youlk to form a slightly crumbled dough.</li>
<li>Tourn dough onto a lightly flour dusted board and knead lightly to form a smooth ball.</li>
<li>Wrap dough in plastic wrap and refrigerate for 20 minutes before using</li>
</ol>
<h2>Things to remember</h2>
<p>After making this recipie there would be a few things I&#8217;d change for next time. The pastry is Very rich and hence I&#8217;d add the entire egg rather than just the yolk. Also the comment about refrigerating for 20mins depends on how cold the pastry is before it goes in the refrigerator. Don&#8217;t do what I did and refrigerate it all day until you make the quiche that night &#8211; the pastry will be rock hard and need microwaving before you can even make an indent in it!</p>
<p>Also remember to blind bake this pastry. (That is bake it for about 20minutes on 200 degrees Celcius) before filling it. If you don&#8217;t do this it might not be cooked before your filling is!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.clearchain.com/blog/posts/making-a-rich-shortcrust-pastry-ideal-for-quiche-pie-etc/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Solving the Apache SSL error “Oops, no RSA or DSA server certificate found for ‘www.somedomain.com:0′?!”</title>
		<link>http://www.clearchain.com/blog/posts/solving-the-apache-ssl-error-oops-no-rsa-or-dsa-server-certificate-found-for-www-somedomain-com0</link>
		<comments>http://www.clearchain.com/blog/posts/solving-the-apache-ssl-error-oops-no-rsa-or-dsa-server-certificate-found-for-www-somedomain-com0#comments</comments>
		<pubDate>Fri, 21 Jan 2011 01:17:29 +0000</pubDate>
		<dc:creator>Benjamin Close</dc:creator>
				<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[certificate]]></category>
		<category><![CDATA[crash]]></category>
		<category><![CDATA[httpd]]></category>
		<category><![CDATA[openssl]]></category>
		<category><![CDATA[ssl]]></category>
		<category><![CDATA[startup]]></category>
		<category><![CDATA[webserver]]></category>
		<category><![CDATA[www]]></category>

		<guid isPermaLink="false">http://www.clearchain.com/blog/?p=877</guid>
		<description><![CDATA[<a href="http://www.clearchain.com/blog/posts/solving-the-apache-ssl-error-oops-no-rsa-or-dsa-server-certificate-found-for-www-somedomain-com0"><img align="left" hspace="5" width="150" src="http://www.clearchain.com/blog/images//2011/01/ssl-logo.gif" class="alignleft wp-post-image tfe" alt="" title="ssl-logo" /></a>Recently a colleague of mine came to me with a problem he was having with SSL certificates and the web server Apache 2.2. Put simply Apache (httpd) would not start. It was an unusual situation as this server had been running flawlessly for almost 2 years and it was only a recent power outage that<a href="http://www.clearchain.com/blog/posts/solving-the-apache-ssl-error-oops-no-rsa-or-dsa-server-certificate-found-for-www-somedomain-com0"> <font size=-2>[..more..]</font></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.clearchain.com/blog/images//2011/01/ssl-logo.gif"><img class="alignleft size-full wp-image-883" title="ssl-logo" src="http://www.clearchain.com/blog/images//2011/01/ssl-logo.gif" alt="" width="100" height="50" /></a>Recently a colleague of mine came to me with a problem he was having with SSL certificates and the <a href="http://httpd.apache.org/">web server Apache 2.2</a>. Put simply Apache (httpd) would not start. It was an unusual situation as this server had been running flawlessly for almost 2 years and it was only a recent power outage that had caused the error to occur. Running<em> apachectl configtest</em> revealed no problems with the setup but when running <em>apachectl start</em>, whilst there was no errors reported on the command line, apache would instantly die/crash. Checking the log files we found:</p>
<pre><strong>[Thu Jan 20 14:15:16 2011] [error] Oops, no RSA or DSA server certificate found for 'www.somedomain.com:0'?!</strong></pre>
<p>Whilst <em>somedomain.com</em> isn&#8217;t the official domain name reported (I can&#8217;t reveal the client), this error was being printed for every SSL host except the default SSL host. Ironically the default SSL host was simply a redirect to one of the others. A quick check and indeed the problem lied with the SSL hosts &#8211; we removed every ssl host and the webserver would start fine &#8211; obviously without any ssl.</p>
<p>My colleague and I were  perplexed. He&#8217;d tried a quite few things to fix this all without luck. A so call Server Admin told him it was due to not using ip based virtual hosts for ssl, he claimed you can&#8217;t use Name Base Virtual hosts with SSL. No doubt this was obtained from a <a href="http://mail-archives.apache.org/mod_mbox/httpd-users/200512.mbox/%3C8C29B2F93BAE9047A906EF6D6F9C5D43FE00B5@exchange2k301.gaia.fr%3E">quick google search for the error.</a> The problems is you <em><span style="text-decoration: underline;">can</span></em> run NamedBasedVirtual hosts with SSL on port 443 provided you have a wildcard SSL certificate. A wild is required for NamedBaseVirtual hosts as the SSL connection is established first before the headers are sent. A wildcard will allow any subdomain to use the SSL connection then apache will see the host header and respond with the appropriate vhost. If on only have a single certificate this does not work and you&#8217;ll need a separate IP per certificate.</p>
<p>Anyway, we began trying to debug the issue. First we checked the certificate files were at the specified locations &#8211; they were. Next we checked the certificates were actually valid. You can use the <a href="http://www.openssl.org/">openssl</a> command below to do this:</p>
<pre><strong>openssl x509 -noout -text -in <em>YOURCERTIFICATE.crt</em></strong></pre>
<p>The certificate, key, and certificate authority (CA) were all valid and in date.<br />
Next we tried putting each Vhost in to the config one by one to see if one host had errors over another. Turns out it didn&#8217;t matter what order each host was in the config file or which ssl hosts were included, they all had issues &#8211; except for the default ssl vhost.</p>
<p>At this point we were a little lost. So we decided to go back to basics and work out what the error really meant. We search to see what apache module the error came from. A simple grep later we&#8217;d narrowed down the error to mod_ssl. A search of the mod_ssl source code found the following instance of the message:</p>
<pre># grep Oops *
ssl_engine_init.c:                         "Init: Oops, you want to request client "
ssl_engine_init.c:                "<strong>Oops, no RSA or DSA server certificate found</strong> "
ssl_engine_init.c:                "Oops, no RSA or DSA server private key found?!");
ssl_engine_io.c:                    (argp != NULL ? "(BIO dump follows)" : "(Oops, no memory buffer?)"));</pre>
<p>Looking in <em>ssl_engine_init.c </em>we found the error came from the following function</p>

<div class="wp_syntax"><table><tr><td class="code"><pre class="c" style="font-family:monospace;"><span style="color: #993333;">static</span> <span style="color: #993333;">void</span> ssl_init_server_certs<span style="color: #009900;">&#40;</span>server_rec <span style="color: #339933;">*</span>s<span style="color: #339933;">,</span>
                                  apr_pool_t <span style="color: #339933;">*</span>p<span style="color: #339933;">,</span>
                                  apr_pool_t <span style="color: #339933;">*</span>ptemp<span style="color: #339933;">,</span>
                                  modssl_ctx_t <span style="color: #339933;">*</span>mctx<span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
    <span style="color: #993333;">const</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>rsa_id<span style="color: #339933;">,</span> <span style="color: #339933;">*</span>dsa_id<span style="color: #339933;">;</span>
    <span style="color: #993333;">const</span> <span style="color: #993333;">char</span> <span style="color: #339933;">*</span>vhost_id <span style="color: #339933;">=</span> mctx<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>sc<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>vhost_id<span style="color: #339933;">;</span>
    <span style="color: #993333;">int</span> i<span style="color: #339933;">;</span>
    <span style="color: #993333;">int</span> have_rsa<span style="color: #339933;">,</span> have_dsa<span style="color: #339933;">;</span>
&nbsp;
    rsa_id <span style="color: #339933;">=</span> ssl_asn1_table_keyfmt<span style="color: #009900;">&#40;</span>ptemp<span style="color: #339933;">,</span> vhost_id<span style="color: #339933;">,</span> SSL_AIDX_RSA<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    dsa_id <span style="color: #339933;">=</span> ssl_asn1_table_keyfmt<span style="color: #009900;">&#40;</span>ptemp<span style="color: #339933;">,</span> vhost_id<span style="color: #339933;">,</span> SSL_AIDX_DSA<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #339933;">&lt;</span>em<span style="color: #339933;">&gt;</span>have_rsa<span style="color: #339933;">&lt;/</span>em<span style="color: #339933;">&gt;</span> <span style="color: #339933;">=</span> ssl_server_import_cert<span style="color: #009900;">&#40;</span>s<span style="color: #339933;">,</span> mctx<span style="color: #339933;">,</span> rsa_id<span style="color: #339933;">,</span> SSL_AIDX_RSA<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #339933;">&lt;</span>em<span style="color: #339933;">&gt;</span>have_dsa<span style="color: #339933;">&lt;/</span>em<span style="color: #339933;">&gt;</span> <span style="color: #339933;">=</span> ssl_server_import_cert<span style="color: #009900;">&#40;</span>s<span style="color: #339933;">,</span> mctx<span style="color: #339933;">,</span> dsa_id<span style="color: #339933;">,</span> SSL_AIDX_DSA<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: #339933;">!</span><span style="color: #009900;">&#40;</span>have_rsa <span style="color: #339933;">||</span> have_dsa<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        ap_log_error<span style="color: #009900;">&#40;</span>APLOG_MARK<span style="color: #339933;">,</span> APLOG_ERR<span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> s<span style="color: #339933;">,</span>
                <span style="color: #339933;">&lt;</span>strong<span style="color: #339933;">&gt;</span><span style="color: #ff0000;">&quot;Oops, no RSA or DSA server certificate found &quot;</span>
                <span style="color: #ff0000;">&quot;for&lt;/strong&gt; '%s:%d'?!&quot;</span><span style="color: #339933;">,</span> s<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>server_hostname<span style="color: #339933;">,</span> s<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>port<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        ssl_die<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    <span style="color: #b1b100;">for</span> <span style="color: #009900;">&#40;</span>i <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span> i <span style="color: #339933;">&amp;</span>lt<span style="color: #339933;">;</span> SSL_AIDX_MAX<span style="color: #339933;">;</span> i<span style="color: #339933;">++</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>         ssl_check_public_cert<span style="color: #009900;">&#40;</span>s<span style="color: #339933;">,</span> ptemp<span style="color: #339933;">,</span> mctx<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>pks<span style="color: #339933;">-&amp;</span>gt<span style="color: #339933;">;</span>certs<span style="color: #009900;">&#91;</span>i<span style="color: #009900;">&#93;</span><span style="color: #339933;">,</span> i<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    have_rsa <span style="color: #339933;">=</span> ssl_server_import_key<span style="color: #009900;">&#40;</span>s<span style="color: #339933;">,</span> mctx<span style="color: #339933;">,</span> rsa_id<span style="color: #339933;">,</span> SSL_AIDX_RSA<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    have_dsa <span style="color: #339933;">=</span> ssl_server_import_key<span style="color: #009900;">&#40;</span>s<span style="color: #339933;">,</span> mctx<span style="color: #339933;">,</span> dsa_id<span style="color: #339933;">,</span> SSL_AIDX_DSA<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: #339933;">!</span><span style="color: #009900;">&#40;</span>have_rsa <span style="color: #339933;">||</span> have_dsa<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        ap_log_error<span style="color: #009900;">&#40;</span>APLOG_MARK<span style="color: #339933;">,</span> APLOG_ERR<span style="color: #339933;">,</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">,</span> s<span style="color: #339933;">,</span>
                <span style="color: #ff0000;">&quot;Oops, no RSA or DSA server private key found?!&quot;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        ssl_die<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<p>Hence  the error was caused by the certificates not being able to be imported. Once again we checked paths to make sure the certificates/keys were correct. Alas they were. So we began to wonder why the certificates couldn&#8217;t be found. We&#8217;d specified the correct files, confirmed they were correct. It occurred to me that perhaps the openSSL context had not been setup correctly. But why not? I took a look at the default SSL vhost which did work and noticed a single line that were not in any of the other ssl vhosts.</p>
<pre>SSLEngine on</pre>
<p>The comment above this line read:</p>
<pre>#   SSL Engine Switch:
#   Enable/Disable SSL for this virtual host.</pre>
<p>I added &#8220;<em>SSLEngine On&#8221;</em> to the other ssl vhosts and it worked! So it turns out you can have an vhost setup on port 443 without SSL hence for each vhost you want SSL working in you must add the above line. My colleague was extremely thankful &#8211; why it happened in the  first place, we still don&#8217;t know. We suspect previously the option may have been enabled globally. However the fix allows apache to run again and works after a clean shutdown and startup.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.clearchain.com/blog/posts/solving-the-apache-ssl-error-oops-no-rsa-or-dsa-server-certificate-found-for-www-somedomain-com0/feed</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
	</channel>
</rss><!-- Dynamic page generated in 1.718 seconds. --><!-- Cached page generated by WP-Super-Cache on 2013-05-25 06:35:30 --><!-- Compression = gzip -->
