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

<channel>
	<title>/dev/null</title>
	<atom:link href="http://blog.hokietux.net/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://blog.hokietux.net</link>
	<description>A blackhole of technology, hacks, and caffeine.</description>
	<lastBuildDate>Fri, 27 Jan 2012 17:58:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.2</generator>
		<item>
		<title>Awesome FAQ / Tips / Help for PIC C18</title>
		<link>http://blog.hokietux.net/?p=305</link>
		<comments>http://blog.hokietux.net/?p=305#comments</comments>
		<pubDate>Sun, 15 Jan 2012 21:42:44 +0000</pubDate>
		<dc:creator>HokieTux</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[faq]]></category>
		<category><![CDATA[michrochip]]></category>
		<category><![CDATA[pic]]></category>

		<guid isPermaLink="false">http://blog.hokietux.net/?p=305</guid>
		<description><![CDATA[I found this really awesome FAQ for using the C18 libraries &#38; compiler for Microchip PIC devices.  Check it out! http://www.xargs.com/pic/c-faq.html Cheers!]]></description>
			<content:encoded><![CDATA[<p>I found this really awesome FAQ for using the C18 libraries &amp; compiler for Microchip PIC devices.  Check it out!</p>
<p><a href="http://www.xargs.com/pic/c-faq.html">http://www.xargs.com/pic/c-faq.html</a></p>
<p>Cheers!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hokietux.net/?feed=rss2&#038;p=305</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>RS-232 with a PIC18 and MAX232</title>
		<link>http://blog.hokietux.net/?p=299</link>
		<comments>http://blog.hokietux.net/?p=299#comments</comments>
		<pubDate>Mon, 09 Jan 2012 05:36:41 +0000</pubDate>
		<dc:creator>HokieTux</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[c18]]></category>
		<category><![CDATA[electronics]]></category>
		<category><![CDATA[microchip]]></category>
		<category><![CDATA[pic]]></category>
		<category><![CDATA[rs232]]></category>
		<category><![CDATA[serial]]></category>

		<guid isPermaLink="false">http://blog.hokietux.net/?p=299</guid>
		<description><![CDATA[Getting serial to work with a PIC is supposed to be fairly easy, especially with the Microchip C18 libraries.  For whatever reason, however, it rarely seems as easy as it should be.  Searching around for posts with the keywords &#8216;usart, &#8230;<p class="read-more"><a href="http://blog.hokietux.net/?p=299">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Getting serial to work with a PIC is supposed to be fairly easy, especially with the <a title="Microchip C18" href="http://www.microchip.com/stellent/idcplg?IdcService=SS_GET_PAGE&amp;nodeId=1406&amp;dDocName=en010014" target="_blank">Microchip C18 libraries</a>.  For whatever reason, however, it rarely seems as easy as it should be.  <a title="StackExachange Electronics" href="http://electronics.stackexchange.com/search?q=usart+uart+eusart+rs232+pic" target="_blank">Searching around for posts</a> with the keywords &#8216;usart, eusart, uart, serial, rs232&#8242; and PIC should give you some idea of just how bizzarely difficult this can be.</p>
<p>Part of the problem is Microchip&#8217;s documentation.  The C18 libraries were supposed to streamline a lot of programming for the PIC&#8230; and for the most part, it did; Microchip just hasn&#8217;t done a good job of making sure to completely document it all.</p>
<p>Anyway, below follows a pure-C18 example of an echo server, operating on a PIC18, with a <a title="MAX232" href="http://en.wikipedia.org/wiki/MAX232">MAX232 serial converter</a> in between the PIC and my PC.  First the code, and then some discussion.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
</pre></td><td class="code"><pre class="c" style="font-family:monospace;"><span style="color: #339933;">#include &lt;p18cxxx.h&gt;</span>
<span style="color: #339933;">#include &lt;usart.h&gt;</span>
&nbsp;
<span style="color: #993333;">void</span> main<span style="color: #009900;">&#40;</span><span style="color: #993333;">void</span><span style="color: #009900;">&#41;</span>
<span style="color: #009900;">&#123;</span>
	<span style="color: #993333;">char</span> test <span style="color: #339933;">=</span> <span style="color: #ff0000;">'t'</span><span style="color: #339933;">;</span>
	TRISCbits.<span style="color: #202020;">RC7</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">1</span><span style="color: #339933;">;</span>
	TRISCbits.<span style="color: #202020;">RC6</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
	OSCCON <span style="color: #339933;">=</span> <span style="color: #208080;">0b11100010</span><span style="color: #339933;">;</span>
	OSCTUNEbits.<span style="color: #202020;">PLLEN</span> <span style="color: #339933;">=</span> <span style="color: #0000dd;">0</span><span style="color: #339933;">;</span>
&nbsp;
        <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>OSCCONbits.<span style="color: #202020;">IOFS</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	baudUSART<span style="color: #009900;">&#40;</span>BAUD_IDLE_CLK_LOW <span style="color: #339933;">&amp;</span> 
         	  BAUD_AUTO_OFF <span style="color: #339933;">&amp;</span> 
         	  BAUD_8_BIT_RATE <span style="color: #339933;">&amp;</span> 
         	  BAUD_IDLE_RX_PIN_STATE_HIGH <span style="color: #339933;">&amp;</span>
	          BAUD_IDLE_TX_PIN_STATE_HIGH<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
&nbsp;
	OpenUSART<span style="color: #009900;">&#40;</span>USART_TX_INT_OFF <span style="color: #339933;">&amp;</span>
          	  USART_RX_INT_OFF <span style="color: #339933;">&amp;</span>
        	  USART_ASYNCH_MODE <span style="color: #339933;">&amp;</span>
        	  USART_EIGHT_BIT <span style="color: #339933;">&amp;</span>
        	  USART_CONT_RX <span style="color: #339933;">&amp;</span>
        	  USART_ADDEN_OFF <span style="color: #339933;">&amp;</span>
        	  USART_BRGH_HIGH<span style="color: #339933;">,</span> <span style="color: #0000dd;">207</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
    <span style="color: #b1b100;">while</span> <span style="color: #009900;">&#40;</span><span style="color: #0000dd;">1</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
        WriteUSART<span style="color: #009900;">&#40;</span>test<span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
	<span style="color: #b1b100;">while</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">!</span>DataRdyUSART<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        test <span style="color: #339933;">=</span> ReadUSART<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span>
        Nop<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>If you were to try and copy/paste this code, there is a chance that it would work, out-of-the-box.  If it doesn&#8217;t work, presuming your hardware &amp; MAX232 circuits are correct, the most likely culprit is the OSCON configuration.</p>
<p>As with all forms of communication, analog or digital, timing is the key.  There are two important timing lines in the above code; first, when we configure the oscillator inside of the PIC:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>2
</pre></td><td class="code"><pre class="c" style="font-family:monospace;">OSCCON <span style="color: #339933;">=</span> <span style="color: #208080;">0b11100010</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>And when we tell the USART module how fast we are operating:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>2
</pre></td><td class="code"><pre class="c" style="font-family:monospace;">.... <span style="color: #202020;">USART_BRGH_HIGH</span><span style="color: #339933;">,</span> <span style="color: #0000dd;">207</span><span style="color: #009900;">&#41;</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>The first bit, the OSCCON register setting, is configuring my PIC&#8217;s clock to operate at 8 Mhz.  This may be different for you, depending on what model PIC you are using &#8211; make sure to check your datasheet! The second bit includes the number &#8217;207&#8242; &#8211; this is the number that the PIC uses to calculate how fast you expect it to operate on the RS232 line &#8211; i.e., your baud rate.</p>
<p>The datasheet for your PIC should have a formula to help you calculate that number, probably in a section titled something like &#8216;Baud Rate Generator&#8217;.  Figure out what baud rate you want to operate at, and use the appropriate number for it!</p>
<p>This is a very brief and not a very in-depth discussion of this topic, but I had trouble finding a decent example online to use as a starting place; I&#8217;m hoping this post serves that role for some other poor hacker fighting with the C18 docs =)</p>
<p>Cheers!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hokietux.net/?feed=rss2&#038;p=299</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Thesis and Dissertation ETD Template / Example</title>
		<link>http://blog.hokietux.net/?p=288</link>
		<comments>http://blog.hokietux.net/?p=288#comments</comments>
		<pubDate>Wed, 18 May 2011 20:15:28 +0000</pubDate>
		<dc:creator>HokieTux</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[dissertations]]></category>
		<category><![CDATA[etd]]></category>
		<category><![CDATA[grad school]]></category>
		<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[theses]]></category>

		<guid isPermaLink="false">http://blog.hokietux.net/?p=288</guid>
		<description><![CDATA[While writing my thesis ETD for my M.S. at Virginia Tech, I discovered that the available ETD LaTeX template was sorely out-of-date.  As a result, I had to spend sometime &#8216;upgrading&#8217; the LaTeX packages and template source as I went &#8230;<p class="read-more"><a href="http://blog.hokietux.net/?p=288">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>While writing my thesis <a title="VT ETDs" href="http://etd.vt.edu/" target="_blank">ETD</a> for my M.S. at Virginia Tech, I discovered that the <a title="ETD LaTeX Template" href="http://etd.vt.edu/howto/tutorials/latex/etd.txt" target="_blank">available ETD LaTeX template</a> was sorely out-of-date.  As a result, I had to spend sometime &#8216;upgrading&#8217; the LaTeX packages and template source as I went along to make it work well.  LaTeX has come a long way since <a title="1997" href="http://4.bp.blogspot.com/_mpJRvQpHWXU/TIHr8_LhJPI/AAAAAAAAGTw/Vd8Fltk3WUo/s1600/Batman-Robin-1997.jpg" target="_blank">1997</a>, after all.</p>
<p>Now that my defense is all said and done, I created an ETD template / example file for theses and dissertations for modern LaTeX distributions.  It contains all of the necessary <a title="ETD Formatting" href="http://etd.vt.edu/stdformat.html" target="_blank">ETD formatting guidelines</a>, as well as many of the packages that a technical thesis / dissertation may require and some good default settings.</p>
<p>You can see the template here:</p>
<p><a href="http://git.hokietux.net/?p=latex.git&amp;a=blob&amp;f=etd_template/etd_template.tex">http://git.hokietux.net/?p=latex.git&amp;a=blob&amp;f=etd_template/etd_template.tex</a></p>
<p>And the Git source tree summary is here:</p>
<p><a href="http://git.hokietux.net/?p=latex.git&amp;a=summary">http://git.hokietux.net/?p=latex.git&amp;a=summary</a></p>
<p>If you find this useful, or if you have any comments / suggestions, please let me know!</p>
<p>&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hokietux.net/?feed=rss2&#038;p=288</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Hokie LaTeX Beamer Theme v1.0</title>
		<link>http://blog.hokietux.net/?p=280</link>
		<comments>http://blog.hokietux.net/?p=280#comments</comments>
		<pubDate>Tue, 26 Apr 2011 21:30:54 +0000</pubDate>
		<dc:creator>HokieTux</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[beamer]]></category>
		<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[theme]]></category>

		<guid isPermaLink="false">http://blog.hokietux.net/?p=280</guid>
		<description><![CDATA[One week ago, I posted the alpha release of a Hokie theme for the LaTeX Beamer class for fellow Hokies using Beamer for slide shows.  I got a few good comments / suggestions, and I made a few edits as &#8230;<p class="read-more"><a href="http://blog.hokietux.net/?p=280">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>One week ago, I <a title="Alpah Release" href="http://blog.hokietux.net/?p=272" target="_blank">posted the alpha release</a> of a Hokie theme for the LaTeX Beamer class for fellow Hokies using Beamer for slide shows.  I got a few good comments / suggestions, and I made a few edits as I used the theme myself.  I&#8217;m pretty happy with where it is, and it remains highly configurable for anyone else that wants to tweak it.</p>
<p>&nbsp;</p>
<p>Here are some of the changes made since the last post:</p>
<ul>
<li>The background canvas is now a lighter color, and the navigation bar is now darker.</li>
<li>Bullets fade from maroon to orange depending on the indent level.</li>
<li>The source code now includes two logos, the VT logo and the Wireless@VT logo, for anyone that wants to use them.</li>
<li>Updated the example presentation file.</li>
<li>Added a README for people who want to tweak it.</li>
<li>Changed the color of the block example backgrounds.</li>
</ul>
<p>Here are a few pictures that illustrate what it looks like:</p>
<div id="attachment_282" class="wp-caption aligncenter" style="width: 415px"><img class="size-full wp-image-282" title="Title Slide" src="http://blog.hokietux.net/wp-content/uploads/2011/04/title.png" alt="" width="405" height="305" /><p class="wp-caption-text">Title Slide</p></div>
<div id="attachment_283" class="wp-caption aligncenter" style="width: 414px"><img class="size-full wp-image-283" title="Table of Contents" src="http://blog.hokietux.net/wp-content/uploads/2011/04/toc.png" alt="" width="404" height="303" /><p class="wp-caption-text">Table of Contents</p></div>
<div id="attachment_284" class="wp-caption aligncenter" style="width: 415px"><img class="size-full wp-image-284" title="Basic Slide" src="http://blog.hokietux.net/wp-content/uploads/2011/04/basic.png" alt="" width="405" height="303" /><p class="wp-caption-text">Basic Slide</p></div>
<div id="attachment_285" class="wp-caption aligncenter" style="width: 414px"><img class="size-full wp-image-285" title="Bullet Points" src="http://blog.hokietux.net/wp-content/uploads/2011/04/bullets.png" alt="" width="404" height="303" /><p class="wp-caption-text">Bullet Points</p></div>
<p>The example presentation in the beamer-example/ directory of the source tree has more slides, including a table, figure, and equation, but the above should be enough to give you an idea of the theme&#8217;s general appearance.</p>
<p>The source code is available here: <a href="http://git.hokietux.net/?p=latex.git&amp;a=summary">http://git.hokietux.net/?p=latex.git&amp;a=summary</a></p>
<p>Let me know if you have any comments / suggestions, and enjoy! =)</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hokietux.net/?feed=rss2&#038;p=280</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hokie Beamer Theme &#8211; 1st Release</title>
		<link>http://blog.hokietux.net/?p=274</link>
		<comments>http://blog.hokietux.net/?p=274#comments</comments>
		<pubDate>Tue, 19 Apr 2011 14:56:01 +0000</pubDate>
		<dc:creator>HokieTux</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[beamer]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[LaTeX]]></category>
		<category><![CDATA[presentation]]></category>

		<guid isPermaLink="false">http://blog.hokietux.net/?p=272</guid>
		<description><![CDATA[Okay, so in the process of creating the slides for my Master&#8217;s defense, I decided to make a Hokie theme for the Beamer LaTeX class.  Right now, there is only one available color scheme, which more or less mimics the &#8230;<p class="read-more"><a href="http://blog.hokietux.net/?p=274">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>Okay, so in the process of creating the slides for my Master&#8217;s defense, I decided to make a <a title="GO HOKIES!" href="http://www.hokiesports.com/" target="_blank">Hokie </a>theme for the<a title="Wiki Article for those that don't know what's going on." href="http://en.wikipedia.org/wiki/Beamer_(LaTeX)" target="_blank"> Beamer LaTeX class</a>.  Right now, there is only one available color scheme, which more or less mimics the VT web color palette guidelines.</p>
<p>I grabbed an example presentation from <a title="Jean-Etienne's Page" href="http://www.poirrier.be/~jean-etienne/info/latexbeamer/" target="_blank">Jean-Etienne</a>, and compiled it using the Hokie theme.  The four images below show what some of the basic slides look like:</p>
<div id="attachment_273" class="wp-caption aligncenter" style="width: 433px"><img class="size-full wp-image-273" title="default-title" src="http://blog.hokietux.net/wp-content/uploads/2011/04/default-title.png" alt="" width="423" height="317" /><p class="wp-caption-text">The title slide of the default layout.</p></div>
<div id="attachment_274" class="wp-caption aligncenter" style="width: 431px"><img class="size-full wp-image-274" title="default-outline" src="http://blog.hokietux.net/wp-content/uploads/2011/04/default-outline.png" alt="" width="421" height="318" /><p class="wp-caption-text">The outline slide of the default layout.</p></div>
<div id="attachment_275" class="wp-caption aligncenter" style="width: 432px"><img class="size-full wp-image-275" title="default-slide" src="http://blog.hokietux.net/wp-content/uploads/2011/04/default-slide.png" alt="" width="422" height="317" /><p class="wp-caption-text">An example basic slide using the default layout.</p></div>
<div id="attachment_276" class="wp-caption aligncenter" style="width: 431px"><img class="size-full wp-image-276" title="default-block" src="http://blog.hokietux.net/wp-content/uploads/2011/04/default-block.png" alt="" width="421" height="317" /><p class="wp-caption-text">An beamer example block in a slide.</p></div>
<p>Using the theme is pretty simple &#8211; grab the files from my Git repository, put them in your project directory, and then simply use the command:</p>
<p><code>usetheme{Hokie}<br />
</code></p>
<p>&#8230;in your *.tex file.  You can see all of this in the beamer-example directory, as well.</p>
<p>There are three available layouts that I have tested the theme with, and they all work well.  If you look inside of &#8216;beamerthemeHokie.sty&#8217;, you will see three theme lines, only one of which isn&#8217;t commented out.  Try each of them, and choose the one you like the most!  I&#8217;ll post pictures of the rest as soon as I have time.</p>
<p><a title="The code!" href="http://git.hokietux.net/?p=latex.git&amp;a=tree" target="_blank">Head here for the code!</a></p>
<p>If you have any bug reports, suggestions, or comments, please let me know!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hokietux.net/?feed=rss2&#038;p=274</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>HowTo: Put Code in WordPress Blog Posts and Not Go Crazy</title>
		<link>http://blog.hokietux.net/?p=266</link>
		<comments>http://blog.hokietux.net/?p=266#comments</comments>
		<pubDate>Mon, 07 Feb 2011 06:24:26 +0000</pubDate>
		<dc:creator>HokieTux</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[syntax]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blog.hokietux.net/?p=266</guid>
		<description><![CDATA[In general, I&#8217;m a pretty big fan of WordPress.  It&#8217;s easy to setup, easy to maintain, pretty configurable, and there are lots of plugins available for it.  That said, I have struggled, ever since I started using it, with two &#8230;<p class="read-more"><a href="http://blog.hokietux.net/?p=266">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>In general, I&#8217;m a pretty big fan of WordPress.  It&#8217;s easy to setup, easy to maintain, pretty configurable, and there are lots of plugins available for it.  That said, I have struggled, ever since I started using it, with two things:</p>
<ol>
<li>Getting it to let me insert breaks into paragraphs.</li>
<li>Writing code in blog posts. Not writing HTML code to create the blog post, but actually writing code that is meant to be displayed in the blog post.  This blog is supposed to be about technology, after all.</li>
</ol>
<p>Just searching around reveals that I am not alone in either point.  I have pretty much given up on the first one, and occasionally just have to manually insert &#8220;&lt;br /&gt;&#8221;.  There are <a title="Seriously?!" href="site:en.forums.wordpress.com wordpress insert break">currently over 1,150 posts on the WordPress forums related to this</a>, and it&#8217;s mind-blowing that this is still so freaking difficult.  It&#8217;s been a long, long time, though, and it still hasn&#8217;t been changed, so I&#8217;m pretty sure it won&#8217;t ever be.  <a title=":iiam:" href="http://www.itisamystery.com/" target="_blank">Why not, I know not</a>.</p>
<p>In terms of #2, I have finally found a semblance of a solution, using a combination of three plugins, and some special rules.  I installed all three of the following plugins:</p>
<ul>
<li><a href="http://wordpress.org/extend/plugins/wp-syntax/" target="_blank">WP-Syntax</a></li>
<li><a href="http://www.effinger.org/blog/2009/12/30/wp-syntax-editor-integration-plugin-wp-syntax-im-wordpress-editor-nutzen/" target="_blank">WP-Syntax Editor Integration Plugin</a> (Warnung: Seite in Deutsch)</li>
<li><a href="http://www.webveteran.com/blog/index.php/visual-code-editor/" target="_blank">Visual Code Editor</a></li>
</ul>
<p>When I want to paste code into a blog post, I do it in the HTML editor (this part is <em><strong>critical</strong></em>), paste the code, then highlight the code and click the little button that one of those plugins adds.  Now then, DON&#8217;T FREAKING TOUCH IT.</p>
<p>I&#8217;ve tried to paste in code not following that exact procedure, and once it actually inserted PHP comment tags around my entire code block.  Also, if you try to paste in code while in the visual editor, it adds all kinds of ridiculous &#8216;div&#8217; and &#8216;p&#8217; blocks around the text, and totally mucks up the code block displays.</p>
<p>Anyways, I hope this helps someone else that is suffering while trying to post code.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hokietux.net/?feed=rss2&#038;p=266</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Guide: Migrating to GitPHP from Gitweb on Nginx</title>
		<link>http://blog.hokietux.net/?p=247</link>
		<comments>http://blog.hokietux.net/?p=247#comments</comments>
		<pubDate>Mon, 07 Feb 2011 05:15:31 +0000</pubDate>
		<dc:creator>HokieTux</dc:creator>
				<category><![CDATA[Guides]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[gitphp]]></category>
		<category><![CDATA[gitweb]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://blog.hokietux.net/?p=247</guid>
		<description><![CDATA[I have used Gitweb for the last ~2 years or so.  While it served it&#8217;s purpose well, it broke occasionally, and for whatever reason, kind of annoyed me.  I was attempting to get Gitweb up and running under Nginx after &#8230;<p class="read-more"><a href="http://blog.hokietux.net/?p=247">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>I have<a title="My Gitweb + Gitosis guide." href="http://blog.hokietux.net/?p=58" target="_blank"> used Gitweb for the last ~2 years</a> or so.  While it served it&#8217;s purpose well, <a title="Really, really sucked when it broke." href="http://blog.hokietux.net/?p=187" target="_blank">it broke occasionally</a>, and for whatever reason, <a title="Although probably not as much as this." href="http://www.youtube.com/watch?v=0cVlTeIATBs" target="_blank">kind of annoyed me</a>.  I was attempting to get <a title="Oh, the pain." href="http://www.google.com/images?q=pain&amp;um=1&amp;ie=UTF-8&amp;source=og&amp;sa=N&amp;hl=en&amp;tab=wi&amp;biw=1184&amp;bih=578" target="_blank">Gitweb</a> up and running under Nginx after having already gotten WordPress working, and someone in the <a title="&lt;3 Nginx" href="http://wiki.nginx.org/Main" target="_blank">Nginx</a> channel suggested that I try <a title="Awesome blossom with extra awesome sauce." href="http://www.xiphux.com/programming/gitphp/" target="_blank">GitPHP</a> instead; afterall, I already had PHP up and running with Nginx.</p>
<p>Please note that this is _<strong><em>not</em></strong>_ the <a title="Broken git-php." href="http://code.google.com/p/git-php/" target="_blank">git-php located on Google code</a>.  That is a different project, and appears to be abandoned.</p>
<p>As the <a title="No, seriously, it's awesome." href="http://www.xiphux.com/programming/gitphp/" target="_blank">GitPHP homepage</a> states, GitPHP looks almost exactly like Gitweb, but has a few extras (most noticeably in the form of a little balloon that comes up showing more information about commits on mouse-hover).</p>
<p>GitPHP works with <a title="My guide to setting up Gitosis and Gitweb." href="http://blog.hokietux.net/?p=58" target="_blank">Gitosis in the same way the Gitweb</a> does.  In your<a title="The Gitosis README." href="http://eagain.net/gitweb/?p=gitosis.git;a=blob;f=README.rst" target="_blank"> Gitosis configuration</a>, you can manually delegate which repositories to publish to the web, or just have GitPHP publish all of them.  If you want to only publish select repositories (which is what I do &#8211; I actually only have one public repository), then you need to configure Gitosis appropriately.  For example, to publish the repository &#8216;configs&#8217;, then you must define &#8216;gitweb = yes&#8217; in your Gitosis configuration file:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #009900;">&#91;</span>configs<span style="color: #009900;">&#93;</span>
members <span style="color: #339933;">=</span> HokieTux
writeable <span style="color: #339933;">=</span> admin
gitweb <span style="color: #339933;">=</span> yes</pre></td></tr></table></div>

<p>You can download GitPHP either via the <a title="The GitPHP Homepage" href="http://www.xiphux.com/programming/gitphp/" target="_blank">tarball published on the homepage</a>, or via the <a title="GitPHP serving GitPHP. Whoa." href="http://gitphp.xiphux.com/index.php" target="_blank">author&#8217;s own GitPHP page</a>!  There is no build process &#8211; just unpack the source to the directory from which your web server will serve the content.  For me, (<a title="Wiki Dis-ambiguates less than three. Thank goodness." href="http://en.wikipedia.org/wiki/Less_than_3" target="_blank">&lt;3</a> <a title="No, seriously, ArchLinux fucking rocks." href="http://www.archlinux.org/" target="_blank">ArchLinux</a>), that&#8217;s <span style="color: #ff6600;">/srv/http/gitphp/</span>.  Now, we need to make sure that the user/group of your webserver process can access the GitPHP directory.  This is easy.  If your web server user name and group is apache:apache, then:</p>
<p style="padding-left: 30px;"><span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; line-height: 18px; font-size: 12px; white-space: pre;">$ sudo chown -R apache:apache /srv/http/gitphp</span></p>
<p>Done!  Now, let&#8217;s make your configuration file.  Head into <span style="color: #ff6600;">gitphp/config/</span>, copy <span style="color: #ff0000;">gitphp.conf.php.example</span> to <span style="color: #ff0000;">gitphp.conf.php</span>.  The list of options that are available to you are described pretty clearly in <span style="color: #ff0000;">gitphp.conf.defaults.php</span>, if you are curious.  For most people, a pretty bare configuration file will work fine.  I added some things to mine, which you can see below:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
</pre></td><td class="code"><pre class="php" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">&lt;?php</span>
<span style="color: #009933; font-style: italic;">/**
 * GitPHP Config file
 *
 * Copy this example file to config/gitphp.conf.php
 *
 * @author Christopher Han &lt;xiphux@gmail.com&gt;
 * @copyright Copyright (c) 2010 Christopher Han
 * @package GitPHP
 * @subpackage Config
 */</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/*
 * projectroot
 * Full directory on server where projects are located
 */</span>
<span style="color: #000088;">$gitphp_conf</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'projectroot'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'/srv/git/repositories/'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/*
 * exportedonly
 * When listing all projects in the project root,
 * (not specifying any projects manually or using a project list file)
 * set this to true to only allow repositories with the
 * special file git-daemon-export-ok (see the git-daemon man page)
 */</span>
<span style="color: #000088;">$gitphp_conf</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'exportedonly'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
<span style="color: #666666; font-style: italic;">/*
 * cache
 * Turns on template caching. If in doubt, leave it off
 * You will need to create a directory 'cache' and make it
 * writable by the server
 */</span>
<span style="color: #000088;">$gitphp_conf</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'cache'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/*
 * objectcache
 * Turns on object caching.  This caches immutable pieces of
 * data from the git repository.  You will need to create a
 * directory 'cache' and make it writable by the server.
 * This can be used in place of the template cache, or
 * in addition to it for the maximum benefit.
 */</span>
<span style="color: #000088;">$gitphp_conf</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'objectcache'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/*
 * cacheexpire
 * Attempts to automatically expire cache when a new commit renders
 * it out of date.
 * This is a good option for most users because it ensures the cache
 * is always up to date and users are seeing correct information,
 * although it is a slight performance hit.
 * However, if your commits are coming in so quickly that the cache
 * is constantly being expired, turn this off.
 */</span>
<span style="color: #000088;">$gitphp_conf</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'cacheexpire'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #009900; font-weight: bold;">true</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/*
 * cachelifetime
 * Sets how long a page will be cached, in seconds
 * If you are automatically expiring the cache
 * (see the 'cacheexpire' option above), then this can be set
 * relatively high - 3600 seconds (1 hour) or even longer.
 * -1 means no timeout.
 * If you have turned cacheexpire off because of too many
 * cache expirations, set this low (5-10 seconds).
 */</span>
<span style="color: #000088;">$gitphp_conf</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'cachelifetime'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">3600</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/*
 * objectcachelifetime
 * Sets how long git objects will be cached, in seconds
 * The object cache only stores immutable objects from
 * the git repository, so there's no harm in setting
 * this to a high number.  Set to -1 to never expire.
 */</span>
<span style="color: #000088;">$gitphp_conf</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'objectcachelifetime'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #cc66cc;">86400</span><span style="color: #339933;">;</span>
&nbsp;
&nbsp;
<span style="color: #666666; font-style: italic;">/*******************************************************
 * Paths to php libraries
 */</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/*
 * smarty_prefix
 * This is the prefix where smarty is installed.
 * If an absolute (starts with /) path is given,
 * Smarty.class.php will be searched for in that directory.
 * If a relative (doesn't start with /) path is given,
 * that subdirectory inside the php include dirs will be
 * searched.  So, for example, if you specify the path as
 * &quot;/usr/share/Smarty/&quot; then the script will look for
 * /usr/share/Smarty/Smarty.class.php.
 * If you specify the path as &quot;smarty/&quot; then it will search
 * the include directories in php.ini's include_path directive,
 * so it would search in places like /usr/share/php and /usr/lib/php:
 * /usr/share/php/smarty/Smarty.class.php,
 * /usr/lib/php/smarty/Smarty.class.php, etc.
 * Leave blank to just search in the root of the php include directories
 * like /usr/share/php/Smarty.class.php, /usr/lib/php/Smarty.class.php, etc.
 */</span>
<span style="color: #000088;">$gitphp_conf</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'smarty_prefix'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'/srv/http/gitphp/lib/smarty/libs/'</span><span style="color: #339933;">;</span>
&nbsp;
<span style="color: #666666; font-style: italic;">/*
 * geshiroot
 * Directory where geshi is installed, only applies if geshi is enabled
 * NOTE: this is the path to the base geshi.php file to include,
 * NOT the various other geshi php source files!
 * Leave blank if geshi.php is in the gitphp root
 */</span>
<span style="color: #000088;">$gitphp_conf</span><span style="color: #009900;">&#91;</span><span style="color: #0000ff;">'geshiroot'</span><span style="color: #009900;">&#93;</span> <span style="color: #339933;">=</span> <span style="color: #0000ff;">'/srv/http/gitphp/lib/geshi/'</span><span style="color: #339933;">;</span></pre></td></tr></table></div>

<p>The most important options, in terms of just getting up and running, are the first two options: &#8216;<span style="color: #339966;">projectroot</span>&#8216; and &#8216;<span style="color: #339966;">exportedonly</span>&#8216;.  Set those properly, and you should be all done!</p>
<div>Now, we need to get your webserver to serve the content!  I will show the rules I use for Nginx to serve GitPHP on ArchLinux.  First, a note on DNS resolution:</div>
<div>Some sources will tell you that you _do not_ need a separate DNS entry on your host to serve a subdomain.  For example, I serve http://git.hokietux.net as a subdomain of http://hokietux.net.  For me, this was <strong><em>not</em></strong> the case.  I had to create a separate DNS record under my hokietux.net entry.  If  you can&#8217;t get your subdomain to resolve, check this.</div>
<p></p>
<div>Now then, moving on.  My Nginx configuration for GitPHP is pretty simple.  Here it is:</div>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">server <span style="color: #009900;">&#123;</span>
    listen               <span style="color: #cc66cc;">80</span><span style="color: #339933;">;</span>
    server_name     git<span style="color: #339933;">.</span>hokietux<span style="color: #339933;">.</span>net<span style="color: #339933;">;</span>
    root                <span style="color: #339933;">/</span>srv<span style="color: #339933;">/</span>http<span style="color: #339933;">/</span>gitphp<span style="color: #339933;">;</span>
    index               index<span style="color: #339933;">.</span>php<span style="color: #339933;">;</span>
&nbsp;
    <span style="color: #666666; font-style: italic;"># This is some magic to try to serve a php file without rewriting anything. It makes
</span>    serving some content much faster<span style="color: #339933;">.</span>
    location <span style="color: #339933;">/</span> <span style="color: #009900;">&#123;</span>
        try_files <span style="color: #000088;">$uri</span> <span style="color: #000088;">$uri</span><span style="color: #339933;">/</span> <span style="color: #339933;">/</span>index<span style="color: #339933;">.</span>php?q<span style="color: #339933;">=</span><span style="color: #000088;">$uri</span><span style="color: #339933;">&amp;</span><span style="color: #000088;">$args</span><span style="color: #339933;">;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    location ~ <span style="color: #339933;">.</span>php$ <span style="color: #009900;">&#123;</span>
        fastcgi_split_path_info ^<span style="color: #009900;">&#40;</span><span style="color: #339933;">.+.</span>php<span style="color: #009900;">&#41;</span><span style="color: #009900;">&#40;</span><span style="color: #339933;">/.+</span><span style="color: #009900;">&#41;</span>$<span style="color: #339933;">;</span>
        <span style="color: #b1b100;">include</span>        fastcgi<span style="color: #339933;">.</span>conf<span style="color: #339933;">;</span>
        fastcgi_pass   unix<span style="color: #339933;">:/</span><span style="color: #000000; font-weight: bold;">var</span><span style="color: #339933;">/</span>run<span style="color: #339933;">/</span>php<span style="color: #339933;">-</span>fpm<span style="color: #339933;">/</span>php<span style="color: #339933;">-</span>fpm<span style="color: #339933;">.</span>sock<span style="color: #339933;">;</span>
        fastcgi_index  index<span style="color: #339933;">.</span>php<span style="color: #339933;">;</span>
        fastcgi_param  SCRIPT_FILENAME  <span style="color: #339933;">/</span>srv<span style="color: #339933;">/</span>http<span style="color: #339933;">/</span>gitphp<span style="color: #339933;">/</span><span style="color: #000088;">$fastcgi_script_name</span><span style="color: #339933;">;</span>
        fastcgi_cache_valid any 1m<span style="color: #339933;">;</span>
        fastcgi_intercept_errors on<span style="color: #339933;">;</span>
<span style="color: #009900;">&#125;</span></pre></td></tr></table></div>

<div>So, a few things:</div>
<div>
<ol>
<li>As explained on the <a title="Generally useful even if you aren't an Archer (shame!)." href="https://wiki.archlinux.org/index.php/Main_Page" target="_blank">ArchLinux Wiki</a>, I am using the favored method of combining <a title="php-fpm. I hadn't even heard of this until I did this migration." href="http://php-fpm.org/" target="_blank">php-fpm</a> with Nginx.</li>
<li>Most people will need the &#8216;include&#8217; line to include &#8216;<span style="color: #339966;">fastcgi_params</span>&#8216; rather than &#8216;<span style="color: #339966;">fastcgi.conf</span>&#8216; &#8211; the latter seems to be ArchLinux-specific.</li>
<li>Remember to change the directories, domain, etc., accordingly.</li>
</ol>
</div>
<p>There is one last thing we need to do: make sure that the &#8216;<span style="color: #339966;">posix.so</span>&#8216; extension is loaded into PHP!  Open up your <span style="color: #ff0000;">php.ini</span> &#8211; for me, it&#8217;s located at <span style="color: #ff6600;">/etc/php/php.ini</span>. Head to your &#8216;Dynamic Extensions&#8217; section, and make sure that</p>
<blockquote>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
</pre></td><td class="code"><pre class="php" style="font-family:monospace;">extension<span style="color: #339933;">=</span>posix<span style="color: #339933;">.</span>so</pre></td></tr></table></div>

</blockquote>
<p>is uncommented/enabled.  If you don&#8217;t see it there, then add it!</p>
<div>And that&#8217;s it!  Restart your Nginx server, any PHP services you use (php-fpm, for example), and you should be all set!  Please post here if you have any questions, issues, or need further help!  Also, the author is very good at responding to help questions  - he answered a question of mine within hours of me sending it!</div>
<p></p>
<div>All in all, I&#8217;m quite impressed and very happy. <a title="My GitPHP page!" href="http://git.hokietux.net" target="_blank">Here are the results</a>!</div>
]]></content:encoded>
			<wfw:commentRss>http://blog.hokietux.net/?feed=rss2&#038;p=247</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>HowTo: Fix WordPress “Error Establishing a Database Connection” &#8211; Continued</title>
		<link>http://blog.hokietux.net/?p=242</link>
		<comments>http://blog.hokietux.net/?p=242#comments</comments>
		<pubDate>Mon, 07 Feb 2011 04:28:51 +0000</pubDate>
		<dc:creator>HokieTux</dc:creator>
				<category><![CDATA[Hacks]]></category>
		<category><![CDATA[database]]></category>
		<category><![CDATA[fix]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[mysql]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://blog.hokietux.net/?p=242</guid>
		<description><![CDATA[I have previously posted on fixing the Error Establishing a Database Connection WordPress issue.  After migrating to Nginx, my WordPress MySQL database was totally hosed.  Running the fix that posted in that previous post didn&#8217;t help &#8211; I couldn&#8217;t figure &#8230;<p class="read-more"><a href="http://blog.hokietux.net/?p=242">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>I have <a title="Temp Fix!" href="http://blog.hokietux.net/?p=215" target="_blank">previously posted</a> on fixing the</p>
<pre style="padding-left: 30px;">Error Establishing a Database Connection</pre>
<p>WordPress issue.  After migrating to <a href="http://wiki.nginx.org/Main" target="_blank">Nginx</a>, my WordPress MySQL database was totally hosed.  Running the fix that posted in that previous post didn&#8217;t help &#8211; I couldn&#8217;t figure out what was happening.</p>
<p>After digging around in MySQL, it almost seems like my WordPress MySQL user had dropped all of it&#8217;s privileges on the WordPress MySQL database.  I&#8217;m really not sure how this might have happened, and I don&#8217;t know enough about MySQL to be 100% sure of this, but this seems to be the case.</p>
<p>I tried a new fix, based on the <a title="Wordpress - Also served by Nginx!" href="http://codex.wordpress.org/Installing_WordPress#Detailed_Instructions" target="_blank">WordPress Installation Instructions</a> (specifically, the &#8220;Using the MySQL Client&#8221; section), and so far, everything seems great.</p>
<p>First, open up the MySQL shell:</p>
<blockquote><p>$ su</p>
<p># mysql -u root -p</p></blockquote>
<p>Now, we want to operate on your WordPress MySQL table. If you don&#8217;t remember the name, you can have MySQL tell you all of the databases you have.  Once you figure out what it is, select it with the &#8216;use&#8217; command:</p>
<blockquote><p>mysql&gt; show databases;</p>
<p>mysql&gt; use wordpress;</p></blockquote>
<p>Finally, it&#8217;s time to update your WordPress password, and re-grant privileges.  There are two lines of &#8216;privilege granting&#8217; below.  The first is for your WordPress user on a certain host. For most people, &#8220;host&#8221; should just be &#8220;localhost&#8221;.  If you aren&#8217;t sure, look in your wordpress/wp-config.php file &#8211; it should be there under the HOST variable.  The next one uses the &#8220;%&#8221; wildcard in place of &#8220;host&#8221;.  I&#8217;m honestly not 100% sure if this is required, but my stuff works now, and it didn&#8217;t before, so take it for what you will.</p>
<blockquote><p>mysql&gt; UPDATE wp-users SET user_pass = MD5(&#8216;password&#8217;) WHERE user_login = &#8216;login&#8217;;</p>
<p>mysql&gt; GRANT ALL PRIVILEGES ON wordpress.* TO &#8220;login&#8221;@&#8221;host&#8221;;</p>
<p>mysql&gt; GRANT ALL PRIVILEGES ON wordpress.* TO &#8220;login&#8221;@&#8221;%&#8221;;</p></blockquote>
<p>Huzzah!  From here, you should be all set.  Again, I don&#8217;t know squat about MySQL (or any database software, really) &#8211; this fix worked for me.  If you have comments, suggestions, or other fixes, please share them below.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hokietux.net/?feed=rss2&#038;p=242</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>HowTo: &#8216;Fixing&#8217; the Google Chrome PDF Reader</title>
		<link>http://blog.hokietux.net/?p=225</link>
		<comments>http://blog.hokietux.net/?p=225#comments</comments>
		<pubDate>Thu, 27 Jan 2011 21:33:30 +0000</pubDate>
		<dc:creator>HokieTux</dc:creator>
				<category><![CDATA[Hacks]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[chrome]]></category>
		<category><![CDATA[fix]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[hack]]></category>
		<category><![CDATA[pdf]]></category>

		<guid isPermaLink="false">http://hokietux.net/blog/?p=225</guid>
		<description><![CDATA[I love Google Chrome (and it&#8217;s sister Chromium), but the &#8216;new Chrome PDF Reader&#8217; is really, really terrible.  I can almost never properly save PDF files, and the features just aren&#8217;t there. To get your Adobe PDF reader back, simply &#8230;<p class="read-more"><a href="http://blog.hokietux.net/?p=225">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>I love Google Chrome (and it&#8217;s sister Chromium), but the &#8216;new Chrome PDF Reader&#8217; is really, really terrible.  I can almost never properly save PDF files, and the features just aren&#8217;t there.</p>
<p>To get your Adobe PDF reader back, simply head to</p>
<pre style="padding-left: 30px;">about:plugins</pre>
<p>in the address bar, and click &#8216;Enable&#8217; under the Adobe plugin.   You should be all set.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hokietux.net/?feed=rss2&#038;p=225</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>HowTo: VirtualBox Crash on Startup Fix</title>
		<link>http://blog.hokietux.net/?p=221</link>
		<comments>http://blog.hokietux.net/?p=221#comments</comments>
		<pubDate>Tue, 25 Jan 2011 19:52:52 +0000</pubDate>
		<dc:creator>HokieTux</dc:creator>
				<category><![CDATA[Hacks]]></category>
		<category><![CDATA[archlinux]]></category>
		<category><![CDATA[crash]]></category>
		<category><![CDATA[hacks]]></category>
		<category><![CDATA[horked]]></category>
		<category><![CDATA[virtualbox]]></category>

		<guid isPermaLink="false">http://hokietux.net/blog/?p=221</guid>
		<description><![CDATA[I recently began experiencing an issue where my VirtualBox VMs would crash (really, really hard) while booting up.  For me, it looked something like this: It turns out the fix for this is simple, but obnoxious: close any program (including &#8230;<p class="read-more"><a href="http://blog.hokietux.net/?p=221">Read more &#187;</a></p>]]></description>
			<content:encoded><![CDATA[<p>I recently began experiencing an issue where my VirtualBox VMs would crash (really, really hard) while booting up.  For me, it looked something like this:</p>
<div id="attachment_222" class="wp-caption aligncenter" style="width: 444px"><img class="size-full wp-image-222  " title="vbox_crash" src="http://hokietux.net/blog/wp-content/uploads/2011/01/vbox_crash.png" alt="ArchLinux VM Crashing at Startup" width="434" height="355" /><p class="wp-caption-text">ArchLinux VM Crashing at Startup</p></div>
<p>It turns out the fix for this is simple, but obnoxious: close any program (including Windows Explorer) that is using any part of a shared directory that the VM uses.  You could also just remove the shared directory from the VM, but then there isn&#8217;t much point in having the shared directory to begin with.</p>
<p>I&#8217;m really not all that sure how this bug made it into a release, but hopefully they patch it soon!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.hokietux.net/?feed=rss2&#038;p=221</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

