<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	>

<channel>
	<title>moosechips</title>
	<atom:link href="http://www.moosechips.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.moosechips.com</link>
	<description>leaving my mark on the internet</description>
	<pubDate>Wed, 19 Nov 2008 22:52:29 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Linux: Find Motherboard Information</title>
		<link>http://www.moosechips.com/2008/11/linux-find-motherboard-information/</link>
		<comments>http://www.moosechips.com/2008/11/linux-find-motherboard-information/#comments</comments>
		<pubDate>Wed, 19 Nov 2008 22:51:16 +0000</pubDate>
		<dc:creator>moosechips</dc:creator>
		
		<category><![CDATA[<linux>]]></category>

		<category><![CDATA[dmidecode]]></category>

		<category><![CDATA[find]]></category>

		<category><![CDATA[information]]></category>

		<category><![CDATA[manufacturer]]></category>

		<category><![CDATA[motherboard]]></category>

		<guid isPermaLink="false">http://www.moosechips.com/?p=409</guid>
		<description><![CDATA[Find the manufacturer and version of your motherboard with this command:

sudo dmidecode &#124; grep &#34;Base Board&#34; -A 13

Example output:

Base Board Information
        Manufacturer: ASUSTeK Computer INC.
        Product Name: Maximus Formula
        Version: Rev 1.xx
   [...]]]></description>
			<content:encoded><![CDATA[<p>Find the manufacturer and version of your motherboard with this command:</p>

<div class="wp_syntax"><div class="wp-syntax-code"><pre class="bash geshicode" id="geshiid" style="font-family:monospace;color: #FFF;"><span style="color: #c20cb9; font-weight: bold;color: #729FCF;">sudo</span> dmidecode | <span style="color: #c20cb9; font-weight: bold;color: #729FCF;">grep</span> <span style="color: #ff0000;color: #AD7FA8;">&quot;Base Board&quot;</span> <span style="color: #660033;color: #cccccc;">-A</span> <span class="nu0"><span style="color: #FCE94F;">13</span></span></pre></div></div>

<p>Example output:</p>

<div class="wp_syntax"><div class="wp-syntax-code"><pre class="bash geshicode" id="geshiid" style="font-family:monospace;color: #FFF;">Base Board Information
        Manufacturer: ASUSTeK Computer INC.
        Product Name: Maximus Formula
        Version: Rev 1.xx
        Serial Number: XXXXXXXXXXX
        Asset Tag: To Be Filled By O.E.M.
        Features:
                Board is a hosting board
                Board is replaceable
        Location In Chassis: To Be Filled By O.E.M.
        Chassis Handle: 0x0003
        Type: Motherboard
        Contained Object Handles: 0</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.moosechips.com/2008/11/linux-find-motherboard-information/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Election 2008</title>
		<link>http://www.moosechips.com/2008/11/election-2008/</link>
		<comments>http://www.moosechips.com/2008/11/election-2008/#comments</comments>
		<pubDate>Tue, 04 Nov 2008 18:10:54 +0000</pubDate>
		<dc:creator>moosechips</dc:creator>
		
		<category><![CDATA[<links>]]></category>

		<category><![CDATA[2008]]></category>

		<category><![CDATA[ap]]></category>

		<category><![CDATA[biden]]></category>

		<category><![CDATA[election]]></category>

		<category><![CDATA[google]]></category>

		<category><![CDATA[map]]></category>

		<category><![CDATA[news]]></category>

		<category><![CDATA[palin]]></category>

		<category><![CDATA[polls]]></category>

		<category><![CDATA[president]]></category>

		<category><![CDATA[results]]></category>

		<category><![CDATA[vote]]></category>

		<guid isPermaLink="false">http://www.moosechips.com/?p=396</guid>
		<description><![CDATA[A few sites to keep updated on election day:
Google Election Maps Shows live and historic results, polls, and Palin and Biden&#8217;s life journey
Google Election 2008 News Information on voting and election news
AP Election 2008 News Election news and webcasts
CNN Election Results

]]></description>
			<content:encoded><![CDATA[<p>A few sites to keep updated on election day:</p>
<p><a href="http://maps.google.com/help/maps/elections/">Google Election Maps</a> Shows live and historic results, polls, and Palin and Biden&#8217;s life journey</p>
<p><a href="http://www.google.com/2008election/">Google Election 2008 News</a> Information on voting and election news</p>
<p><a href="http://www.ap.org/elections2008/">AP Election 2008 News</a> Election news and webcasts</p>
<p><a href="http://election.cbsnews.com/election2008/">CNN Election Results</a></p>
<p><script src="http://www.gmodules.com/ig/ifr?url=http://general-election-2008.googlecode.com/svn/trunk/results-gadget.xml&amp;up_state=us&amp;up_race=President&amp;up_countdown=1&amp;synd=open&amp;w=620&amp;h=480&amp;title=2008+Election+Results+from+Google&amp;lang=all&amp;country=ALL&amp;border=%23ffffff%7C3px%2C1px+solid+%23999999&amp;output=js"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.moosechips.com/2008/11/election-2008/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Using Gcc C++ Hash Classes With Strings</title>
		<link>http://www.moosechips.com/2008/10/using-gcc-c-hash-classes-with-strings/</link>
		<comments>http://www.moosechips.com/2008/10/using-gcc-c-hash-classes-with-strings/#comments</comments>
		<pubDate>Fri, 31 Oct 2008 01:54:33 +0000</pubDate>
		<dc:creator>moosechips</dc:creator>
		
		<category><![CDATA[<code>]]></category>

		<category><![CDATA[c++]]></category>

		<category><![CDATA[example]]></category>

		<category><![CDATA[gcc]]></category>

		<category><![CDATA[hash]]></category>

		<category><![CDATA[hash table]]></category>

		<category><![CDATA[hash_map]]></category>

		<category><![CDATA[hash_set]]></category>

		<category><![CDATA[std]]></category>

		<category><![CDATA[string]]></category>

		<category><![CDATA[__gnu_cxx]]></category>

		<guid isPermaLink="false">http://www.moosechips.com/?p=387</guid>
		<description><![CDATA[So even though hash_map and hash_set aren&#8217;t a part of the C++ standard, there are still implementations included with the gcc compiler.  You have to include  or  and a little magic to get them to work properly with std::string keys.

// Example code using a hash_set with std::string keys on gcc
// Example based [...]]]></description>
			<content:encoded><![CDATA[<p>So even though hash_map and hash_set aren&#8217;t a part of the C++ standard, there are still implementations included with the gcc compiler.  You have to include <ext/hash_map> or <ext/hash_set> and a little magic to get them to work properly with std::string keys.</p>

<div class="wp_syntax"><div class="wp-syntax-code"><pre class="cpp geshicode" id="geshiid" style="font-family:monospace;color: #FFF;"><span class="co1"><span style="color: #666666; color: #81D962;">// Example code using a hash_set with std::string keys on gcc</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">// Example based on hash_set code from &quot;6.7 Using Hashed Containers&quot;</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">// in O'Reilly C++ Cookbook by Stephens, Diggins, Turkanis &amp; Cogswell  (2006)</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">// and gcc fix from post http://gcc.gnu.org/ml/libstdc++/2002-04/msg00107.html</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">// Tested with g++ 4.1.2</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">// Compile with:</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">// g++ -o hash hash.cpp</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">// Kristi Tsukida &lt;kristi.tsukida at gmail dot com&gt; 30-10-2008</span></span>
&nbsp;
<span class="co2"><span style="color: #339900;">#include &lt;iostream&gt;</span></span>
<span class="co2"><span style="color: #339900;">#include &lt;string&gt;</span></span>
<span class="co2"><span style="color: #339900;">#include &lt;ext/hash_set&gt;</span></span>
&nbsp;
<span style="color: #0000ff;color: #729FCF;">using</span> <span style="color: #0000ff;color: #729FCF;">namespace</span> std;
<span class="co1"><span style="color: #666666; color: #81D962;">// The __gnu_cxx namespace contains the hash_set since it's not standard c++</span></span>
<span style="color: #0000ff;color: #729FCF;">using</span> <span style="color: #0000ff;color: #729FCF;">namespace</span> __gnu_cxx;
&nbsp;
<span class="co1"><span style="color: #666666; color: #81D962;">// This is the magic that will allow the usage of string keys in the hash</span></span>
<span style="color: #0000ff;color: #729FCF;">namespace</span> __gnu_cxx
<span class="br0"><span style=" color: #cccccc;">&#123;</span></span>
        <span style="color: #0000ff;color: #729FCF;">template</span><span style=" color: #cccccc;">&lt;&gt;</span> <span style="color: #35CECE;">struct</span> hash<span style=" color: #cccccc;">&lt;</span> std<span style=" color: #cccccc;">::</span><span class="me2"><span style="color: #35CECE;">string</span></span> <span style=" color: #cccccc;">&gt;</span>
        <span class="br0"><span style=" color: #cccccc;">&#123;</span></span>
                <span style="color: #35CECE;">size_t</span> operator<span class="br0"><span style=" color: #cccccc;">&#40;</span></span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span><span class="br0"><span style=" color: #cccccc;">&#40;</span></span> <span style="color: #35CECE;">const</span> std<span style=" color: #cccccc;">::</span><span class="me2"><span style="color: #35CECE;">string</span></span><span style=" color: #cccccc;">&amp;</span> x <span class="br0"><span style=" color: #cccccc;">&#41;</span></span> <span style="color: #35CECE;">const</span>
                <span class="br0"><span style=" color: #cccccc;">&#123;</span></span>
                        <span style="color: #0000ff;color: #729FCF;">return</span> hash<span style=" color: #cccccc;">&lt;</span> <span style="color: #35CECE;">const</span> <span style="color: #35CECE;">char</span><span style=" color: #cccccc;">*</span> <span style=" color: #cccccc;">&gt;</span><span class="br0"><span style=" color: #cccccc;">&#40;</span></span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span><span class="br0"><span style=" color: #cccccc;">&#40;</span></span> x.<span class="me1"><span style="color: #35CECE;">c_str</span></span><span class="br0"><span style=" color: #cccccc;">&#40;</span></span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span> <span class="br0"><span style=" color: #cccccc;">&#41;</span></span>;
                <span class="br0"><span style=" color: #cccccc;">&#125;</span></span>
        <span class="br0"><span style=" color: #cccccc;">&#125;</span></span>;
<span class="br0"><span style=" color: #cccccc;">&#125;</span></span>
&nbsp;
<span class="co1"><span style="color: #666666; color: #81D962;">// must specify the hash&lt;string&gt; hash function</span></span>
<span style="color: #35CECE;">typedef</span> hash_set<span style=" color: #cccccc;">&lt;</span>string, hash<span style=" color: #cccccc;">&lt;</span>string<span style=" color: #cccccc;">&gt;</span> <span style=" color: #cccccc;">&gt;</span> string_hash_set;
&nbsp;
<span style="color: #35CECE;">int</span> main<span class="br0"><span style=" color: #cccccc;">&#40;</span></span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span>
<span class="br0"><span style=" color: #cccccc;">&#123;</span></span>
	string_hash_set hs;
&nbsp;
	string s <span style=" color: #cccccc;">=</span> <span style="color: #FF0000;color: #AD7FA8;">&quot;bravo&quot;</span>;
	hs.<span class="me1"><span style="color: #35CECE;">insert</span></span><span class="br0"><span style=" color: #cccccc;">&#40;</span></span>s<span class="br0"><span style=" color: #cccccc;">&#41;</span></span>;
	s <span style=" color: #cccccc;">=</span> <span style="color: #FF0000;color: #AD7FA8;">&quot;alpha&quot;</span>;
	hs.<span class="me1"><span style="color: #35CECE;">insert</span></span><span class="br0"><span style=" color: #cccccc;">&#40;</span></span>s<span class="br0"><span style=" color: #cccccc;">&#41;</span></span>;
	s <span style=" color: #cccccc;">=</span> <span style="color: #FF0000;color: #AD7FA8;">&quot;charlie&quot;</span>;
	hs.<span class="me1"><span style="color: #35CECE;">insert</span></span><span class="br0"><span style=" color: #cccccc;">&#40;</span></span>s<span class="br0"><span style=" color: #cccccc;">&#41;</span></span>;
&nbsp;
	<span style="color: #0000ff;color: #729FCF;">for</span><span class="br0"><span style=" color: #cccccc;">&#40;</span></span>string_hash_set<span style=" color: #cccccc;">::</span><span class="me2"><span style="color: #35CECE;">const_iterator</span></span> p <span style=" color: #cccccc;">=</span> hs.<span class="me1"><span style="color: #35CECE;">begin</span></span><span class="br0"><span style=" color: #cccccc;">&#40;</span></span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span>; p<span style=" color: #cccccc;">!</span><span style=" color: #cccccc;">=</span> hs.<span class="me1"><span style="color: #35CECE;">end</span></span><span class="br0"><span style=" color: #cccccc;">&#40;</span></span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span>; <span style=" color: #cccccc;">++</span>p<span class="br0"><span style=" color: #cccccc;">&#41;</span></span>
	<span class="br0"><span style=" color: #cccccc;">&#123;</span></span>
		<a href="http://www.cplusplus.com/cout"><span style="color: #0000dd;color: #729FCF;">cout</span></a> <span style=" color: #cccccc;">&lt;&lt;</span> <span style=" color: #cccccc;">*</span>p <span style=" color: #cccccc;">&lt;&lt;</span> endl;
	<span class="br0"><span style=" color: #cccccc;">&#125;</span></span>
&nbsp;
<span class="br0"><span style=" color: #cccccc;">&#125;</span></span></pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.moosechips.com/2008/10/using-gcc-c-hash-classes-with-strings/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Fedora: Rebuild A Source Package</title>
		<link>http://www.moosechips.com/2008/10/fedora-rebuild-a-source-package/</link>
		<comments>http://www.moosechips.com/2008/10/fedora-rebuild-a-source-package/#comments</comments>
		<pubDate>Thu, 23 Oct 2008 18:09:15 +0000</pubDate>
		<dc:creator>moosechips</dc:creator>
		
		<category><![CDATA[<linux>]]></category>

		<category><![CDATA[0.9.2]]></category>

		<category><![CDATA[fedora]]></category>

		<category><![CDATA[package]]></category>

		<category><![CDATA[rebuild]]></category>

		<category><![CDATA[recompile]]></category>

		<category><![CDATA[rpm]]></category>

		<category><![CDATA[rpmbuild]]></category>

		<category><![CDATA[source]]></category>

		<category><![CDATA[update]]></category>

		<category><![CDATA[vlc]]></category>

		<category><![CDATA[yum]]></category>

		<guid isPermaLink="false">http://www.moosechips.com/?p=276</guid>
		<description><![CDATA[General instructions to rebuild a Fedora source rpm.
Note: This example uses the vlc source rpm, but it doesn&#8217;t work on my Fedora 8 system because there are problems installing dependencies, but the general commands should work on other packages

Install build tools
su -c 'yum install yum-utils rpmdevtools'

Download source package.  Either use yumdownloader to download from [...]]]></description>
			<content:encoded><![CDATA[<p>General instructions to rebuild a Fedora source rpm.</p>
<p><em>Note: This example uses the vlc source rpm, but it doesn&#8217;t work on my Fedora 8 system because there are problems installing dependencies, but the general commands should work on other packages</em></p>
<ol class="clearfloats">
<li>Install build tools
<pre class="code">su -c 'yum install yum-utils rpmdevtools'</pre>
</li>
<li>Download source package.  Either use yumdownloader to download from an existing repository:
<pre class="code">yumdownloader --source vlc</pre>
<p>or download directly from a server</p>
<pre class="code">wget -nd ftp://ftp.pbone.net/mirror/rpm.livna.org/fedora/development/SRPMS/\
vlc-0.9.0-0.5.20080802git.lvn10.src.rpm</pre>
</li>
<li>Install the source package.  This will unpack the source into your /$HOME/rpmbuild directory.
<pre class="code">rpm -Uvh vlc-0.8.6i-1.lvn8.src.rpm</pre>
</li>
<li>Install build dependencies for the source package
<pre class="code">su -c 'yum-builddep vlc-0.8.6i-1.lvn8.src.rpm'</pre>
</li>
<li>Edit the spec file
<pre class="code">cd ~/rpmbuild/SPECS
vim vlc.spec</pre>
</li>
<li>Add the new source package
<pre class="code">cd ../SOURCES
wget -nd http://download.videolan.org/pub/videolan/vlc/0.9.2/vlc-0.9.2.tar.bz2</pre>
</li>
<li>Build the rpm
<pre class="code">cd ../SPECS
rpmbuild -bb vlc.spec</pre>
</li>
<li>Install the rpm
<pre class="code">cd ../RPMS/x86_64
rpm -Uvh vlc-0.9.2.fc8.x86_64.rpm</pre>
</li>
</ol>
<p>References:<br />
 <a href="http://fedoraproject.org/wiki/Docs/CustomKernel">Building a kernel from the src rpm</a> <br />
 <a href="http://docs.fedoraproject.org/drafts/rpm-guide-en/">Fedora rpm guide</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.moosechips.com/2008/10/fedora-rebuild-a-source-package/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Skymaps - Monthly constellation maps</title>
		<link>http://www.moosechips.com/2008/10/skymaps-monthly-constellation-maps/</link>
		<comments>http://www.moosechips.com/2008/10/skymaps-monthly-constellation-maps/#comments</comments>
		<pubDate>Fri, 03 Oct 2008 19:15:09 +0000</pubDate>
		<dc:creator>moosechips</dc:creator>
		
		<category><![CDATA[<links>]]></category>

		<category><![CDATA[constellation]]></category>

		<category><![CDATA[free]]></category>

		<category><![CDATA[map]]></category>

		<category><![CDATA[meteor]]></category>

		<category><![CDATA[moon]]></category>

		<category><![CDATA[planets]]></category>

		<category><![CDATA[skymaps]]></category>

		<category><![CDATA[stars]]></category>

		<guid isPermaLink="false">http://www.moosechips.com/?p=378</guid>
		<description><![CDATA[Skymaps provides free monthly constellation maps which are nicely printable.  It also includes a monthly list of astronomical events such as meteor showers, eclipses, and moon phases.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.skymaps.com/downloads.html"><img class="alignleft size-full wp-image-382" title="skymap" src="http://www.moosechips.com/wp-content/uploads/2008/10/skymap.gif" alt="" width="214" height="161" /></a><a href="http://www.skymaps.com/downloads.html">Skymaps </a>provides free monthly constellation maps which are nicely printable.  It also includes a monthly list of astronomical events such as meteor showers, eclipses, and moon phases.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.moosechips.com/2008/10/skymaps-monthly-constellation-maps/feed/</wfw:commentRss>
		</item>
		<item>
		<title>SVN: Ignore files not under version control</title>
		<link>http://www.moosechips.com/2008/09/svn-ignore-files-not-under-version-control/</link>
		<comments>http://www.moosechips.com/2008/09/svn-ignore-files-not-under-version-control/#comments</comments>
		<pubDate>Mon, 29 Sep 2008 19:59:03 +0000</pubDate>
		<dc:creator>moosechips</dc:creator>
		
		<category><![CDATA[<code>]]></category>

		<category><![CDATA[ignore]]></category>

		<category><![CDATA[propget]]></category>

		<category><![CDATA[propset]]></category>

		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://www.moosechips.com/?p=359</guid>
		<description><![CDATA[Add all files which aren&#8217;t currently under version control to the svn:ignore property.

for line in $&#40;svn status &#124; grep ^? &#124; awk '{print $2}'&#41;
do
    pushd $&#40;dirname $line&#41;
    svn propset svn:ignore &#34;$(svn propget svn:ignore)$(echo -e &#34;\n$&#40;basename $line&#41;&#34;)&#34; .  
    popd
done
svn commit

]]></description>
			<content:encoded><![CDATA[<p>Add all files which aren&#8217;t currently under version control to the svn:ignore property.</p>

<div class="wp_syntax"><div class="wp-syntax-code"><pre class="bash geshicode" id="geshiid" style="font-family:monospace;color: #FFF;"><span style="color: #000000; font-weight: bold;color: #729FCF;">for</span> line <span style="color: #000000; font-weight: bold;color: #729FCF;">in</span> $<span class="br0"><span style=" color: #cccccc;">&#40;</span></span><span style="color: #c20cb9; font-weight: bold;color: #729FCF;">svn</span> status | <span style="color: #c20cb9; font-weight: bold;color: #729FCF;">grep</span> ^? | <span style="color: #c20cb9; font-weight: bold;color: #729FCF;">awk</span> <span style="color: #ff0000;color: #AD7FA8;">'{print $2}'</span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span>
<span style="color: #000000; font-weight: bold;color: #729FCF;">do</span>
    <span style="color: #7a0874; font-weight: bold;color: #729FCF;">pushd</span> $<span class="br0"><span style=" color: #cccccc;">&#40;</span></span><span style="color: #c20cb9; font-weight: bold;color: #729FCF;">dirname</span> <span style="color: #007800;color: #cccccc;">$line</span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span>
    <span style="color: #c20cb9; font-weight: bold;color: #729FCF;">svn</span> propset <span style="color: #c20cb9; font-weight: bold;color: #729FCF;">svn</span>:ignore <span style="color: #ff0000;color: #AD7FA8;">&quot;$(svn propget svn:ignore)$(echo -e &quot;</span>\n$<span class="br0"><span style=" color: #cccccc;">&#40;</span></span><span style="color: #c20cb9; font-weight: bold;color: #729FCF;">basename</span> <span style="color: #007800;color: #cccccc;">$line</span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span><span style="color: #ff0000;color: #AD7FA8;">&quot;)&quot;</span> .  
    <span style="color: #7a0874; font-weight: bold;color: #729FCF;">popd</span>
<span style="color: #000000; font-weight: bold;color: #729FCF;">done</span>
<span style="color: #c20cb9; font-weight: bold;color: #729FCF;">svn</span> commit</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.moosechips.com/2008/09/svn-ignore-files-not-under-version-control/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Isnoop Package Tracking</title>
		<link>http://www.moosechips.com/2008/09/isnoop-package-tracking/</link>
		<comments>http://www.moosechips.com/2008/09/isnoop-package-tracking/#comments</comments>
		<pubDate>Tue, 23 Sep 2008 00:30:17 +0000</pubDate>
		<dc:creator>moosechips</dc:creator>
		
		<category><![CDATA[<links>]]></category>

		<category><![CDATA[dhl]]></category>

		<category><![CDATA[fedex]]></category>

		<category><![CDATA[google]]></category>

		<category><![CDATA[isnoop]]></category>

		<category><![CDATA[map]]></category>

		<category><![CDATA[package]]></category>

		<category><![CDATA[rss]]></category>

		<category><![CDATA[tracker]]></category>

		<category><![CDATA[ups]]></category>

		<category><![CDATA[usps]]></category>

		<guid isPermaLink="false">http://www.moosechips.com/?p=352</guid>
		<description><![CDATA[Isnoop pachage tracker will generate an rss feed for UPS, FedEx, USPS, or DHL package tracking information and view your package&#8217;s path in a google map.  Useful when you&#8217;re anxiously awaiting a package to arrive.
]]></description>
			<content:encoded><![CDATA[<div id="attachment_353" class="wp-caption alignright" style="width: 259px"><a href="http://www.moosechips.com/wp-content/uploads/2008/09/isnoop.png"><img class="size-medium wp-image-353" title="isnoop" src="http://www.moosechips.com/wp-content/uploads/2008/09/isnoop-249x119.png" alt="isnoop tracker screenshot" width="249" height="119" /></a><p class="wp-caption-text">isnoop tracker screenshot</p></div>
<p><a href="http://isnoop.net/tracking/">Isnoop pachage tracker</a> will generate an rss feed for UPS, FedEx, USPS, or DHL package tracking information and view your package&#8217;s path in a google map.  Useful when you&#8217;re anxiously awaiting a package to arrive.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.moosechips.com/2008/09/isnoop-package-tracking/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google Chrome on Linux via Wine</title>
		<link>http://www.moosechips.com/2008/09/google-chrome-on-linux-via-wine/</link>
		<comments>http://www.moosechips.com/2008/09/google-chrome-on-linux-via-wine/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 20:35:06 +0000</pubDate>
		<dc:creator>moosechips</dc:creator>
		
		<category><![CDATA[<linux>]]></category>

		<category><![CDATA[browser]]></category>

		<category><![CDATA[chrome]]></category>

		<category><![CDATA[google]]></category>

		<category><![CDATA[ubuntu]]></category>

		<category><![CDATA[wine]]></category>

		<guid isPermaLink="false">http://www.moosechips.com/?p=270</guid>
		<description><![CDATA[So it&#8217;s possible to run the Google Chrome browser using Wine (latest dev version 1.1.4), though it&#8217;s kinda slow, and won&#8217;t do any https sites.
Ubuntu thread w/ instructions (These didn&#8217;t work for me on Fedora 8)
Wine App DB page w/instructions (These worked for me on Fedora 8)
]]></description>
			<content:encoded><![CDATA[<p>So it&#8217;s possible to run the <a href="http://www.google.com/chrome">Google Chrome</a> browser using <a href="http://www.winehq.org/">Wine</a> (latest dev version 1.1.4), though it&#8217;s kinda slow, and won&#8217;t do any https sites.</p>
<p><a href="http://ubuntuforums.org/showpost.php?p=5719331&amp;postcount=45">Ubuntu thread w/ instructions</a> (These didn&#8217;t work for me on Fedora 8)</p>
<p><a href="http://appdb.winehq.org/objectManager.php?sClass=version&amp;iId=13635&amp;iTestingId=30832">Wine App DB page w/instructions</a> (These worked for me on Fedora 8)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.moosechips.com/2008/09/google-chrome-on-linux-via-wine/feed/</wfw:commentRss>
		</item>
		<item>
		<title>YellowIcon Icons</title>
		<link>http://www.moosechips.com/2008/09/yellow-icon/</link>
		<comments>http://www.moosechips.com/2008/09/yellow-icon/#comments</comments>
		<pubDate>Sat, 06 Sep 2008 23:19:35 +0000</pubDate>
		<dc:creator>moosechips</dc:creator>
		
		<category><![CDATA[<links>]]></category>

		<category><![CDATA[icon]]></category>

		<category><![CDATA[images]]></category>

		<category><![CDATA[yellowicon]]></category>

		<guid isPermaLink="false">http://www.moosechips.com/?p=253</guid>
		<description><![CDATA[
The Yellow Icon downloads section has a bunch of cool icons / images / wallpapers.
]]></description>
			<content:encoded><![CDATA[<p><a href="http://yellowicon.com/downloads"><img class="alignright size-full wp-image-264" title="ironman icon" src="http://www.moosechips.com/wp-content/uploads/2008/09/m-iii_128x128.png" alt="" width="128" height="128" /></a></p>
<p><a href="http://yellowicon.com/downloads"><img class="alignleft size-full wp-image-258" title="huan-huan" src="http://www.moosechips.com/wp-content/uploads/2008/09/huan-huan_128x128.png" alt="" width="128" height="128" /></a>The <a href="http://yellowicon.com/downloads/">Yellow Icon downloads</a> section has a bunch of cool icons / images / wallpapers.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.moosechips.com/2008/09/yellow-icon/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Webgadgets Amazon Price Tracker</title>
		<link>http://www.moosechips.com/2008/09/webgadgets-amazon-price-tracker/</link>
		<comments>http://www.moosechips.com/2008/09/webgadgets-amazon-price-tracker/#comments</comments>
		<pubDate>Sat, 06 Sep 2008 00:39:35 +0000</pubDate>
		<dc:creator>moosechips</dc:creator>
		
		<category><![CDATA[<links>]]></category>

		<category><![CDATA[amazon]]></category>

		<category><![CDATA[price]]></category>

		<category><![CDATA[tracker]]></category>

		<guid isPermaLink="false">http://www.moosechips.com/?p=246</guid>
		<description><![CDATA[Looks like the Webgadgets Amazon Price Tracker just got a new makeover.  This is a pretty cool site which tracks the prices of things on Amazon and graphs them so you know if you&#8217;re getting a good deal.  You can also track everything in your wishlist if you create a public wishlist on Amazon.
]]></description>
			<content:encoded><![CDATA[<p>Looks like the <a title="webgadgets price tracker" href="http://www.webgadgets.ws/aws/">Webgadgets Amazon Price Tracker</a> just got a new makeover.  This is a pretty cool site which tracks the prices of things on Amazon and graphs them so you know if you&#8217;re getting a good deal.  You can also track everything in your wishlist if you create a public wishlist on Amazon.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.moosechips.com/2008/09/webgadgets-amazon-price-tracker/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ubuntu: Wacom Tablet Hotplugging</title>
		<link>http://www.moosechips.com/2008/09/ubuntu-wacom-tablet-hotplugging/</link>
		<comments>http://www.moosechips.com/2008/09/ubuntu-wacom-tablet-hotplugging/#comments</comments>
		<pubDate>Tue, 02 Sep 2008 01:05:42 +0000</pubDate>
		<dc:creator>moosechips</dc:creator>
		
		<category><![CDATA[<linux>]]></category>

		<category><![CDATA[10-wacom.fdi]]></category>

		<category><![CDATA[2.6.26]]></category>

		<category><![CDATA[2.6.27]]></category>

		<category><![CDATA[8.10]]></category>

		<category><![CDATA[driver]]></category>

		<category><![CDATA[fdi]]></category>

		<category><![CDATA[hal]]></category>

		<category><![CDATA[hotplug]]></category>

		<category><![CDATA[howto]]></category>

		<category><![CDATA[input]]></category>

		<category><![CDATA[install]]></category>

		<category><![CDATA[intrepid]]></category>

		<category><![CDATA[kernel]]></category>

		<category><![CDATA[linuxwacom]]></category>

		<category><![CDATA[module]]></category>

		<category><![CDATA[tablet]]></category>

		<category><![CDATA[ubuntu]]></category>

		<category><![CDATA[wacom]]></category>

		<category><![CDATA[wacom.fdi]]></category>

		<category><![CDATA[xorg]]></category>

		<category><![CDATA[xorg.conf]]></category>

		<category><![CDATA[xserver]]></category>

		<guid isPermaLink="false">http://www.moosechips.com/?p=212</guid>
		<description><![CDATA[Update 11-04-2008: The release version of Ubuntu 8.10 Intrepid should work out of the box, so you don&#8217;t need to do any of this. However, only the stylus works.  If linuxwacom comes out with an update to use the eraser and tablet buttons, you might need to manually install the linuxwacom driver, but right [...]]]></description>
			<content:encoded><![CDATA[<p><em>Update 11-04-2008: The release version of Ubuntu 8.10 Intrepid should work out of the box, so <strong>you don&#8217;t need to do any of this.</strong> However, only the stylus works.  If linuxwacom comes out with an update to use the eraser and tablet buttons, you might need to manually install the linuxwacom driver, but right now, enjoy the &#8220;it just works&#8221; philosophy.  :)</em></p>
<p>Ubuntu 8.10 &#8220;Intrepid Ibis&#8221; will use Xorg 7.4&#8217;s input hotplugging, allowing auto-detection of input devices (e.g. keyboards, mice, tablets) during an X session.  (Previously, input devices were only detected at the startup of an X session.)</p>
<p><em>Note that there are still a number of bugs with hotplugging: </em></p>
<ul class="compactList">
<li><em><span style="text-decoration: line-through;">you must install the latest linuxwacom driver to get correct clicking</span></em></li>
<li><em>hotplugging will only recognize the stylus events (so no eraser or express buttons)</em></li>
<li><em><span style="text-decoration: line-through;">unplugging the tablet causes X to crash.</span></em><em> </em> <del>Edit 9-20-08: There is a line in the linuxwacom source you need to edit to fix this (see step 4 of Manual Installation below). <em><a href="http://sourceforge.net/mailarchive/message.php?msg_name=167e8a330809111610h3487a31bge438ab62e957b076%40mail.gmail.com">[linuxwacom post]</a></em></del> Edit 11-04-08: Intrepid updated the linuxwacom driver that ships with Intrepid, so you don&#8217;t need to install the updated linuxwacom driver. </li>
</ul>
<p><strong>Installing LinuxWacom driver in Intrepid</strong><br />
 <small>(based off the Hardy linuxwacom install thread, <a href="http://ubuntuforums.org/showthread.php?t=765915">here</a>. Tested on Intrepid alpha 6 LiveCD)</small></p>
<p>Easy Method:</p>
<ol>
<li>Download my <a href="http://www.moosechips.com/wp-content/uploads/2008/09/install_linuxwacom">install_linuxwacom</a> script</li>
<li>Run the script

<div class="wp_syntax"><div class="wp-syntax-code"><pre class="bash geshicode" id="geshiid" style="font-family:monospace;color: #FFF;"><span style="color: #c20cb9; font-weight: bold;color: #729FCF;">chmod</span> +x install_linuxwacom
.<span style=" color: #cccccc;">/</span>install_linuxwacom</pre></div></div>

</li>
<li>Enjoy!</li>
</ol>
<p>Manual Installation Steps:</p>
<ol>
<li>Install required packages

<div class="wp_syntax"><div class="wp-syntax-code"><pre class="bash geshicode" id="geshiid" style="font-family:monospace;color: #FFF;"><span style="color: #c20cb9; font-weight: bold;color: #729FCF;">sudo</span> <span style="color: #c20cb9; font-weight: bold;color: #729FCF;">apt-get</span> update
<span style="color: #c20cb9; font-weight: bold;color: #729FCF;">sudo</span> <span style="color: #c20cb9; font-weight: bold;color: #729FCF;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;color: #729FCF;">install</span> linux-headers-$<span class="br0"><span style=" color: #cccccc;">&#40;</span></span><span style="color: #c20cb9; font-weight: bold;color: #729FCF;">uname</span> -r<span class="br0"><span style=" color: #cccccc;">&#41;</span></span> build-essential x11proto-core-dev libxau-dev libxdmcp-dev x11proto-input-dev x11proto-kb-dev xtrans-dev libx11-dev x11proto-xext-dev libxext-dev libxi-dev linux-libc-dev libc6-dev libncurses5-dev xserver-xorg-dev tk-dev tcl-dev <span style="color: #660033;color: #cccccc;">-y</span></pre></div></div>

</li>
<li>Download latest linuxwacom-dev package from <a title="LinuxWacom homepage" href="http://linuxwacom.sourceforge.net/">linuxwacom</a> (0.8.1-4 as of this writing)

<div class="wp_syntax"><div class="wp-syntax-code"><pre class="bash geshicode" id="geshiid" style="font-family:monospace;color: #FFF;"><span style="color: #c20cb9; font-weight: bold;color: #729FCF;">wget</span> <span style="color: #660033;color: #cccccc;">-nd</span> http:<span style=" color: #cccccc;">//</span>prdownloads.sourceforge.net<span style=" color: #cccccc;">/</span>linuxwacom<span style=" color: #cccccc;">/</span>
linuxwacom-0.8.1-4.tar.bz2</pre></div></div>

</li>
<li>Extract the source

<div class="wp_syntax"><div class="wp-syntax-code"><pre class="bash geshicode" id="geshiid" style="font-family:monospace;color: #FFF;"><span style="color: #c20cb9; font-weight: bold;color: #729FCF;">tar</span> xjvf linuxwacom-0.8.1-4.tar.bz2
<span style="color: #7a0874; font-weight: bold;color: #729FCF;">cd</span> linuxwacom-0.8.1-<span class="nu0"><span style="color: #FCE94F;">4</span></span></pre></div></div>

</li>
<li>To fix the X crashing when unplugging the tablet, edit line 381 of src/xdrv/wcmConfig.c replacing WCM_UNINIT_CALLED with WCM_XORG_XSERVER_1_4

<div class="wp_syntax"><div class="wp-syntax-code"><pre class="bash geshicode" id="geshiid" style="font-family:monospace;color: #FFF;"><span style="color: #c20cb9; font-weight: bold;color: #729FCF;">sed</span> <span style="color: #660033;color: #cccccc;">-i</span> <span style="color: #660033;color: #cccccc;">-e</span> <span style="color: #ff0000;color: #AD7FA8;">'381s/WCM_UNINIT_CALLED/WCM_XORG_XSERVER_1_4/'</span> src<span style=" color: #cccccc;">/</span>xdrv<span style=" color: #cccccc;">/</span>wcmConfig.c</pre></div></div>

</li>
<li>Compile the driver

<div class="wp_syntax"><div class="wp-syntax-code"><pre class="bash geshicode" id="geshiid" style="font-family:monospace;color: #FFF;">.<span style=" color: #cccccc;">/</span>configure <span style="color: #660033;color: #cccccc;">--enable-wacom</span>
<span style="color: #c20cb9; font-weight: bold;color: #729FCF;">make</span>
<span style="color: #c20cb9; font-weight: bold;color: #729FCF;">sudo</span> <span style="color: #c20cb9; font-weight: bold;color: #729FCF;">make</span> <span style="color: #c20cb9; font-weight: bold;color: #729FCF;">install</span></pre></div></div>

</li>
<li>(Optional) You can test the kernel module before installing it.  Plug in your tablet and see if it works correctly after executing these commands.

<div class="wp_syntax"><div class="wp-syntax-code"><pre class="bash geshicode" id="geshiid" style="font-family:monospace;color: #FFF;"><span style="color: #c20cb9; font-weight: bold;color: #729FCF;">sudo</span> rmmod wacom
<span style="color: #c20cb9; font-weight: bold;color: #729FCF;">sudo</span> insmod src<span style=" color: #cccccc;">/</span>2.6.26<span style=" color: #cccccc;">/</span>wacom.ko</pre></div></div>

<p>If it doesn&#8217;t work, you can reload the original driver. (Or just reboot your computer)</p>

<div class="wp_syntax"><div class="wp-syntax-code"><pre class="bash geshicode" id="geshiid" style="font-family:monospace;color: #FFF;"><span style="color: #c20cb9; font-weight: bold;color: #729FCF;">sudo</span> rmmod wacom
<span style="color: #c20cb9; font-weight: bold;color: #729FCF;">sudo</span> modprobe wacom</pre></div></div>

</li>
<li>Install the kernel module (and backup the original). (Note: The 2.6.26 module works with Intrepid&#8217;s 2.6.27 kernel)

<div class="wp_syntax"><div class="wp-syntax-code"><pre class="bash geshicode" id="geshiid" style="font-family:monospace;color: #FFF;"><span style="color: #c20cb9; font-weight: bold;color: #729FCF;">cp</span> <span style=" color: #cccccc;">/</span>lib<span style=" color: #cccccc;">/</span>modules<span style=" color: #cccccc;">/</span>$<span class="br0"><span style=" color: #cccccc;">&#40;</span></span><span style="color: #c20cb9; font-weight: bold;color: #729FCF;">uname</span> -r<span class="br0"><span style=" color: #cccccc;">&#41;</span></span><span style=" color: #cccccc;">/</span>kernel<span style=" color: #cccccc;">/</span>drivers<span style=" color: #cccccc;">/</span>input<span style=" color: #cccccc;">/</span>tablet<span style=" color: #cccccc;">/</span>wacom.ko wacom.ko.$<span class="br0"><span style=" color: #cccccc;">&#40;</span></span><span style="color: #c20cb9; font-weight: bold;color: #729FCF;">uname</span> -r<span class="br0"><span style=" color: #cccccc;">&#41;</span></span>
<span style="color: #c20cb9; font-weight: bold;color: #729FCF;">sudo</span> <span style="color: #c20cb9; font-weight: bold;color: #729FCF;">cp</span> src<span style=" color: #cccccc;">/</span>2.6.26<span style=" color: #cccccc;">/</span>wacom.ko <span style=" color: #cccccc;">/</span>lib<span style=" color: #cccccc;">/</span>modules<span style=" color: #cccccc;">/</span>$<span class="br0"><span style=" color: #cccccc;">&#40;</span></span><span style="color: #c20cb9; font-weight: bold;color: #729FCF;">uname</span> -r<span class="br0"><span style=" color: #cccccc;">&#41;</span></span><span style=" color: #cccccc;">/</span>kernel<span style=" color: #cccccc;">/</span>drivers<span style=" color: #cccccc;">/</span>input<span style=" color: #cccccc;">/</span>tablet<span style=" color: #cccccc;">/</span>wacom.ko</pre></div></div>

</li>
<li>Reload the kernel module with the new version

<div class="wp_syntax"><div class="wp-syntax-code"><pre class="bash geshicode" id="geshiid" style="font-family:monospace;color: #FFF;"><span style="color: #c20cb9; font-weight: bold;color: #729FCF;">sudo</span> rmmod wacom
<span style="color: #c20cb9; font-weight: bold;color: #729FCF;">sudo</span> modprobe wacom</pre></div></div>

</li>
<li>Enjoy! </li>
</ol>
<p><span id="more-212"></span></p>
<p><strong>Configuration notes:</strong></p>
<p>Since input devices use hotplugging, they are not configured in the usual /etc/X11/xorg.conf.  Instead, they have fdi files so HAL passes the parameters to xserver.  (Any input settings in the xorg.conf file will be ignored.)  <a href="http://www.ubuntu.com/testing/intrepid/alpha6#Known%20Issues">[Intrepid alpha 6 page]</a></p>
<p>Currently, only the stylus events work since HAL can only create one device, <span style="text-decoration: line-through;">and there are bugs in the linuxwacom driver causing X to crash when the tablet is unplugged</span>.  <a href="http://sourceforge.net/mailarchive/message.php?msg_name=200809052341.53176.alexiadeath%40gmail.com">[wacomlinux post]</a></p>
<p>Wacom config file:  /usr/share/hal/fdi/policy/20thirdparty/10-wacom.fdi</p>
<p>List HAL devices: hal-device  or  lshal</p>
<p><small>Intrepid Wacom Bugs:<br />
 260675                    <a href="https://bugs.launchpad.net/ubuntu/+source/linux/+bug/260675">[intrepid] Wacom Xorg module is incompadible with the kernel module shiped in kernel packages.</a><br />
 262780                    <a href="https://bugs.launchpad.net/ubuntu/+source/wacom-tools/+bug/262780">Wacom tablet is behaving wierdly in Intrepid</a><br />
 263315                    <a href="https://bugs.launchpad.net/ubuntu/+source/wacom-tools/+bug/263315">Wacom driver segfaults</a></small></p>
<p><small>Installation References:<br />
 <a title="Wacom in Hardy" href="http://ubuntuforums.org/showthread.php?t=765915">Ubuntu Forums: Installing LinuxWacom in Hardy</a><br />
 <a title="Install LinuxWacom Driver" href="https://help.ubuntu.com/community/Install_linuxwacom_driver#The%20XFree86/Xorg%20XInput%20Driver%20-%20USB%20and%20Serial">Ubuntu Wiki: Install LinuxWacom Driver</a><br />
 <a title="Wacom" href="https://help.ubuntu.com/community/Wacom">Ubuntu Wiki: Wacom</a><br />
 <a title="X Input Hotplug" href="https://wiki.ubuntu.com/X/InputHotplug">Ubuntu Wiki: X/Input Hotplugging</a></small></p>
<p><small>HAL / fdi References:<br />
 <a title="example fdi file" href="http://cgit.freedesktop.org/xorg/xserver/tree/config/x11-input.fdi">Example fdi file configuration</a> : explains basics of a fdi file<br />
 <a title="input hotpluging" href="http://who-t.blogspot.com/2008/07/input-configuration-in-nutshell.html">Input Hotplugging Info</a> : how the new X input hotplug system works<br />
 <a title="HAL 0.5.10 Specification" href="http://people.freedesktop.org/~david/hal-spec/hal-spec.html">HAL 0.5.10 Specification</a> : HAL manages the devices attached to your computer <br />
 <a title="x config" href="https://wiki.ubuntu.com/X/Config">ubuntu wiki: x config</a> : see section on &#8220;Input Configuration With HAL&#8221;</small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.moosechips.com/2008/09/ubuntu-wacom-tablet-hotplugging/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Ubuntu: Rebuild A Source Package</title>
		<link>http://www.moosechips.com/2008/09/ubuntu-rebuild-a-source-package/</link>
		<comments>http://www.moosechips.com/2008/09/ubuntu-rebuild-a-source-package/#comments</comments>
		<pubDate>Mon, 01 Sep 2008 23:27:28 +0000</pubDate>
		<dc:creator>moosechips</dc:creator>
		
		<category><![CDATA[<linux>]]></category>

		<category><![CDATA[deb]]></category>

		<category><![CDATA[dpkg-buildpackage]]></category>

		<category><![CDATA[package]]></category>

		<category><![CDATA[rebuild]]></category>

		<category><![CDATA[recompile]]></category>

		<category><![CDATA[source]]></category>

		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.moosechips.com/?p=206</guid>
		<description><![CDATA[# install deb build tools

sudo apt-get install build-essential fakeroot dpkg-dev devscripts

# download the source code

apt-get source package

# install other packages needed to build

sudo apt-get build-dep package
cd package

# update the version in the changelog

dch -i

# make any changes to the source
# e.g. vim debian/rules
# then build the new package

dpkg-buildpackage -rfakeroot -uc -b

#install the package

cd ..
sudo dpkg [...]]]></description>
			<content:encoded><![CDATA[<p># install deb build tools</p>

<div class="wp_syntax"><div class="wp-syntax-code"><pre class="bash geshicode" id="geshiid" style="font-family:monospace;color: #FFF;"><span style="color: #c20cb9; font-weight: bold;color: #729FCF;">sudo</span> <span style="color: #c20cb9; font-weight: bold;color: #729FCF;">apt-get</span> <span style="color: #c20cb9; font-weight: bold;color: #729FCF;">install</span> build-essential fakeroot dpkg-dev devscripts</pre></div></div>

<p># download the source code</p>

<div class="wp_syntax"><div class="wp-syntax-code"><pre class="bash geshicode" id="geshiid" style="font-family:monospace;color: #FFF;"><span style="color: #c20cb9; font-weight: bold;color: #729FCF;">apt-get</span> <span style="color: #7a0874; font-weight: bold;color: #729FCF;">source</span> package</pre></div></div>

<p># install other packages needed to build</p>

<div class="wp_syntax"><div class="wp-syntax-code"><pre class="bash geshicode" id="geshiid" style="font-family:monospace;color: #FFF;"><span style="color: #c20cb9; font-weight: bold;color: #729FCF;">sudo</span> <span style="color: #c20cb9; font-weight: bold;color: #729FCF;">apt-get</span> build-dep package
<span style="color: #7a0874; font-weight: bold;color: #729FCF;">cd</span> package</pre></div></div>

<p># update the version in the changelog</p>

<div class="wp_syntax"><div class="wp-syntax-code"><pre class="bash geshicode" id="geshiid" style="font-family:monospace;color: #FFF;">dch <span style="color: #660033;color: #cccccc;">-i</span></pre></div></div>

<p># make any changes to the source<br />
# e.g. vim debian/rules</p>
<p># then build the new package</p>

<div class="wp_syntax"><div class="wp-syntax-code"><pre class="bash geshicode" id="geshiid" style="font-family:monospace;color: #FFF;">dpkg-buildpackage <span style="color: #660033;color: #cccccc;">-rfakeroot</span> <span style="color: #660033;color: #cccccc;">-uc</span> <span style="color: #660033;color: #cccccc;">-b</span></pre></div></div>

<p>#install the package</p>

<div class="wp_syntax"><div class="wp-syntax-code"><pre class="bash geshicode" id="geshiid" style="font-family:monospace;color: #FFF;"><span style="color: #7a0874; font-weight: bold;color: #729FCF;">cd</span> ..
<span style="color: #c20cb9; font-weight: bold;color: #729FCF;">sudo</span> <span style="color: #c20cb9; font-weight: bold;color: #729FCF;">dpkg</span> <span style="color: #660033;color: #cccccc;">-i</span> package.deb</pre></div></div>

]]></content:encoded>
			<wfw:commentRss>http://www.moosechips.com/2008/09/ubuntu-rebuild-a-source-package/feed/</wfw:commentRss>
		</item>
		<item>
		<title>OpenCV: Corner Detection Using cvGoodFeaturesToTrack</title>
		<link>http://www.moosechips.com/2008/08/opencv-corner-detection-using-cvgoodfeaturestotrack/</link>
		<comments>http://www.moosechips.com/2008/08/opencv-corner-detection-using-cvgoodfeaturestotrack/#comments</comments>
		<pubDate>Thu, 21 Aug 2008 02:42:58 +0000</pubDate>
		<dc:creator>moosechips</dc:creator>
		
		<category><![CDATA[<code>]]></category>

		<category><![CDATA[algorithm]]></category>

		<category><![CDATA[c++]]></category>

		<category><![CDATA[computer vision]]></category>

		<category><![CDATA[corner]]></category>

		<category><![CDATA[corner detection]]></category>

		<category><![CDATA[cpp]]></category>

		<category><![CDATA[cvGoodFeaturesToTrack]]></category>

		<category><![CDATA[eigenvalue]]></category>

		<category><![CDATA[example]]></category>

		<category><![CDATA[goodFeaturesToTrack]]></category>

		<category><![CDATA[harris]]></category>

		<category><![CDATA[opencv]]></category>

		<category><![CDATA[webcam]]></category>

		<guid isPermaLink="false">http://www.moosechips.com/?p=152</guid>
		<description><![CDATA[Here&#8217;s an example opencv application which uses cvGoodFeaturesToTrack to detect corners in a webcam video feed.
download good_features.cpp source


//
// This code displays corners found by the opencv function
// GoodFeaturesToTrack (cvGoodFeaturesToTrack)
//
// Sample webcam code taken from
//   http://www.cs.iit.edu/~agam/cs512/lect-notes/
//   opencv-intro/opencv-intro.html#SECTION00070000000000000000
//
// compile with:
// gcc `pkg-config --cflags opencv` `pkg-config --libs opencv`
// -o good_features good_features.cpp
//
// Kristi Tsukida  [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s an example opencv application which uses cvGoodFeaturesToTrack to detect corners in a webcam video feed.</p>
<p><a href="http://www.moosechips.com/wp-content/uploads/2008/09/good_features.cpp">download good_features.cpp source</a></p>
<div class="clearfloats">

<div class="wp_syntax"><div class="wp-syntax-code"><pre class="cpp geshicode" id="geshiid" style="font-family:monospace;color: #FFF;"><span class="co1"><span style="color: #666666; color: #81D962;">//</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">// This code displays corners found by the opencv function</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">// GoodFeaturesToTrack (cvGoodFeaturesToTrack)</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">// Sample webcam code taken from</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//   http://www.cs.iit.edu/~agam/cs512/lect-notes/</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//   opencv-intro/opencv-intro.html#SECTION00070000000000000000</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">// compile with:</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">// gcc `pkg-config --cflags opencv` `pkg-config --libs opencv`</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">// -o good_features good_features.cpp</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">// Kristi Tsukida  &lt;kristi.tsukida@gmail.com&gt; Aug 20, 2008</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">// Note: I commented out the corner detection using the Harris</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">// algorithm because my computer isn't fast enough to process</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">// both the Harris and the eigenvalue corners in real time.</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">// You can uncomment it and test for yourself.</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//</span></span>
&nbsp;
<span class="co2"><span style="color: #339900;">#include &lt;cv.h&gt;</span></span>
<span class="co2"><span style="color: #339900;">#include &lt;highgui.h&gt;</span></span>
&nbsp;
<span class="co2"><span style="color: #339900;">#include &lt;stdio.h&gt;</span></span>
<span class="co2"><span style="color: #339900;">#include &lt;sys/time.h&gt;</span></span>
&nbsp;
<span class="co2"><span style="color: #339900;">#define VIDEO_WINDOW   &quot;Webcam&quot;</span></span>
<span class="co2"><span style="color: #339900;">#define CORNER_EIG     &quot;Eigenvalue Corner Detection&quot;</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">// Disable harris processing</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//#define CORNER_HARRIS  &quot;Corner Detection (Harris)&quot;</span></span>
&nbsp;
<span class="co2"><span style="color: #339900;">#define USEC_PER_SEC 1000000L</span></span>
&nbsp;
CvScalar target_color<span class="br0"><span style=" color: #cccccc;">&#91;</span></span><span class="nu0"><span style="color: #FCE94F;">4</span></span><span class="br0"><span style=" color: #cccccc;">&#93;</span></span> <span style=" color: #cccccc;">=</span> <span class="br0"><span style=" color: #cccccc;">&#123;</span></span> <span class="co1"><span style="color: #666666; color: #81D962;">// in BGR order</span></span>
		<span class="br0"><span style=" color: #cccccc;">&#123;</span></span><span class="br0"><span style=" color: #cccccc;">&#123;</span></span>   <span class="nu19"><span style="color:#800080;color: #FCE94F;">0</span></span>,   <span class="nu19"><span style="color:#800080;color: #FCE94F;">0</span></span>, <span class="nu0"><span style="color: #FCE94F;">255</span></span>,   <span class="nu19"><span style="color:#800080;color: #FCE94F;">0</span></span> <span class="br0"><span style=" color: #cccccc;">&#125;</span></span><span class="br0"><span style=" color: #cccccc;">&#125;</span></span>,  <span class="co1"><span style="color: #666666; color: #81D962;">// red</span></span>
		<span class="br0"><span style=" color: #cccccc;">&#123;</span></span><span class="br0"><span style=" color: #cccccc;">&#123;</span></span>   <span class="nu19"><span style="color:#800080;color: #FCE94F;">0</span></span>, <span class="nu0"><span style="color: #FCE94F;">255</span></span>,   <span class="nu19"><span style="color:#800080;color: #FCE94F;">0</span></span>,   <span class="nu19"><span style="color:#800080;color: #FCE94F;">0</span></span> <span class="br0"><span style=" color: #cccccc;">&#125;</span></span><span class="br0"><span style=" color: #cccccc;">&#125;</span></span>,  <span class="co1"><span style="color: #666666; color: #81D962;">// green</span></span>
		<span class="br0"><span style=" color: #cccccc;">&#123;</span></span><span class="br0"><span style=" color: #cccccc;">&#123;</span></span> <span class="nu0"><span style="color: #FCE94F;">255</span></span>,   <span class="nu19"><span style="color:#800080;color: #FCE94F;">0</span></span>,   <span class="nu19"><span style="color:#800080;color: #FCE94F;">0</span></span>,   <span class="nu19"><span style="color:#800080;color: #FCE94F;">0</span></span> <span class="br0"><span style=" color: #cccccc;">&#125;</span></span><span class="br0"><span style=" color: #cccccc;">&#125;</span></span>,  <span class="co1"><span style="color: #666666; color: #81D962;">// blue</span></span>
		<span class="br0"><span style=" color: #cccccc;">&#123;</span></span><span class="br0"><span style=" color: #cccccc;">&#123;</span></span>   <span class="nu19"><span style="color:#800080;color: #FCE94F;">0</span></span>, <span class="nu0"><span style="color: #FCE94F;">255</span></span>, <span class="nu0"><span style="color: #FCE94F;">255</span></span>,   <span class="nu19"><span style="color:#800080;color: #FCE94F;">0</span></span> <span class="br0"><span style=" color: #cccccc;">&#125;</span></span><span class="br0"><span style=" color: #cccccc;">&#125;</span></span>   <span class="co1"><span style="color: #666666; color: #81D962;">// yellow</span></span>
<span class="br0"><span style=" color: #cccccc;">&#125;</span></span>;
&nbsp;
<span class="co1"><span style="color: #666666; color: #81D962;">// returns the number of usecs of (t2 - t1)</span></span>
<span style="color: #35CECE;">long</span> time_elapsed <span class="br0"><span style=" color: #cccccc;">&#40;</span></span><span style="color: #35CECE;">struct</span> timeval <span style=" color: #cccccc;">&amp;</span>t1, <span style="color: #35CECE;">struct</span> timeval <span style=" color: #cccccc;">&amp;</span>t2<span class="br0"><span style=" color: #cccccc;">&#41;</span></span> <span class="br0"><span style=" color: #cccccc;">&#123;</span></span>
&nbsp;
	<span style="color: #35CECE;">long</span> sec, usec;
&nbsp;
	sec <span style=" color: #cccccc;">=</span> t2.<span class="me1"><span style="color: #35CECE;">tv_sec</span></span> <span style=" color: #cccccc;">-</span> t1.<span class="me1"><span style="color: #35CECE;">tv_sec</span></span>;
	usec <span style=" color: #cccccc;">=</span> t2.<span class="me1"><span style="color: #35CECE;">tv_usec</span></span> <span style=" color: #cccccc;">-</span> t1.<span class="me1"><span style="color: #35CECE;">tv_usec</span></span>;
	<span style="color: #0000ff;color: #729FCF;">if</span> <span class="br0"><span style=" color: #cccccc;">&#40;</span></span>usec <span style=" color: #cccccc;">&lt;</span> <span class="nu19"><span style="color:#800080;color: #FCE94F;">0</span></span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span> <span class="br0"><span style=" color: #cccccc;">&#123;</span></span>
		<span style=" color: #cccccc;">--</span>sec;
		usec <span style=" color: #cccccc;">=</span> usec <span style=" color: #cccccc;">+</span> USEC_PER_SEC;
	<span class="br0"><span style=" color: #cccccc;">&#125;</span></span>
	<span style="color: #0000ff;color: #729FCF;">return</span> sec<span style=" color: #cccccc;">*</span>USEC_PER_SEC <span style=" color: #cccccc;">+</span> usec;
<span class="br0"><span style=" color: #cccccc;">&#125;</span></span>
&nbsp;
<span style="color: #35CECE;">struct</span> timeval start_time;
<span style="color: #35CECE;">struct</span> timeval end_time;
<span style="color: #35CECE;">void</span> start_timer<span class="br0"><span style=" color: #cccccc;">&#40;</span></span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span> <span class="br0"><span style=" color: #cccccc;">&#123;</span></span>
	<span style="color: #35CECE;">struct</span> timezone tz;
	gettimeofday <span class="br0"><span style=" color: #cccccc;">&#40;</span></span><span style=" color: #cccccc;">&amp;</span>start_time, <span style=" color: #cccccc;">&amp;</span>tz<span class="br0"><span style=" color: #cccccc;">&#41;</span></span>;
<span class="br0"><span style=" color: #cccccc;">&#125;</span></span>
<span style="color: #35CECE;">long</span> end_timer<span class="br0"><span style=" color: #cccccc;">&#40;</span></span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span> <span class="br0"><span style=" color: #cccccc;">&#123;</span></span>
	<span style="color: #35CECE;">struct</span> timezone tz;
	gettimeofday <span class="br0"><span style=" color: #cccccc;">&#40;</span></span><span style=" color: #cccccc;">&amp;</span>end_time, <span style=" color: #cccccc;">&amp;</span>tz<span class="br0"><span style=" color: #cccccc;">&#41;</span></span>;
	<span style="color: #0000ff;color: #729FCF;">return</span> time_elapsed<span class="br0"><span style=" color: #cccccc;">&#40;</span></span>start_time, end_time<span class="br0"><span style=" color: #cccccc;">&#41;</span></span>;
<span class="br0"><span style=" color: #cccccc;">&#125;</span></span>
&nbsp;
<span class="co1"><span style="color: #666666; color: #81D962;">// A Simple Camera Capture Framework</span></span>
<span style="color: #35CECE;">int</span> main<span class="br0"><span style=" color: #cccccc;">&#40;</span></span><span style="color: #35CECE;">int</span> argc, <span style="color: #35CECE;">char</span> <span style=" color: #cccccc;">*</span>argv<span class="br0"><span style=" color: #cccccc;">&#91;</span></span><span class="br0"><span style=" color: #cccccc;">&#93;</span></span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span> <span class="br0"><span style=" color: #cccccc;">&#123;</span></span>
	<span style="color: #35CECE;">long</span> harris_time;
	<span style="color: #35CECE;">long</span> eig_time;
&nbsp;
	CvCapture<span style=" color: #cccccc;">*</span> capture <span style=" color: #cccccc;">=</span> <span class="nu19"><span style="color:#800080;color: #FCE94F;">0</span></span>;
	IplImage<span style=" color: #cccccc;">*</span> curr_frame <span style=" color: #cccccc;">=</span> <span class="nu19"><span style="color:#800080;color: #FCE94F;">0</span></span>; <span class="co1"><span style="color: #666666; color: #81D962;">// current video frame</span></span>
	IplImage<span style=" color: #cccccc;">*</span> gray_frame <span style=" color: #cccccc;">=</span> <span class="nu19"><span style="color:#800080;color: #FCE94F;">0</span></span>; <span class="co1"><span style="color: #666666; color: #81D962;">// grayscale version of current frame</span></span>
	<span style="color: #35CECE;">int</span> w, h; <span class="co1"><span style="color: #666666; color: #81D962;">// video frame size</span></span>
	IplImage<span style=" color: #cccccc;">*</span> eig_image <span style=" color: #cccccc;">=</span> <span class="nu19"><span style="color:#800080;color: #FCE94F;">0</span></span>;
	IplImage<span style=" color: #cccccc;">*</span> temp_image <span style=" color: #cccccc;">=</span> <span class="nu19"><span style="color:#800080;color: #FCE94F;">0</span></span>;
	<span class="co1"><span style="color: #666666; color: #81D962;">// Disable harris processing</span></span>
	<span class="co1"><span style="color: #666666; color: #81D962;">//IplImage* harris_eig_image = 0;</span></span>
	<span class="co1"><span style="color: #666666; color: #81D962;">//IplImage* harris_temp_image = 0;</span></span>
&nbsp;
	<span class="co1"><span style="color: #666666; color: #81D962;">// Pick one of these capture methods:</span></span>
	<span class="co1"><span style="color: #666666; color: #81D962;">// You must have compiled opencv with ffmpeg enabled</span></span>
	<span class="co1"><span style="color: #666666; color: #81D962;">// to use a web stream!</span></span>
	<span class="co1"><span style="color: #666666; color: #81D962;">//capture = cvCaptureFromFile(</span></span>
	<span class="co1"><span style="color: #666666; color: #81D962;">//		&quot;http://user:pw@192.168.1.101:81/img/video.mjpeg&quot;);</span></span>
	<span class="co1"><span style="color: #666666; color: #81D962;">//capture = cvCaptureFromAVI(</span></span>
	<span class="co1"><span style="color: #666666; color: #81D962;">//		&quot;http://user:pw@192.168.1.101:81/img/video.mjpeg&quot;);</span></span>
&nbsp;
	<span class="co1"><span style="color: #666666; color: #81D962;">// Capture from a webcam</span></span>
	capture <span style=" color: #cccccc;">=</span> cvCaptureFromCAM<span class="br0"><span style=" color: #cccccc;">&#40;</span></span>CV_CAP_ANY<span class="br0"><span style=" color: #cccccc;">&#41;</span></span>;
	<span class="co1"><span style="color: #666666; color: #81D962;">//capture = cvCaptureFromCAM(0); // capture from video device #0</span></span>
	<span style="color: #0000ff;color: #729FCF;">if</span> <span class="br0"><span style=" color: #cccccc;">&#40;</span></span> <span style=" color: #cccccc;">!</span>capture<span class="br0"><span style=" color: #cccccc;">&#41;</span></span> <span class="br0"><span style=" color: #cccccc;">&#123;</span></span>
		<a href="http://www.cplusplus.com/fprintf"><span style="color: #0000dd;color: #729FCF;">fprintf</span></a><span class="br0"><span style=" color: #cccccc;">&#40;</span></span><span style="color: #0000ff;color: #729FCF;">stderr</span>, <span style="color: #FF0000;color: #AD7FA8;">&quot;ERROR: capture is NULL... Exiting<span style="color: #666666; font-weight: bold;">\n</span>&quot;</span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span>;
		<span class="co1"><span style="color: #666666; color: #81D962;">//getchar();</span></span>
		<span style="color: #0000ff;color: #729FCF;">return</span> <span style=" color: #cccccc;">-</span><span class="nu0"><span style="color: #FCE94F;">1</span></span>;
	<span class="br0"><span style=" color: #cccccc;">&#125;</span></span>
&nbsp;
	<span class="co1"><span style="color: #666666; color: #81D962;">// Create a window in which the captured images will be presented</span></span>
	cvNamedWindow<span class="br0"><span style=" color: #cccccc;">&#40;</span></span>VIDEO_WINDOW, <span class="nu19"><span style="color:#800080;color: #FCE94F;">0</span></span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span>; <span class="co1"><span style="color: #666666; color: #81D962;">// allow the window to be resized</span></span>
&nbsp;
	cvNamedWindow<span class="br0"><span style=" color: #cccccc;">&#40;</span></span>CORNER_EIG, <span class="nu19"><span style="color:#800080;color: #FCE94F;">0</span></span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span>; <span class="co1"><span style="color: #666666; color: #81D962;">// allow the window to be resized</span></span>
	cvMoveWindow<span class="br0"><span style=" color: #cccccc;">&#40;</span></span>CORNER_EIG, <span class="nu0"><span style="color: #FCE94F;">330</span></span>, <span class="nu19"><span style="color:#800080;color: #FCE94F;">0</span></span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span>;
&nbsp;
	<span class="co1"><span style="color: #666666; color: #81D962;">// Disable harris processing</span></span>
	<span class="co1"><span style="color: #666666; color: #81D962;">//cvNamedWindow(CORNER_HARRIS, 0); // allow the window to be resized</span></span>
	<span class="co1"><span style="color: #666666; color: #81D962;">//cvMoveWindow(CORNER_HARRIS, 660, 0);</span></span>
&nbsp;
	<span class="co1"><span style="color: #666666; color: #81D962;">// Show the image captured from the camera in the window and repeat</span></span>
	<span style="color: #0000ff;color: #729FCF;">while</span> <span class="br0"><span style=" color: #cccccc;">&#40;</span></span><span style="color: #0000ff;color: #729FCF;">true</span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span> <span class="br0"><span style=" color: #cccccc;">&#123;</span></span>
&nbsp;
		<span class="co1"><span style="color: #666666; color: #81D962;">// Get one frame</span></span>
		curr_frame <span style=" color: #cccccc;">=</span> cvQueryFrame<span class="br0"><span style=" color: #cccccc;">&#40;</span></span>capture<span class="br0"><span style=" color: #cccccc;">&#41;</span></span>;
		<span style="color: #0000ff;color: #729FCF;">if</span> <span class="br0"><span style=" color: #cccccc;">&#40;</span></span> <span style=" color: #cccccc;">!</span>curr_frame<span class="br0"><span style=" color: #cccccc;">&#41;</span></span> <span class="br0"><span style=" color: #cccccc;">&#123;</span></span>
			<a href="http://www.cplusplus.com/fprintf"><span style="color: #0000dd;color: #729FCF;">fprintf</span></a><span class="br0"><span style=" color: #cccccc;">&#40;</span></span><span style="color: #0000ff;color: #729FCF;">stderr</span>, <span style="color: #FF0000;color: #AD7FA8;">&quot;ERROR: frame is null... Exiting<span style="color: #666666; font-weight: bold;">\n</span>&quot;</span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span>;
			<span class="co1"><span style="color: #666666; color: #81D962;">//getchar();</span></span>
			<span style="color: #0000ff;color: #729FCF;">break</span>;
		<span class="br0"><span style=" color: #cccccc;">&#125;</span></span>
		<span class="co1"><span style="color: #666666; color: #81D962;">// Do not release the frame!</span></span>
&nbsp;
		<span class="co1"><span style="color: #666666; color: #81D962;">// Get frame size</span></span>
		w <span style=" color: #cccccc;">=</span> curr_frame<span style=" color: #cccccc;">-</span><span style=" color: #cccccc;">&gt;</span>width;
		h <span style=" color: #cccccc;">=</span> curr_frame<span style=" color: #cccccc;">-</span><span style=" color: #cccccc;">&gt;</span>height;
&nbsp;
		<span class="co1"><span style="color: #666666; color: #81D962;">// Convert the frame image to grayscale</span></span>
		<span style="color: #0000ff;color: #729FCF;">if</span><span class="br0"><span style=" color: #cccccc;">&#40;</span></span> <span style=" color: #cccccc;">!</span> gray_frame <span class="br0"><span style=" color: #cccccc;">&#41;</span></span> <span class="br0"><span style=" color: #cccccc;">&#123;</span></span>
			<span class="co1"><span style="color: #666666; color: #81D962;">//fprintf(stderr, &quot;Allocate gray_frame\n&quot;);</span></span>
			<span style="color: #35CECE;">int</span> channels <span style=" color: #cccccc;">=</span> <span class="nu0"><span style="color: #FCE94F;">1</span></span>;
			gray_frame <span style=" color: #cccccc;">=</span> cvCreateImage<span class="br0"><span style=" color: #cccccc;">&#40;</span></span>
					cvGetSize<span class="br0"><span style=" color: #cccccc;">&#40;</span></span>curr_frame<span class="br0"><span style=" color: #cccccc;">&#41;</span></span>,
					IPL_DEPTH_8U, channels<span class="br0"><span style=" color: #cccccc;">&#41;</span></span>;
		<span class="br0"><span style=" color: #cccccc;">&#125;</span></span>
		cvCvtColor<span class="br0"><span style=" color: #cccccc;">&#40;</span></span>curr_frame, gray_frame, CV_BGR2GRAY<span class="br0"><span style=" color: #cccccc;">&#41;</span></span>;
&nbsp;
		<span class="co1"><span style="color: #666666; color: #81D962;">// ==== Allocate memory for corner arrays ====</span></span>
		<span style="color: #0000ff;color: #729FCF;">if</span> <span class="br0"><span style=" color: #cccccc;">&#40;</span></span> <span style=" color: #cccccc;">!</span>eig_image<span class="br0"><span style=" color: #cccccc;">&#41;</span></span> <span class="br0"><span style=" color: #cccccc;">&#123;</span></span>
			<span class="co1"><span style="color: #666666; color: #81D962;">//fprintf(stderr, &quot;Allocate eig_image\n&quot;);</span></span>
			eig_image <span style=" color: #cccccc;">=</span> cvCreateImage<span class="br0"><span style=" color: #cccccc;">&#40;</span></span>cvSize<span class="br0"><span style=" color: #cccccc;">&#40;</span></span>w, h<span class="br0"><span style=" color: #cccccc;">&#41;</span></span>,
					IPL_DEPTH_32F, <span class="nu0"><span style="color: #FCE94F;">1</span></span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span>;
		<span class="br0"><span style=" color: #cccccc;">&#125;</span></span>
		<span style="color: #0000ff;color: #729FCF;">if</span> <span class="br0"><span style=" color: #cccccc;">&#40;</span></span> <span style=" color: #cccccc;">!</span>temp_image<span class="br0"><span style=" color: #cccccc;">&#41;</span></span> <span class="br0"><span style=" color: #cccccc;">&#123;</span></span>
			<span class="co1"><span style="color: #666666; color: #81D962;">//fprintf(stderr, &quot;Allocate temp_image\n&quot;);</span></span>
			temp_image <span style=" color: #cccccc;">=</span> cvCreateImage<span class="br0"><span style=" color: #cccccc;">&#40;</span></span>cvSize<span class="br0"><span style=" color: #cccccc;">&#40;</span></span>w, h<span class="br0"><span style=" color: #cccccc;">&#41;</span></span>,
					IPL_DEPTH_32F, <span class="nu0"><span style="color: #FCE94F;">1</span></span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span>;
		<span class="br0"><span style=" color: #cccccc;">&#125;</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">// Disable harris processing</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//		if ( !harris_eig_image) {</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//			//fprintf(stderr, &quot;Allocate harris_eig_image\n&quot;);</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//			harris_eig_image = cvCreateImage(cvSize(w, h),</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//					IPL_DEPTH_32F, 1);</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//		}</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//		if ( !harris_temp_image) {</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//			//fprintf(stderr, &quot;Allocate harris_temp_image\n&quot;);</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//			harris_temp_image = cvCreateImage(cvSize(w, h),</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//					IPL_DEPTH_32F, 1);</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//		}</span></span>
&nbsp;
		<span class="co1"><span style="color: #666666; color: #81D962;">// ==== Corner Detection: MinEigenVal method ====</span></span>
		start_timer<span class="br0"><span style=" color: #cccccc;">&#40;</span></span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span>;
		<span style="color: #35CECE;">const</span> <span style="color: #35CECE;">int</span> MAX_CORNERS <span style=" color: #cccccc;">=</span> <span class="nu0"><span style="color: #FCE94F;">100</span></span>;
		CvPoint2D32f corners<span class="br0"><span style=" color: #cccccc;">&#91;</span></span>MAX_CORNERS<span class="br0"><span style=" color: #cccccc;">&#93;</span></span> <span style=" color: #cccccc;">=</span> <span class="br0"><span style=" color: #cccccc;">&#123;</span></span><span class="nu19"><span style="color:#800080;color: #FCE94F;">0</span></span><span class="br0"><span style=" color: #cccccc;">&#125;</span></span>;
		<span style="color: #35CECE;">int</span> corner_count <span style=" color: #cccccc;">=</span> MAX_CORNERS;
		<span style="color: #35CECE;">double</span> quality_level <span style=" color: #cccccc;">=</span> <span class="nu16"><span style="color:#800080;color: #FCE94F;">0.1</span></span>;
		<span style="color: #35CECE;">double</span> min_distance <span style=" color: #cccccc;">=</span> <span class="nu0"><span style="color: #FCE94F;">5</span></span>;
		<span style="color: #35CECE;">int</span> eig_block_size <span style=" color: #cccccc;">=</span> <span class="nu0"><span style="color: #FCE94F;">3</span></span>;
		<span style="color: #35CECE;">int</span> use_harris <span style=" color: #cccccc;">=</span> <span style="color: #0000ff;color: #729FCF;">false</span>;
&nbsp;
		cvGoodFeaturesToTrack<span class="br0"><span style=" color: #cccccc;">&#40;</span></span>gray_frame,
				eig_image,                    <span class="co1"><span style="color: #666666; color: #81D962;">// output</span></span>
				temp_image,
				corners,
				<span style=" color: #cccccc;">&amp;</span>corner_count,
				quality_level,
				min_distance,
				<span style="color: #0000ff;color: #729FCF;">NULL</span>,
				eig_block_size,
				use_harris<span class="br0"><span style=" color: #cccccc;">&#41;</span></span>;
		cvScale<span class="br0"><span style=" color: #cccccc;">&#40;</span></span>eig_image, eig_image, <span class="nu0"><span style="color: #FCE94F;">100</span></span>, <span class="nu16"><span style="color:#800080;color: #FCE94F;">0.00</span></span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span>;
		eig_time <span style=" color: #cccccc;">=</span> end_timer<span class="br0"><span style=" color: #cccccc;">&#40;</span></span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span>;
		cvShowImage<span class="br0"><span style=" color: #cccccc;">&#40;</span></span>CORNER_EIG, eig_image<span class="br0"><span style=" color: #cccccc;">&#41;</span></span>;
&nbsp;
<span class="co1"><span style="color: #666666; color: #81D962;">// Disable harris processing</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//		// ==== Corner Detection: Harris method ====</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//		start_timer();</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">////		const int MAX_CORNERS = 100;</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//		CvPoint2D32f harris_corners[MAX_CORNERS] = {0};</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//		int harris_corner_count = MAX_CORNERS;</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//		double harris_quality_level = 0.1;</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//		double harris_min_distance = 1;</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//		int harris_eig_block_size = 3;</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//		int harris_use_harris = true;</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//		cvGoodFeaturesToTrack(gray_frame,</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//				harris_eig_image,                    // output</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//				harris_temp_image,</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//				harris_corners,</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//				&amp;harris_corner_count,</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//				harris_quality_level,</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//				harris_min_distance,</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//				NULL,</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//				harris_eig_block_size,</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//				harris_use_harris);</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//		cvScale(harris_eig_image, harris_eig_image, 200, 0.50);</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//		harris_time = end_timer();</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//		cvShowImage(CORNER_HARRIS, harris_eig_image);</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//		fprintf(stderr, &quot;harris time: %i  eig time: %i\n&quot;, harris_time, eig_time);</span></span>
&nbsp;
		<span class="co1"><span style="color: #666666; color: #81D962;">// ==== Draw circles around detected corners in original image</span></span>
		<span class="co1"><span style="color: #666666; color: #81D962;">//fprintf(stderr, &quot;corner[0] = (%f, %f)\n&quot;, corners[0].x, corners[0].y);</span></span>
		<span style="color: #0000ff;color: #729FCF;">for</span><span class="br0"><span style=" color: #cccccc;">&#40;</span></span> <span style="color: #35CECE;">int</span> i <span style=" color: #cccccc;">=</span> <span class="nu19"><span style="color:#800080;color: #FCE94F;">0</span></span>; i <span style=" color: #cccccc;">&lt;</span> corner_count; i<span style=" color: #cccccc;">++</span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span> <span class="br0"><span style=" color: #cccccc;">&#123;</span></span>
			<span style="color: #35CECE;">int</span> radius <span style=" color: #cccccc;">=</span> h<span style=" color: #cccccc;">/</span><span class="nu0"><span style="color: #FCE94F;">25</span></span>;
			cvCircle<span class="br0"><span style=" color: #cccccc;">&#40;</span></span>curr_frame,
					cvPoint<span class="br0"><span style=" color: #cccccc;">&#40;</span></span><span class="br0"><span style=" color: #cccccc;">&#40;</span></span><span style="color: #35CECE;">int</span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span><span class="br0"><span style=" color: #cccccc;">&#40;</span></span>corners<span class="br0"><span style=" color: #cccccc;">&#91;</span></span>i<span class="br0"><span style=" color: #cccccc;">&#93;</span></span>.<span class="me1"><span style="color: #35CECE;">x</span></span> <span style=" color: #cccccc;">+</span> <span class="nu17"><span style="color:#800080;color: #FCE94F;">0.5f</span></span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span>,<span class="br0"><span style=" color: #cccccc;">&#40;</span></span><span style="color: #35CECE;">int</span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span><span class="br0"><span style=" color: #cccccc;">&#40;</span></span>corners<span class="br0"><span style=" color: #cccccc;">&#91;</span></span>i<span class="br0"><span style=" color: #cccccc;">&#93;</span></span>.<span class="me1"><span style="color: #35CECE;">y</span></span> <span style=" color: #cccccc;">+</span> <span class="nu17"><span style="color:#800080;color: #FCE94F;">0.5f</span></span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span>,
					radius,
					target_color<span class="br0"><span style=" color: #cccccc;">&#91;</span></span><span class="nu19"><span style="color:#800080;color: #FCE94F;">0</span></span><span class="br0"><span style=" color: #cccccc;">&#93;</span></span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span>;
		<span class="br0"><span style=" color: #cccccc;">&#125;</span></span>
		cvShowImage<span class="br0"><span style=" color: #cccccc;">&#40;</span></span>VIDEO_WINDOW, curr_frame<span class="br0"><span style=" color: #cccccc;">&#41;</span></span>;
&nbsp;
		<span class="co1"><span style="color: #666666; color: #81D962;">// If ESC key pressed, Key=0x10001B under OpenCV 0.9.7(linux version),</span></span>
		<span class="co1"><span style="color: #666666; color: #81D962;">// remove higher bits using AND operator</span></span>
		<span style="color: #0000ff;color: #729FCF;">if</span> <span class="br0"><span style=" color: #cccccc;">&#40;</span></span> <span class="br0"><span style=" color: #cccccc;">&#40;</span></span>cvWaitKey<span class="br0"><span style=" color: #cccccc;">&#40;</span></span><span class="nu0"><span style="color: #FCE94F;">10</span></span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span> <span style=" color: #cccccc;">&amp;</span> <span class="nu0"><span style="color: #FCE94F;">255</span></span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span> <span style=" color: #cccccc;">==</span> <span class="nu0"><span style="color: #FCE94F;">27</span></span><span class="br0"><span style=" color: #cccccc;">&#41;</span></span>
			<span style="color: #0000ff;color: #729FCF;">break</span>;
	<span class="br0"><span style=" color: #cccccc;">&#125;</span></span>
&nbsp;
	<span class="co1"><span style="color: #666666; color: #81D962;">// Release the capture device housekeeping</span></span>
	cvReleaseCapture<span class="br0"><span style=" color: #cccccc;">&#40;</span></span> <span style=" color: #cccccc;">&amp;</span>capture<span class="br0"><span style=" color: #cccccc;">&#41;</span></span>;
	cvDestroyWindow<span class="br0"><span style=" color: #cccccc;">&#40;</span></span>VIDEO_WINDOW<span class="br0"><span style=" color: #cccccc;">&#41;</span></span>;
	cvDestroyWindow<span class="br0"><span style=" color: #cccccc;">&#40;</span></span>CORNER_EIG<span class="br0"><span style=" color: #cccccc;">&#41;</span></span>;
<span class="co1"><span style="color: #666666; color: #81D962;">// Disable harris processing</span></span>
<span class="co1"><span style="color: #666666; color: #81D962;">//	cvDestroyWindow(CORNER_HARRIS);</span></span>
	<span style="color: #0000ff;color: #729FCF;">return</span> <span class="nu19"><span style="color:#800080;color: #FCE94F;">0</span></span>;
<span class="br0"><span style=" color: #cccccc;">&#125;</span></span></pre></div></div>

</div>
]]></content:encoded>
			<wfw:commentRss>http://www.moosechips.com/2008/08/opencv-corner-detection-using-cvgoodfeaturestotrack/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Vim: Case Insensitive Searches</title>
		<link>http://www.moosechips.com/2008/08/vim-case-insensitive-searches/</link>
		<comments>http://www.moosechips.com/2008/08/vim-case-insensitive-searches/#comments</comments>
		<pubDate>Wed, 20 Aug 2008 21:51:10 +0000</pubDate>
		<dc:creator>moosechips</dc:creator>
		
		<category><![CDATA[<code>]]></category>

		<category><![CDATA[capitalization]]></category>

		<category><![CDATA[case]]></category>

		<category><![CDATA[gvim]]></category>

		<category><![CDATA[help]]></category>

		<category><![CDATA[ignore case]]></category>

		<category><![CDATA[ignorecase]]></category>

		<category><![CDATA[insensitive]]></category>

		<category><![CDATA[lower case]]></category>

		<category><![CDATA[lowercase]]></category>

		<category><![CDATA[match]]></category>

		<category><![CDATA[matching]]></category>

		<category><![CDATA[pattern]]></category>

		<category><![CDATA[search]]></category>

		<category><![CDATA[searches]]></category>

		<category><![CDATA[smart case]]></category>

		<category><![CDATA[smartcase]]></category>

		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://www.moosechips.com/?p=145</guid>
		<description><![CDATA[Use &#8220;\c&#8221; anywhere in a search to ignore case (overriding your ignorecase or smartcase settings).
e.g. &#8220;/\cfoo&#8221;   or &#8220;/foo\c&#8221; will match foo, Foo, fOO, FOO, etc.
Use &#8220;\C&#8221; anywhere in a search to force case matching.
e.g. &#8220;/\Cfoo&#8221; or &#8220;/foo\C&#8221; will only match foo.
You can set vim to ignore case on all your searches by running [...]]]></description>
			<content:encoded><![CDATA[<p>Use &#8220;<code><strong>\c</strong></code>&#8221; anywhere in a search to ignore case (overriding your ignorecase or smartcase settings).<br />
e.g. &#8220;<code><strong>/\cfoo</strong></code>&#8221;   or &#8220;<code><strong>/foo\c</strong></code>&#8221; will match foo, Foo, fOO, FOO, etc.</p>
<p>Use &#8220;<code><strong>\C</strong></code>&#8221; anywhere in a search to force case matching.<br />
e.g. &#8220;<code><strong>/\Cfoo</strong></code>&#8221; or &#8220;<code><strong>/foo\C</strong></code>&#8221; will only match foo.</p>
<p>You can set vim to ignore case on all your searches by running &#8220;<code><strong>:set ignorecase</strong></code>&#8220;.<br />
If &#8220;<code><strong>ignorecase</strong></code>&#8221; is on, you can vim to ignore case on searches of only lowercase letters by running &#8220;<code><strong>:set smartcase</strong></code>&#8220;.  (Searches with any capitalization or with &#8220;<code><strong>\C</strong></code>&#8221; will run a case-sensitive search.)</p>
<p><small>from Vim&#8217;s <code><strong>:help ignorecase</strong></code> and <code><strong>:help smartcase</strong></code></small></p>
]]></content:encoded>
			<wfw:commentRss>http://www.moosechips.com/2008/08/vim-case-insensitive-searches/feed/</wfw:commentRss>
		</item>
		<item>
		<title>codecolorer test 2</title>
		<link>http://www.moosechips.com/2008/08/codecolorer-test-2/</link>
		<comments>http://www.moosechips.com/2008/08/codecolorer-test-2/#comments</comments>
		<pubDate>Tue, 19 Aug 2008 20:48:00 +0000</pubDate>
		<dc:creator>moosechips</dc:creator>
		
		<category><![CDATA[test]]></category>

		<guid isPermaLink="false">http://www.moosechips.com/?p=136</guid>
		<description><![CDATA[[cc lang="cpp"]
// this is a syntax highlighting test
#include 
#define BLAH &#8220;blah&#8221;
const float pi = 3.14;  /* yum */
typedef struct Foo {
    char * bar;
} Foo;
void nothing() {
    int useless;  // test
}
/* this is a comment
 * yay */
int main() {
    char * message = [...]]]></description>
			<content:encoded><![CDATA[<p>[cc lang="cpp"]<br />
// this is a syntax highlighting test<br />
#include <stdio.h><br />
#define BLAH &#8220;blah&#8221;<br />
const float pi = 3.14;  /* yum */<br />
typedef struct Foo {<br />
    char * bar;<br />
} Foo;<br />
void nothing() {<br />
    int useless;  // test<br />
}<br />
/* this is a comment<br />
 * yay */<br />
int main() {<br />
    char * message = &#8220;hello world\n&#8221;;<br />
    printf(message);<br />
    nothing();<br />
    for( int i = 0; i < 5; i++) {<br />
        fprintf(stderr, &#8220;%i\n&#8221;, i);<br />
        break;<br />
    }<br />
    return null;<br />
}<br />
[/cc]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.moosechips.com/2008/08/codecolorer-test-2/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
