<?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>Richard A. Johnson &#187; Development</title> <atom:link href="http://www.nixternal.com/category/development/feed/" rel="self" type="application/rss+xml" /><link>http://www.nixternal.com</link> <description>Open Source Developer, Advocate,  Author, and Consultant</description> <lastBuildDate>Wed, 16 May 2012 15:27:07 +0000</lastBuildDate> <language>en</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <xhtml:meta xmlns:xhtml="http://www.w3.org/1999/xhtml" name="robots" content="noindex" /> <item><title>Install and Use LESS on Dreamhost</title><link>http://www.nixternal.com/install-and-use-less-on-dreamhost/</link> <comments>http://www.nixternal.com/install-and-use-less-on-dreamhost/#comments</comments> <pubDate>Wed, 01 Feb 2012 06:15:05 +0000</pubDate> <dc:creator>Richard A. Johnson</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[Dreamhost]]></category> <category><![CDATA[LESS]]></category> <category><![CDATA[Script]]></category> <guid
isPermaLink="false">http://www.nixternal.com/?p=1131</guid> <description><![CDATA[<p>I am working on a few websites and recently started using LESS CSS for creating my CSS. Anyways, I am using a Dreamhost shared server for not only my website, but other projects I am working on. Unfortunately with a shared server account, you don&#8217;t have access to sudo, so you can&#8217;t install applications. I [...]</p><p><a
href="http://www.nixternal.com/install-and-use-less-on-dreamhost/">Install and Use LESS on Dreamhost</a> is a post from <a
href="http://www.nixternal.com/about/">Richard A. Johnson</a>'s <a
href="http://www.nixternal.com/blog/">blog</a>.</p>]]></description> <content:encoded><![CDATA[<p>I am working on a few websites and recently started using <a
href="http://www.lesscss.org/">LESS CSS</a> for creating my CSS. Anyways, I am using a <a
href="http://www.dreamhost.com/">Dreamhost</a> shared server for not only my website, but other projects I am working on. Unfortunately with a shared server account, you don&#8217;t have access to <code>sudo</code>, so you can&#8217;t install applications. I got tired of editing my LESS files on the server, copying them locally or doing the git push and pull boogie, running a make file to build the css, and then pushing the css back to the server. I searched and searched for the answer and never found out. However, I did remember that I used to do a lot of Debian and Ubuntu packaging not all that long ago and figured I could just download all the files I need from the Ubuntu archive, extract them, and put them in their proper place. After doing all of this manually and testing it that everything worked just how I needed, I decided to write a script to do all the work. That way there I didn&#8217;t have to use this blog to provide step-by-step instructions.</p><h2>Getting the script</h2><p>You can either use <code>git</code> to grab the file or you can simply <a
href="https://raw.github.com/nixternal/dreamhost_less_compiler_install_script/master/dh_less_inst.sh">grab the script only</a>.</p><p><strong>With</strong> <code>git</code><strong>:</strong></p><div
class="wp-geshi-highlight-wrap5"><div
class="wp-geshi-highlight-wrap4"><div
class="wp-geshi-highlight-wrap3"><div
class="wp-geshi-highlight-wrap2"><div
class="wp-geshi-highlight-wrap"><div
class="wp-geshi-highlight"><div
class="bash"><pre class="de1"><span class="kw2">git clone</span> git:<span class="sy0">//</span>github.com<span class="sy0">/</span>nixternal<span class="sy0">/</span>dreamhost_less_compiler_install_script.git</pre></div></div></div></div></div></div></div><p>If you grab the script from the above link, you will need to make it executable:</p><div
class="wp-geshi-highlight-wrap5"><div
class="wp-geshi-highlight-wrap4"><div
class="wp-geshi-highlight-wrap3"><div
class="wp-geshi-highlight-wrap2"><div
class="wp-geshi-highlight-wrap"><div
class="wp-geshi-highlight"><div
class="bash"><pre class="de1"><span class="kw2">chmod</span> +x dh_less_inst.sh</pre></div></div></div></div></div></div></div><h2>Running the script</h2><p>Here comes the easy part:</p><div
class="wp-geshi-highlight-wrap5"><div
class="wp-geshi-highlight-wrap4"><div
class="wp-geshi-highlight-wrap3"><div
class="wp-geshi-highlight-wrap2"><div
class="wp-geshi-highlight-wrap"><div
class="wp-geshi-highlight"><div
class="bash"><pre class="de1">.<span class="sy0">/</span>dh_less_inst.sh</pre></div></div></div></div></div></div></div><h2>What does the script do?</h2><p>The script simply downloads the necessary packages from the Ubuntu archive, or a tarball if it isn&#8217;t in the archive. The following is a list of everything that gets downloaded and installed as well as where it gets placed: <strong>NOTE:</strong> <code>$PREFIX</code> defaults to <code>~/.local/usr</code></p><ul><li><strong>lesscss</strong> &#8211; git clone of the lesscss source. <code>bin/lessc</code> and <code>lib/less</code> moved to <code>$PREFIX</code></li><li><strong>libev</strong> &#8211; tarball configured, built, and installed to <code>$PREFIX</code><li><strong>node.js</strong> &#8211; deb file extracted. <code>bin/node</code> moved to <code>$PREFIX</code></li><li><strong>libc-ares</strong>, <strong>libssl</strong>, <strong>libicu</strong>, and <strong>libv8</strong> &#8211; deb file extracted. <code>lib/</code> moved to <code>$PREFIX</code></li></ul><h2>What you need to add to make it work</h2><p>You just need to add 2 lines to your shell&#8217;s rc file. In my case I added them to <code>~/.zshrc</code>, but by default Dreamhost shared servers use <code>~/.bash_profile</code>. Here are the 2 lines to add:</p><div
class="wp-geshi-highlight-wrap5"><div
class="wp-geshi-highlight-wrap4"><div
class="wp-geshi-highlight-wrap3"><div
class="wp-geshi-highlight-wrap2"><div
class="wp-geshi-highlight-wrap"><div
class="wp-geshi-highlight"><div
class="bash"><pre class="de1"><span class="kw3">export</span> <span class="re2">PATH</span>=<span class="re1">$PATH</span>:<span class="re1">$HOME</span><span class="sy0">/</span>.local<span class="sy0">/</span>usr<span class="sy0">/</span>bin
<span class="kw3">export</span> <span class="re2">LD_LIBRARY_PATH</span>=<span class="st0">&quot;<span class="es2">$HOME</span>/.local/usr/lib&quot;</span></pre></div></div></div></div></div></div></div><p>Source the edited file or log out and back in for everything to work.</p><h2>Conclusion</h2><p>If you have any problems, please leave a comment below.</p><p><a
href="http://www.nixternal.com/install-and-use-less-on-dreamhost/">Install and Use LESS on Dreamhost</a> is a post from <a
href="http://www.nixternal.com/about/">Richard A. Johnson</a>'s <a
href="http://www.nixternal.com/blog/">blog</a>.</p>]]></content:encoded> <wfw:commentRss>http://www.nixternal.com/install-and-use-less-on-dreamhost/feed/</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>WordPress, Thematic, and WP-Paginate</title><link>http://www.nixternal.com/wordpress-thematic-wp-paginate/</link> <comments>http://www.nixternal.com/wordpress-thematic-wp-paginate/#comments</comments> <pubDate>Sun, 27 Feb 2011 18:23:02 +0000</pubDate> <dc:creator>Richard A. Johnson</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[Tutorial]]></category> <category><![CDATA[WordPress]]></category> <guid
isPermaLink="false">http://www.nixternal.com/?p=1008</guid> <description><![CDATA[<p>Since changing around my website and blog this month, I have switched over to using Thematic, a WordPress theme framework. I have created my own child theme and have written plenty of PHP code to get it the way I like and of course to hopefully optimize the site as much as possible. One thing [...]</p><p><a
href="http://www.nixternal.com/wordpress-thematic-wp-paginate/">WordPress, Thematic, and WP-Paginate</a> is a post from <a
href="http://www.nixternal.com/about/">Richard A. Johnson</a>'s <a
href="http://www.nixternal.com/blog/">blog</a>.</p>]]></description> <content:encoded><![CDATA[<p>Since changing around my website and blog this month, I have switched over to using <a
href="http://themeshaper.com/thematic/">Thematic</a>, a <a
href="http://www.wordpress.org/">WordPress</a> theme framework. I have created my own <a
href="http://codex.wordpress.org/Child_Themes">child theme</a> and have written plenty of PHP code to get it the way I like and of course to hopefully optimize the site as much as possible. One thing I can&#8217;t stand with a default WordPress installation is its pagination. Pagination is what the <em>&laquo; Older posts</em> and <em>Newer posts &raquo;</em> are. If you have more than a few pages of blog posts, these become a pain for most readers. I know when I come across blogs like that, and I want to hit every other page of posts, I usually just change the page number in the address bar.</p><p>I have chosen to use a plugin called <a
href="http://wordpress.org/extend/plugins/wp-paginate/">WP-Paginate</a> that creates a block of page numbers which allow the reader to select a page number instead of <em>next</em> or <em>previous</em>. The following is an example of what I am talking about:</p><p
style="text-align:center;"><img
src="http://www.nixternal.com/wp-content/uploads/2011/02/wp-paginate.png" alt="WP-Paginate Example" title="wp-paginate" width="373" height="65" class="aligncenter size-full wp-image-1009" /></p><p>First thing you will need to do is <a
href="http://codex.wordpress.org/Managing_Plugins#Installing_Plugins">install the plugin and activate it</a>. After doing that, you need to set it up, and of course this is something you should play with to get it the way you would like. After tweaking and testing, the settings I use that worked best for me were:</p><ul><li><em>Pagination Label</em>, <em>Previous Page</em>, <em>Next Page</em>, <em>Before Markup</em>, and <em>After Markup</em> I left default.</li><li><em>Markup Display</em> and <em>WP-Paginate CSS File</em> are both checked.</li><li><em>Page Range</em> I set to <code>4</code></li><li><em>Page Anchors</em> I set to <code>1</code></li><li><em>Page Gap</em> I set to <code>3</code></li></ul><p><strong>NOTE:</strong> the following is for use with WordPress 3.1 and a Thematic child-theme. Will it work on other themes or child-themes? I don&#8217;t know, that would be up to you to play around with, I just know this is working with the latest version of WordPress at this time and Thematic as well. Thematic version as of this post is <code>0.9.7.7</code>.</p><p>The next step would be to add an override function for either your <code>above-nav</code> or your <code>below-nav</code>, or both. In my case, I did both, but with a twist. When I am reading the first page, I didn&#8217;t want the pagination block to be at the top of the blog page, but when viewing pages 2 and up, I wanted to see the block at the top. This way here if a reader decided when the page loaded they didn&#8217;t want anything there, they could switch to another page without having to scroll down to the bottom of the page.</p><p>Now remember, I am showing this for a Thematic child-theme, and this is tested and working on just that with WordPress 3.1. To replace the default pagination with the new pagination, I need to add the following to my child theme&#8217;s <code>function.php</code> file. Here is the code that I added to that file:</p><div
class="wp-geshi-highlight-wrap5"><div
class="wp-geshi-highlight-wrap4"><div
class="wp-geshi-highlight-wrap3"><div
class="wp-geshi-highlight-wrap2"><div
class="wp-geshi-highlight-wrap"><div
class="wp-geshi-highlight"><div
class="php"><pre class="de1"><span class="kw1">if</span> <span class="br0">&#40;</span><span class="kw3">function_exists</span><span class="br0">&#40;</span><span class="st_h">'wp_paginate'</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="kw2">function</span> setup_navs<span class="br0">&#40;</span><span class="re0">$loc</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
        <span class="kw1">echo</span> <span class="st_h">'&lt;div id=&quot;nav-'</span> <span class="sy0">.</span> <span class="re0">$loc</span> <span class="sy0">.</span> <span class="st_h">'&quot; class=&quot;navigation&quot;&gt;'</span><span class="sy0">;</span>
        <span class="kw1">if</span> <span class="br0">&#40;</span>is_single<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
            <span class="kw1">echo</span> <span class="st_h">'&lt;div class=&quot;nav-previous&quot;&gt;'</span> <span class="sy0">.</span> thematic_previous_post_link<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st_h">'&lt;/div&gt;'</span><span class="sy0">;</span>
            <span class="kw1">echo</span> <span class="st_h">'&lt;div class=&quot;nav-next&quot;&gt;'</span> <span class="sy0">.</span> thematic_next_post_link<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="sy0">.</span> <span class="st_h">'&lt;/div&gt;'</span><span class="sy0">;</span>
        <span class="br0">&#125;</span> <span class="kw1">elseif</span> <span class="br0">&#40;</span><span class="re0">$loc</span> <span class="sy0">==</span> <span class="st_h">'above'</span> <span class="sy0">&amp;&amp;</span> is_category<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
            wp_paginate<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span>
            wp_paginate<span class="br0">&#40;</span><span class="br0">&#41;</span><span class="sy0">;</span>
        <span class="br0">&#125;</span>
        <span class="kw1">echo</span> <span class="st_h">'&lt;/div&gt;'</span><span class="sy0">;</span>
    <span class="br0">&#125;</span>
    <span class="kw2">function</span> childtheme_override_nav_above<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
        setup_navs<span class="br0">&#40;</span><span class="st_h">'above'</span><span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="br0">&#125;</span>
    <span class="kw2">function</span> childtheme_override_nav_below<span class="br0">&#40;</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
        setup_navs<span class="br0">&#40;</span><span class="st_h">'below'</span><span class="br0">&#41;</span><span class="sy0">;</span>
    <span class="br0">&#125;</span>
<span class="br0">&#125;</span></pre></div></div></div></div></div></div></div><p><strong>Breaking the code down</strong><br
/>The first line checks to see if the <em>WP-Paginate</em> plugin is in fact installed and activated. If it is, then it goes ahead and does its magic. Seeing as I wanted to change both my <code>nav_above</code> and <code>nav_below</code> functions, I created a function called <code>setup_navs</code> and passed it a string for either <em>above</em> or <em>below</em>. This function then steps through and checks if the page is a single page. This is a page where you have gone ahead and clicked on a blog post and are reading it. I didn&#8217;t want the new pagination in there, so the reader will be present with the <em>Previous</em> and <em>Next</em> posts just like normal. Then I wanted to check and make sure that the location for the pagination block was above and that it was a category page. This is a page of posts. The reason this works is because when you go to your blog posts page, and are using proper permalinks, it is really addressed as <code>/blog/page/1</code>, but it is redirected to <code>/blog/</code> instead. As soon as you go to the next page of posts, or a page greater than 1, the <code>is_category()</code> check will now be <em>true</em>, therefor displaying the pagination block at the top as well. If the location, or <code>$loc</code> is <em>bottom</em>, then it just does the pagination as normal for the bottom of a page.</p><p>To see what I am talking about in use, go ahead and click around on the page block on the bottom. When you get to a page that isn&#8217;t the first page, you will be presented with the block at the top as well as at the bottom.</p><p><strong>NOTE:</strong> I am not a PHP programmer at all, and only know enough to be dangerous, but it isn&#8217;t much different than other languages that I am better versed in logically. So if you see something I could do better, please let me know in the comments. Thanks!</p><p><a
href="http://www.nixternal.com/wordpress-thematic-wp-paginate/">WordPress, Thematic, and WP-Paginate</a> is a post from <a
href="http://www.nixternal.com/about/">Richard A. Johnson</a>'s <a
href="http://www.nixternal.com/blog/">blog</a>.</p>]]></content:encoded> <wfw:commentRss>http://www.nixternal.com/wordpress-thematic-wp-paginate/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>WordPress and Google AdSense</title><link>http://www.nixternal.com/wordpress-and-google-adsense/</link> <comments>http://www.nixternal.com/wordpress-and-google-adsense/#comments</comments> <pubDate>Sat, 26 Feb 2011 20:52:32 +0000</pubDate> <dc:creator>Richard A. Johnson</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[AdSense]]></category> <category><![CDATA[WordPress]]></category> <guid
isPermaLink="false">http://www.nixternal.com/?p=1007</guid> <description><![CDATA[<p>NOTE: The following has only been tested on version 3.1 of WordPress. It is not my fault if stuff blows up, so follow at your own risk. Since I have started using Google AdSense on my blog, I have always used the same size ad on every page. The reason I did this is because [...]</p><p><a
href="http://www.nixternal.com/wordpress-and-google-adsense/">WordPress and Google AdSense</a> is a post from <a
href="http://www.nixternal.com/about/">Richard A. Johnson</a>'s <a
href="http://www.nixternal.com/blog/">blog</a>.</p>]]></description> <content:encoded><![CDATA[<p><strong>NOTE:</strong> The following has only been tested on version 3.1 of WordPress. It is not my fault if stuff blows up, so follow at your own risk.</p><p>Since I have started using <a
href="https://www.google.com/adsense/www/en_US/tour/index.html">Google AdSense</a> on my blog, I have always used the same size ad on every page. The reason I did this is because of space allotment, and I didn&#8217;t know any better at the time. The other day while I was researching AdSense, I was reading about targeting and the different channels. After reading, I created a few different sized ads and tried to figure out how to fit them in to my website. I knew on pages like my blog, where the page was long, I could use a skyscraper ad, but on pages that were smaller, such as as my <a
href="http://www.nixternal.com/contact/">Contact</a> or <a
href="http://www.nixternal.com/donate/">Donate</a> pages, I couldn&#8217;t use such a large ad. Instead of mucking up my page with Javascript, or better yet my sidebar widgets since that is where my ads are placed, I decided I wanted to go the PHP route, do a single call to the database to get the page name, and go from there. If you have any experience with <a
href="http://www.wordpress.org/">WordPress</a>, one thing you will notice is you can&#8217;t include PHP markup in the body of any pages, posts, or widgets. This is a good thing, as it can potentially become a security risk. Sure there are different plugins you can use that will allow you to use PHP in pages or posts, but I decided on one.</p><p>I chose to use <a
href="http://wordpress.org/extend/plugins/shortcode-exec-php/">Shortcode Exec PHP</a> (SEP). I read reviews, checked out the forums, making sure nobody was having major issues or security issues. What SEP does is allow me to create PHP snippets in my WordPress Settings, and call them with short code in a page, post, or widgets. For instance, for my ads I would add <code>&#91;adsense&#93;</code> where ever I wanted to place my customized ad format.</p><p>To do this, you first need to install SEP into your WordPress site, activate it, and then get to writing your snippets. To access the page to add, delete, or edit snippets, go to <em>Settings &rarr; Shortcode Exec PHP</em>. On this page you will see a box or boxes for your snippets.</p><p><img
src="http://www.nixternal.com/wp-content/uploads/2011/02/shortcode_exec_php_box.png" alt="" title="shortcode_exec_php_box" width="616" height="285" class="aligncenter size-full wp-image-1006" /></p><p><strong
style="color:#ff0000;">NAME</strong> represents the name of the short code that you will call within the brackets in a page, post, or widget. <strong
style="color:#ff0000;">SHORTCODE SNIPPET</strong> is the actual PHP markup you will use for this snippet.</p><p>So in Google AdSense I have gone ahead and created 3 different ads, each have a different size.</p><ul><li><a
href="http://www.nixternal.com/blog/">Blog</a> page and other longer length pages have a text/image skyscraper ad that is 160&#215;600 in size and is in the sidebar.</li><li><a
href="http://www.nixternal.com/contact/">Contact</a> page has a text/image box that is 250&#215;250 in size and is in the sidebar.</li><li><a
href="http://www.nixternal.com/donate/">Donate</a> page is short, so neither of the 2 above will fit it correctly, so I created a text/image ad that is 468&#215;60, and isn&#8217;t in the sidebar.</li></ul><p>So, since I am targeting the sidebar widget here, I am just going to look at the ads for my blog and contact pages to do some shortcode for. Like I stated earlier, I gave this shortcode the name <code>adsense</code>. In the shortcode snippet box I added the following PHP code:</p><div
class="wp-geshi-highlight-wrap5"><div
class="wp-geshi-highlight-wrap4"><div
class="wp-geshi-highlight-wrap3"><div
class="wp-geshi-highlight-wrap2"><div
class="wp-geshi-highlight-wrap"><div
class="wp-geshi-highlight"><div
class="php"><pre class="de1"><span class="kw2">global</span> <span class="re0">$post</span><span class="sy0">;</span>
<span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$post</span><span class="sy0">-&gt;</span><span class="me1">post_name</span> <span class="sy0">!=</span> <span class="st_h">'donate'</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
    <span class="kw1">echo</span> <span class="st_h">'&lt;script type=&quot;text/javascript&quot;&gt;&lt;!--'</span><span class="sy0">;</span>
    <span class="kw1">echo</span> <span class="st_h">'google_ad_client = &quot;ca-pub-0123456789876543210&quot;;'</span><span class="sy0">;</span>
    <span class="kw1">if</span> <span class="br0">&#40;</span><span class="re0">$post</span><span class="sy0">-&gt;</span><span class="me1">post_name</span> <span class="sy0">!=</span> <span class="st_h">'contact'</span><span class="br0">&#41;</span> <span class="br0">&#123;</span>
        <span class="kw1">echo</span> <span class="st_h">'/* YourAdsUniqueName */'</span><span class="sy0">;</span>
        <span class="kw1">echo</span> <span class="st_h">'google_ad_slot = &quot;0123456789&quot;;'</span><span class="sy0">;</span>
        <span class="kw1">echo</span> <span class="st_h">'google_ad_width = 160;'</span><span class="sy0">;</span>
        <span class="kw1">echo</span> <span class="st_h">'google_ad_height = 600;'</span><span class="sy0">;</span>
    <span class="br0">&#125;</span> <span class="kw1">else</span> <span class="br0">&#123;</span>
        <span class="kw1">echo</span> <span class="st_h">'/* YourAdsUniqueName */'</span><span class="sy0">;</span>
        <span class="kw1">echo</span> <span class="st_h">'google_ad_slot = &quot;0123456789&quot;;'</span><span class="sy0">;</span>
        <span class="kw1">echo</span> <span class="st_h">'google_ad_width = 250;'</span><span class="sy0">;</span>
        <span class="kw1">echo</span> <span class="st_h">'google_ad_height = 250;'</span><span class="sy0">;</span>
    <span class="br0">&#125;</span>
    <span class="kw1">echo</span> <span class="st_h">'//--&gt;'</span><span class="sy0">;</span>
    <span class="kw1">echo</span> <span class="st_h">'&lt;/script&gt;'</span><span class="sy0">;</span>
    <span class="kw1">echo</span> <span class="st_h">'&lt;script type=&quot;text/javascript&quot; src=&quot;http://pagead2.googlesyndication.com/pagead/show_ads.js&quot;&gt;'</span><span class="sy0">;</span>
    <span class="kw1">echo</span> <span class="st_h">'&lt;/script&gt;'</span><span class="sy0">;</span>
<span class="br0">&#125;</span></pre></div></div></div></div></div></div></div><p><strong>NOTE:</strong> your <em>YourAdsUniqueName</em> and <em>google_ad_slot</em> information will be different.</p><p>After adding this, I click the <em>Add</em> button, which adds the shortcode and now allows you to edit it, test it, or delete it. In this case testing it won&#8217;t be of much good, as it will only return the portion of the add in the <code>else</code> portion of the <code>if</code> statement. Next you will want to make sure that both the <em>Enabled</em> and <em>Output echoed</em> boxes are checked.</p><p>Next go into your widgets and add a <em>Text</em> widget. In the large post box, all you need to add is <code>&#91;adsense&#93;</code>. You can wrap this in a <code>div</code> if you need to do any formatting.</p><p>That&#8217;s it, now I will have a different ad whether it is on my donate page, a blog page, or a page that is longer.</p><p><a
href="http://www.nixternal.com/wordpress-and-google-adsense/">WordPress and Google AdSense</a> is a post from <a
href="http://www.nixternal.com/about/">Richard A. Johnson</a>'s <a
href="http://www.nixternal.com/blog/">blog</a>.</p>]]></content:encoded> <wfw:commentRss>http://www.nixternal.com/wordpress-and-google-adsense/feed/</wfw:commentRss> <slash:comments>1</slash:comments> </item> <item><title>Linux Software Developer Required</title><link>http://www.nixternal.com/device-and-kernel-level-hacker-required/</link> <comments>http://www.nixternal.com/device-and-kernel-level-hacker-required/#comments</comments> <pubDate>Wed, 10 Nov 2010 05:42:12 +0000</pubDate> <dc:creator>Richard A. Johnson</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[Employment]]></category> <category><![CDATA[KDE]]></category> <category><![CDATA[Ubuntu]]></category> <guid
isPermaLink="false">http://blog.nixternal.com/?p=914</guid> <description><![CDATA[<p>My buddy Curtis is at it again with his awesome company, Bluecherry. For those of you who don&#8217;t know what Bluecherry is, a quick introduction. Bluecherry is a US based company out of the sticks in Missouri. They specialize in creating high quality Linux supported video capture cards as well as surveillance software. Those of [...]</p><p><a
href="http://www.nixternal.com/device-and-kernel-level-hacker-required/">Linux Software Developer Required</a> is a post from <a
href="http://www.nixternal.com/about/">Richard A. Johnson</a>'s <a
href="http://www.nixternal.com/blog/">blog</a>.</p>]]></description> <content:encoded><![CDATA[<p>My buddy Curtis is at it again with his awesome company, <a
href="http://www.bluecherrydvr.com/">Bluecherry</a>. For those of you who don&#8217;t know what Bluecherry is, a quick introduction. Bluecherry is a US based company out of the sticks in Missouri. They specialize in creating high quality Linux supported video capture cards as well as surveillance software. Those of you who work in a tight-security data center might be familiar with the Windows surveillance systems that out there, since more than likely you are hosting those servers as well. Well Bluecherry lightens the load by supplying the same type of equipment, just in a Linux environment.</p><p>Well Curtis hit me up on IRC this evening, and it seems my <a
href="http://blog.nixternal.com/2010.07.14/needed-cross-platform-qt-software-developer/">previous post where he was looking for a Qt dev</a> worked out well for him. He asked me again to help out, and of course I am more than happy. Seems I am doing better at getting other people employed than I am with getting myself employed. Oh well.</p><p>This time around they are looking for someone who can hack on drivers and the kernel for their equipment, as well as a little bit more. I know the salary is competitive, the atmosphere is great, and if it is warm, you can wear shorts. My type of job, except for the fact I couldn&#8217;t hack myself out of a wet paper bag when it comes to creating drivers. Here is a quick breakdown on what they are looking for:</p><ul><li>Prior experience in Linux based software design / implementation including design</li><li>Extensive knowledge of Ubuntu, including building / maintaining Debian packages</li><li>Extensive knowledge of the Video4Linux2 and ALSA sound API</li><li>Prior experience with gstreamer and RTSP</li><li>Prior experience with SQLite, Postgres and Mysql</li><li>Excellent verbal and written communication skills</li><li>Linux operating system development (device and kernel level) recommended</li><li>Strong knowledge of C, PHP, Javascript required.  Knowledge of Perl and Python suggested</li><li>Strong knowledge of Apache2 and prior experience in writing PHP modules</li><li>Played a leading role in the design and develop of previous client / server based applications</li><li>Previous work with and understanding of working with video / audio formatting / codecs including MPEG4 and H.264</li><li>Internet and operating system security fundamentals</li><li>Sharp analytical abilities and proven design skills</li><li>Strong sense of ownership, urgency, and drive</li><li>Demonstrated ability to achieve goals in a highly innovative and fast paced environment</li></ul><p>Sound like your type of job? If so, head on over to the <a
href="http://jobview.monster.com/Linux-software-developer-Job-Fulton-MO-91967697.aspx?fwr=true">Monster page for the position, Linux video surveillance software developer</a>. In the past Curtis was looking for someone in the US to fill this position. And just so you know, you don&#8217;t have to live in Missouri, but if you happen to live in any of the US time zones, then you would be a groovy candidate. I do happen to know they are using Qt as well as Ubuntu (cough, someone get him on Kubuntu fast!) so I am sure knowing a little of that wouldn&#8217;t be to bad either, but I am sure it isn&#8217;t necessary.</p><p>There are great perks, so hurry up while it lasts!</p><p><a
href="http://www.nixternal.com/device-and-kernel-level-hacker-required/">Linux Software Developer Required</a> is a post from <a
href="http://www.nixternal.com/about/">Richard A. Johnson</a>'s <a
href="http://www.nixternal.com/blog/">blog</a>.</p>]]></content:encoded> <wfw:commentRss>http://www.nixternal.com/device-and-kernel-level-hacker-required/feed/</wfw:commentRss> <slash:comments>5</slash:comments> </item> <item><title>NEEDED &#8211; Cross platform Qt software developer</title><link>http://www.nixternal.com/needed-cross-platform-qt-software-developer/</link> <comments>http://www.nixternal.com/needed-cross-platform-qt-software-developer/#comments</comments> <pubDate>Wed, 14 Jul 2010 18:52:38 +0000</pubDate> <dc:creator>Richard A. Johnson</dc:creator> <category><![CDATA[Development]]></category> <category><![CDATA[Employment]]></category> <category><![CDATA[KDE]]></category> <category><![CDATA[Qt]]></category> <category><![CDATA[Ubuntu]]></category> <guid
isPermaLink="false">http://blog.nixternal.com/?p=864</guid> <description><![CDATA[<p>Bluecherry, a company that specializes in Linux (Ubuntu-based) surveillance equipment and applications, is currently looking for a full-time cross-platform Qt software developer. If you are a Qt developer who lives in the United States and is looking for a job, let me tell you, this could very well be it! It is a great opportunity [...]</p><p><a
href="http://www.nixternal.com/needed-cross-platform-qt-software-developer/">NEEDED &#8211; Cross platform Qt software developer</a> is a post from <a
href="http://www.nixternal.com/about/">Richard A. Johnson</a>'s <a
href="http://www.nixternal.com/blog/">blog</a>.</p>]]></description> <content:encoded><![CDATA[<p><a
href="http://www.bluecherrydvr.com">Bluecherry</a>, a company that specializes in Linux (Ubuntu-based) surveillance equipment and applications, is currently looking for a full-time cross-platform Qt software developer. If you are a Qt developer who lives in the United States and is looking for a job, let me tell you, this could very well be it! It is a great opportunity to design and develop a new version of their interface and you get to work along side somebody like <a
href="http://ben-collins.blogspot.com/">Ben Collins</a>. Curtis Hall is the founder and owner of Bluecherry and is a really groovy dude. If you live around Fulton, MO, you can work in the office, and if not, you can work from home.</p><p>Here is just a brief introduction to the job posting Curtis has posted on <a
href="http://jobview.monster.com/Bluecherry-Cross-platform-Qt-software-developer-Job-Fulton-MO-US-89208377.aspx">Monster</a>:</p><blockquote><p>Bluecherry is seeking a well qualified applicant for cross platform Qt user interface software development.  The position will also assist with training and support.  The ideal candidate should have excellent communication skills and a strong background developing software applications under Linux.  The candidate should also have extensive knowledge of Ubuntu.  The position is full-time and is based in our Fulton, MO office however consideration will be given to telecommuter positions within the United States.</p></blockquote><p>If you are interested in the position, I highly recommend you take a look at the <a
href="http://jobview.monster.com/Bluecherry-Cross-platform-Qt-software-developer-Job-Fulton-MO-US-89208377.aspx">job posting on Monster</a> and apply through there, or send Curtis an email with your resume or CV to <em>jobs (AT) bluecherry (DOT) net</em>. Curtis would also like you have the following:</p><blockquote><p>Applicants should provide, a resume including past work history, a cover letter with a brief introduction, two personal and two technical references.</p></blockquote><blockquote><p>Applicants should have prior work history available for us to review, specifically examples of Qt design and development.</p></blockquote><p>Curtis also told me the following in an email:</p><blockquote><p>We are trying to fill this position ASAP, so if someone might be interested I would highly recommend they apply quickly.</p></blockquote><p><a
href="http://www.nixternal.com/needed-cross-platform-qt-software-developer/">NEEDED &#8211; Cross platform Qt software developer</a> is a post from <a
href="http://www.nixternal.com/about/">Richard A. Johnson</a>'s <a
href="http://www.nixternal.com/blog/">blog</a>.</p>]]></content:encoded> <wfw:commentRss>http://www.nixternal.com/needed-cross-platform-qt-software-developer/feed/</wfw:commentRss> <slash:comments>8</slash:comments> </item> </channel> </rss>
