<?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>Greg Freeman</title>
	<atom:link href="http://www.keleko.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.keleko.com</link>
	<description>Web Development, Linux Tips</description>
	<lastBuildDate>Tue, 15 May 2012 17:29:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Squarespace to WordPress Plugin</title>
		<link>http://www.keleko.com/2012/squarespace-to-wordpress-plugin/</link>
		<comments>http://www.keleko.com/2012/squarespace-to-wordpress-plugin/#comments</comments>
		<pubDate>Tue, 15 May 2012 16:15:29 +0000</pubDate>
		<dc:creator>Greg Freeman</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[Squarespace]]></category>

		<guid isPermaLink="false">http://www.keleko.com/?p=407</guid>
		<description><![CDATA[Following up from my recent post about converting squarespace to wordpress, I have just finished native wordpress plugin that will make the process simplier. Download: squarespace-importer 0.1 You will then need to add the following to your wp-config.php file. This &#8230; <a href="http://www.keleko.com/2012/squarespace-to-wordpress-plugin/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Following up from my recent post about converting squarespace to wordpress, I have just finished native wordpress plugin that will make the process simplier.</p>
<p>Download: <a href="http://www.keleko.com/wp-content/uploads/2012/05/15/squarespace-to-wordpress-plugin/squarespace-importer.zip">squarespace-importer 0.1</a></p>
<p>You will then need to add the following to your wp-config.php file. This is the url to your squarespace site, the importer will use this to get the absolute urls to your images.</p><pre class="crayon-plain-tag">define('SQUARESPACE_URL', 'http://www.yoursquarespacedomain.com');</pre><p>This plugin will import squarespace blog posts and also download the images for you automatically. This is an early version so please try on a backup version of your site database first.</p>
<p>To get an export of your current squarespace blog posts, click on <strong>structure</strong> &gt; <strong>configure this page</strong>. Go down to <strong>Data Export</strong> and <strong>Export Blog Data</strong> to get a backup of your posts.</p>
<p>Once this plugin is installed and activated it will be available under the <strong>Tools</strong> &gt;<strong> Import</strong>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.keleko.com/2012/squarespace-to-wordpress-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How to Import Squarespace into WordPress</title>
		<link>http://www.keleko.com/2012/importing-squarespace-into-wordpress/</link>
		<comments>http://www.keleko.com/2012/importing-squarespace-into-wordpress/#comments</comments>
		<pubDate>Wed, 18 Apr 2012 14:07:14 +0000</pubDate>
		<dc:creator>Greg Freeman</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[export]]></category>
		<category><![CDATA[import]]></category>
		<category><![CDATA[Squarespace]]></category>

		<guid isPermaLink="false">http://www.keleko.com/?p=392</guid>
		<description><![CDATA[Recently I had to convert an entire squarespace website to wordpress. There is no official way to do this and some pages do require custom scripts/scrapers however it is possible to convert the squarespace posts easily. Update: I have a &#8230; <a href="http://www.keleko.com/2012/importing-squarespace-into-wordpress/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Recently I had to convert an entire squarespace website to wordpress. There is no official way to do this and some pages do require custom scripts/scrapers however it is possible to convert the squarespace posts easily.<br />
<span id="more-392"></span></p>
<p><strong>Update: I have a written a WP plugin to do this, <a title="Squarespace to WordPress Plugin" href="http://www.keleko.com/2012/squarespace-to-wordpress-plugin/">click here to download the squarespace to wordpress plugin</a>.</strong></p>
<p>First, login to your square space website, click on <strong>structure</strong> &gt; <strong>configure this page</strong>. Go down to <strong>Data Export</strong> and <strong>Export Blog Data</strong> to get a backup of your posts. This only works for squarespace posts not other content.</p>
<p>Next go to your wordpress installation, click <strong>Tools</strong> &gt;<strong> Import</strong>. Install the <strong>Movable Type and TypePad</strong> post importer plugin. Now run this plugin on your exported squarespace posts and they will import into wordpress. It would be wise to create a new user when importing these posts so they are easy to identify.</p>
<p>So now that you have your squarespace posts imported into wordpress, you may have noticed all of the images are referring to square space still. You will see html code such as:</p>
<p></p><pre class="crayon-plain-tag">&lt;span class=&quot;full-image-block ssNonEditable&quot;&gt;
&lt;span&gt;&lt;img src=&quot;/storage/myimage.jpg?__SQUARESPACE_CACHEVERSION=1333498430959&quot; alt=&quot;&quot; /&gt;&lt;/span&gt;
&lt;/span&gt;</pre><p></p>
<p>What we need to do is run a script that will go through our imported posts, download the squarespace images, rename them, upload them into wordpress, add them as attachments to the posts they belong to and change the html to reflect this.</p>
<p>Sounds complicated doesn&#8217;t it? Click below to download my quick solution:</p>
<p><a href="http://www.keleko.com/wp-content/uploads/2012/04/18/importing-squarespace-into-wordpress/squarespace_import.zip">Download the source</a></p>
<p>The tools run on linux/unix command line, it uses wget to download the file so you must have that installed. Explanation on how to install wget and run php scripts on the command line is beyond the scope of this post. Please do this on a local/backup copy of wordpress unless you are sure you know what you are doing and as always, make a backup first. This script also uses the php function <a href="http://www.php.net/shell_exec">shell_exec</a> to run wget, some shared hosts may disable this, again it&#8217;s better to do this on a local development environment.</p>
<p>Open config.php and set these constants. The squarespace prefix is important for use in a later script. The download path (./images in the current directory by default) must have write permissions for your user or just chmod 777.</p>
<p></p><pre class="crayon-plain-tag">define('SQUARESPACE_URL', 'http://www.mysquarespacesite.com'); // no trailing slash
define('SQUARESPACE_PREFIX', 'sq-');
define('YOUR_WP_DIR', '/path/to/wp/dir'); // no trailing slash
define('YOUR_DOWNLOAD_PATH', './images'); // no trailing slash</pre><p></p>
<p>Execute the script on the command line:</p>
<p></p><pre class="crayon-plain-tag">php download_images.php</pre><p></p>
<p>The terminal output looks like this:</p>
<p><a href="http://www.keleko.com/wp-content/uploads/2012/04/18/importing-squarespace-into-wordpress/sq1.png"><img class="alignnone size-medium wp-image-393" title="sq1" src="http://www.keleko.com/wp-content/uploads/2012/04/18/importing-squarespace-into-wordpress/sq1-300x192.png" alt="" width="300" height="192" /></a></p>
<p>This script is&#8230;</p>
<ol>
<li>Looping over your posts and finding squarespace images</li>
<li>Downloading the squarespace images to the directory YOUR_DOWNLOAD_PATH</li>
<li>Renaming them based off the post title slug</li>
<li>Replacing the html of the wordpress post to reference this new link</li>
</ol>
<p>So now we have downloaded the squarespace images and changed the html but we are not done yet. For starters we need to import those images into wordpress and then change the image src again to match the fully qualified wordpress url. The reason we did not do this in the last script is a perfectly good plugin already exists to do this upload. Install <strong>Add From Server plugin</strong> into your wordpress install: <a href="http://wordpress.org/extend/plugins/add-from-server/" target="_blank">http://wordpress.org/extend/plugins/add-from-server/</a></p>
<p>Once Add from server is installed use it to upload all of the images downloaded from squarespace. It&#8217;s under the media tab in the wordpress admin. You will need to copy your downloaded images folder to wp-content.</p>
<p><a href="http://www.keleko.com/wp-content/uploads/2012/04/18/importing-squarespace-into-wordpress/sq-2.png"><img class="alignnone size-medium wp-image-394" title="sq-2" src="http://www.keleko.com/wp-content/uploads/2012/04/18/importing-squarespace-into-wordpress/sq-2-300x171.png" alt="" width="300" height="171" /></a></p>
<p>Now that Add from server has uploaded your squarespace images and created the attachment data, we are going to link these attachments with their posts and update the image srcs to reflect the attachment urls.</p>
<p>Simply run</p>
<p></p><pre class="crayon-plain-tag">php set_attachments.php</pre><p></p>
<p>This script:</p>
<ol>
<li>Loops through your wordpress posts</li>
<li>Find all images in a post</li>
<li>Checks to see if the image begins with your SQUARESPACE_PREFIX</li>
<li>If it does, it associates the attachment ID with the current post</li>
<li>Sets the first matched image to your featured image</li>
<li>Updates the image URL to be the fully qualified wordpress attachment URL</li>
</ol>
<p>It looks like this:</p>
<p><a href="http://www.keleko.com/wp-content/uploads/2012/04/18/importing-squarespace-into-wordpress/sq-3.png"><img class="alignnone size-medium wp-image-395" title="sq-3" src="http://www.keleko.com/wp-content/uploads/2012/04/18/importing-squarespace-into-wordpress/sq-3-300x198.png" alt="" width="300" height="198" /></a></p>
<p>So there you have it, you&#8217;ve imported squarespace posts with images too! Hopefully this will be helpful to some people.</p>
<p>So now, in your wordpress post content, instead of the squarespace image links you will see:</p>
<p></p><pre class="crayon-plain-tag">&lt;span class=&quot;full-image-block ssNonEditable&quot;&gt;
&lt;span&gt;&lt;img src=&quot;http://localhost/wordpress/wp-content/uploads/2012/04/sq-spring-is-here.jpg&quot; alt=&quot;&quot; /&gt;&lt;/span&gt;
&lt;/span&gt;</pre><p></p>
<p>You could write other script/conversion tools to cleanup the remaining squarespace html. I had to write several mini scripts such as the ones above to import things like squarespace galleries and other custom content types.</p>
<p>If enough people need this, I could start writing a proper wordpress import plugin, or at least combine the three steps into one script. This approach could more or less be used for converting any site to wordpress that doesn&#8217;t have an official importer, so feel free to modify it.</p>
<p><a href="http://www.keleko.com/wp-content/uploads/2012/04/18/importing-squarespace-into-wordpress/squarespace_import.zip">Download the source</a></p>
<p><strong>Update: There is now a wordpress plugin for this: <a title="Squarespace to WordPress Plugin" href="http://www.keleko.com/2012/squarespace-to-wordpress-plugin/">click here to download the squarespace to wordpress plugin</a>.</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://www.keleko.com/2012/importing-squarespace-into-wordpress/feed/</wfw:commentRss>
		<slash:comments>15</slash:comments>
		</item>
		<item>
		<title>Recovery from cinnamon crashes and freezes in Linux Mint</title>
		<link>http://www.keleko.com/2012/recovery-from-cinnamon-crashes-and-freezes-in-linux-mint/</link>
		<comments>http://www.keleko.com/2012/recovery-from-cinnamon-crashes-and-freezes-in-linux-mint/#comments</comments>
		<pubDate>Wed, 11 Apr 2012 15:44:34 +0000</pubDate>
		<dc:creator>Greg Freeman</dc:creator>
				<category><![CDATA[Tips & Tricks]]></category>
		<category><![CDATA[cinnamon]]></category>
		<category><![CDATA[Linux Mint]]></category>

		<guid isPermaLink="false">http://www.keleko.com/?p=389</guid>
		<description><![CDATA[Here is a useful command that I use to recover from a freeze or crash in the cinnamon desktop. If you cinnamon crashes or freezes on you, go to tty1 (ctrl-alt-f1), login and then run this command: [crayon-4fb7c35e181f6/] If your &#8230; <a href="http://www.keleko.com/2012/recovery-from-cinnamon-crashes-and-freezes-in-linux-mint/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Here is a useful command that I use to recover from a freeze or crash in the cinnamon desktop.<span id="more-389"></span></p>
<p>If you cinnamon crashes or freezes on you, go to tty1 (ctrl-alt-f1), login and then run this command:</p>
<p></p><pre class="crayon-plain-tag">export DISPLAY=:0.0 &amp;&amp; cinnamon --replace</pre><p></p>
<p>If your DISPLAY is not :0.0 type w in shell to find out.</p>
<p>Once this is done press ctrl-alt-f7 to return to the desktop.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.keleko.com/2012/recovery-from-cinnamon-crashes-and-freezes-in-linux-mint/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How I write my WordPress Plugins with Classes</title>
		<link>http://www.keleko.com/2012/how-i-write-my-wordpress-plugins-with-classes/</link>
		<comments>http://www.keleko.com/2012/how-i-write-my-wordpress-plugins-with-classes/#comments</comments>
		<pubDate>Thu, 16 Feb 2012 16:06:17 +0000</pubDate>
		<dc:creator>Greg Freeman</dc:creator>
				<category><![CDATA[Wordpress]]></category>
		<category><![CDATA[wordpress classes]]></category>
		<category><![CDATA[wordpress oop]]></category>
		<category><![CDATA[wordpress plugin]]></category>

		<guid isPermaLink="false">http://www.keleko.com/?p=361</guid>
		<description><![CDATA[One of the things I&#8217;ve always hated about WordPress is writing larger plugins with lots of functions and global variables. While it isn&#8217;t always possible to write a wordpress plugin using OOP techniques that would satisfy an OOP purist, it &#8230; <a href="http://www.keleko.com/2012/how-i-write-my-wordpress-plugins-with-classes/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>One of the things I&#8217;ve always hated about WordPress is writing larger plugins with lots of functions and global variables. While it isn&#8217;t always possible to write a wordpress plugin using OOP techniques that would satisfy an OOP purist, it is possible to make things a little cleaner and easier to extend and maintain for yourself.<span id="more-361"></span></p>
<p><strong>Update:</strong> This way of using classes is not a pure OO way of designing a plugin, it&#8217;s mainly a way of namespacing your code and keeping as much as possible out of the global namespace. I&#8217;ll write a post in future detailing some of the concepts I now use for writing plugins such as using php 5.3 namespaces and using real OO design in my plugins.</p>
<p>The following tutorial is for php 5+ and outlines a basic structure for an object orientated wordpress plugin. You could take these examples as far as you want, however at some point you will have to decide between speed, flexibility and design.</p>
<p>I say this because I believe you can reach a happy medium between writing wordpress plugins and using classes. Sure it will not strictly adhere to standards that you may be used to using but you will have to directly call core wordpress core functions eventually.</p>
<p>I choose not to introduce extra layers of functionality by wrapping core wordpress variables like wpdb and instead use them in my class methods by a global variable. This is not pretty and not to standards, but I choose this over wrapping all of the wordpress core and slowing down my applications, also this is the wordpress way.</p>
<p>If you have suggestions or improvements, please leave a comment. Without further ado, here is a basic shell wrapper for a plugin. (zip file at end of article).</p>
<p><strong>my-plugin/my-plugin.php</strong></p>
<p>This is the main WP plugin file. It chooses which main class (admin or public) to initialize by checking the wordpress function is_admin. This allows us to keep admin plugin code and code that runs on the public site separate.</p>
<p></p><pre class="crayon-plain-tag">/*
Plugin Name: My Plugin
Description: How to design a plugin with classes
Version: 1.0
Author: Greg F
Author URI: http://www.keleko.com
*/

define( 'MY_PLUGIN_PATH', dirname( __FILE__ ) );
define( 'MY_PLUGIN_URL', plugins_url( '', __FILE__ ) );
define( 'MY_PLUGIN_FILE', plugin_basename( __FILE__ ) );
define( 'MY_PLUGIN_INC', MY_PLUGIN_PATH . '/inc' );

require_once( MY_PLUGIN_INC . '/plugin.php' );
require_once( MY_PLUGIN_INC . '/config.php' );

$my_class = 'My_';

if ( is_admin() ) {
$my_class .= 'Admin';
require_once( MY_PLUGIN_INC . '/admin.php' );
} else {
$my_class .= 'Public';
require_once( MY_PLUGIN_INC . '/theme-functions.php' );
require_once( MY_PLUGIN_INC . '/public.php' );
}

$my_config_data = array(
'plugin_file' =&gt; MY_PLUGIN_FILE,
);

$my_plugin = new $my_class( new My_Config( $my_config_data ) );

unset( $my_class, $my_config_data );</pre><p></p>
<p><strong>my-plugin/inc/plugin.php</strong></p>
<p>This is the base class that admin and public extend. It makes the config class available to both subclasses and has two methods for plugging into WP filters and actions. It also calls an init function that is used by admin and public to setup filters and actions.</p>
<p>All of your filter/action calls should go into the init method in My_Admin or My_Class.</p>
<p></p><pre class="crayon-plain-tag">abstract class My_Plugin {
protected $_config;

public function __construct( My_Config $config ) {
$this-&gt;_config = $config;

$this-&gt;init();
}

abstract protected function init();

protected function add_action( $action, $function = '', $priority = 10, $accepted_args = 1 ) {
add_action( $action, array($this, $function == '' ? $action : $function ), $priority, $accepted_args );
}

protected function add_filter( $filter, $function, $priority = 10, $accepted_args = 1 ) {
add_filter( $filter, array($this, $function == '' ? $filter : $function ), $priority, $accepted_args );
}
}</pre><p></p>
<p><strong>my-plugin/inc/config.php</strong></p>
<p>This is a basic wrapper for config variables, in this example it stores things like the base plugin path and file. In your plugin it could wrap wordpress options and calls to get_option.</p>
<p></p><pre class="crayon-plain-tag">class My_Config {
protected $config;

public function __construct( array $config ) {
$this-&gt;config = $config;
}

public function __get( $name ) {
$value = false;
if ( array_key_exists( $name, $this-&gt;config ) ) {
$value = $this-&gt;config[$name];
}
return $value;
}
}</pre><p></p>
<p><strong>my-plugin/inc/admin.php</strong></p>
<p>Here is the admin class. In this example it registers the activation hook. See the public class below for more ways to use this setup.</p>
<p>In My_Admin you will normally have filter/action calls to admin_init, save_post, add_meta_boxes etc. You can use the wordpress settings_api inside of your admin_init method.</p>
<p></p><pre class="crayon-plain-tag">class My_Admin extends My_Plugin {
protected function init() {
register_activation_hook( $this-&gt;_config-&gt;plugin_file, array( $this, 'activate' ) );
}

public function activate() {
// plugin activate code
}
}</pre><p></p>
<p><strong>my-plugin/inc/public.php</strong></p>
<p>The public class has everything that is needed for the frontend site. In this example (commented out) It adds a filter for pre_get_posts which adds a custom post type to all queries on the frontend. A second function called say_hello is created to perform a basic greeting.</p>
<p></p><pre class="crayon-plain-tag">class My_Public extends My_Plugin {
protected function init() {
//$this-&gt;add_filter( 'pre_get_posts', 'set_post_types' );
}

public function set_post_types( $query ) {
$query-&gt;set( 'post_type', array( 'post', 'my_custom_post_type' ) );

return $query;
}

public function say_hello( $name = '' ) {
$greeting = 'hello';
if( $name ) {
$greeting .= ' ' . esc_attr( $name );
}

echo $greeting;
}
}</pre><p></p>
<p><strong>my-plugin/inc/theme-functions.php</strong></p>
<p>Theme functions holds all of the functions that are called on templates. Instead of calling $my_plugin->say_hello( &#8216;greg&#8217; ); ?> in your theme, you can type my_say_hello( &#8216;greg&#8217; ); instead. This is optional and is only included to avoid typing additional characters that may be unfamiliar to designers etc.</p>
<p></p><pre class="crayon-plain-tag">function my_say_hello( $name = '' ) {
global $my_plugin;
$my_plugin-&gt;say_hello( $name );
}</pre><p></p>
<p>I hope this helps you with your wordpress plugin classes! Using this setup, your plugin only creates one global variable called $my_plugin in the my-plugin/my-plugin.php file. The other major advantages is the ability to &#8216;hide&#8217; code using protected/private variables and methods. This allows you to stop normal wordpress users from calling internal functions and restricts them only to your public facing &#8216;API&#8217;.</p>
<p>Let me know if you have suggestions.</p>
<p><a href="http://www.keleko.com/wp-content/uploads/2012/02/16/how-i-write-my-wordpress-plugins-with-classes/my-plugin.zip">Download my-plugin.zip</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.keleko.com/2012/how-i-write-my-wordpress-plugins-with-classes/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Remove Icon from Application Title in Gnome 3</title>
		<link>http://www.keleko.com/2011/remove-application-icon-from-gnome-3/</link>
		<comments>http://www.keleko.com/2011/remove-application-icon-from-gnome-3/#comments</comments>
		<pubDate>Fri, 09 Dec 2011 14:22:12 +0000</pubDate>
		<dc:creator>Greg Freeman</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[gnome3]]></category>
		<category><![CDATA[Linux Mint]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.keleko.com/?p=357</guid>
		<description><![CDATA[Gnome 3 has a lot of potential but there are several aesthetic changes I have had to make for it to be a comfortable transition from gnome 2. Here is a quick tutorial on how to remove the application icon &#8230; <a href="http://www.keleko.com/2011/remove-application-icon-from-gnome-3/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Gnome 3 has a lot of potential but there are several aesthetic changes I have had to make for it to be a comfortable transition from gnome 2. Here is a quick tutorial on how to remove the application icon from the title.<span id="more-357"></span></p>
<p>1. Go to your gnome shell theme directory. (For me this is /usr/share/themes/Faience/gnome-shell)</p>
<p>2. Open gnome-shell.css and find <strong>.panel-button #appMenuIcon</strong></p>
<p>If your theme has multiple css files like mine then run this command to find which file it is declared in. (panel.css in my case)</p>
<p></p><pre class="crayon-plain-tag">grep -r 'appMenuIcon' *</pre><p></p>
<p>Find</p>
<p></p><pre class="crayon-plain-tag">.panel-button #appMenuIcon {
    app-icon-bottom-clip: 1px;
}</pre><p></p>
<p>Change width and height to 0px;</p>
<p></p><pre class="crayon-plain-tag">.panel-button #appMenuIcon {
    app-icon-bottom-clip: 1px;
    width: 0px;
    height: 0px;
}</pre><p></p>
<p>Find</p>
<p></p><pre class="crayon-plain-tag">.app-menu-icon {
    width: 24px;
    height: 24px;
}</pre><p></p>
<p>Change too:</p>
<p></p><pre class="crayon-plain-tag">.app-menu-icon {
    /*width: 24px;
    height: 24px;*/
}</pre><p></p>
<p>Save, restart gnome.</p>
<p>Looks like this:</p>
<p><a href="http://www.keleko.com/wp-content/uploads/2011/12/09/remove-application-icon-from-gnome-3/gnome-application-icon.jpg"><img class="alignnone size-medium wp-image-358" title="gnome-application-icon" src="http://www.keleko.com/wp-content/uploads/2011/12/09/remove-application-icon-from-gnome-3/gnome-application-icon-300x168.jpg" alt="" width="300" height="168" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.keleko.com/2011/remove-application-icon-from-gnome-3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Remove Activities menu from Linux Mint 12</title>
		<link>http://www.keleko.com/2011/remove-activities-menu-from-linux-mint-12/</link>
		<comments>http://www.keleko.com/2011/remove-activities-menu-from-linux-mint-12/#comments</comments>
		<pubDate>Thu, 01 Dec 2011 11:05:32 +0000</pubDate>
		<dc:creator>Greg Freeman</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Linux Mint]]></category>

		<guid isPermaLink="false">http://www.keleko.com/?p=354</guid>
		<description><![CDATA[A very helpful post over at the Linux Mint forums shows how to remove the default gnome 3 activities menu when using the new mgse mint menu. I&#8217;m posting this here as a reference for myself and others as this &#8230; <a href="http://www.keleko.com/2011/remove-activities-menu-from-linux-mint-12/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>A very helpful post over at the Linux Mint forums shows how to remove the default gnome 3 activities menu when using the new mgse mint menu.<span id="more-354"></span></p>
<p>I&#8217;m posting this here as a reference for myself and others as this is something you will need to do often. The mgse are updated often and will overwrite your changes. Credit goes to esteban1uy @ linux mint forums.</p>
<p>Open a terminal</p>
<p></p><pre class="crayon-plain-tag">sudo gedit /usr/share/gnome-shell/extensions/menu@linuxmint.com/extension.js</pre><p></p>
<p>In gedit, scroll down to line 827 and you will find this:</p>
<p></p><pre class="crayon-plain-tag">Main.panel._rightBox.insert_actor(activitiesButton.actor, Main.panel._rightBox.get_children().length);
activitiesButton._label.set_text(&quot;-&quot;);</pre><p></p>
<p>Comment these lines out by changing it to this:</p>
<p></p><pre class="crayon-plain-tag">// Main.panel._rightBox.insert_actor(activitiesButton.actor, Main.panel._rightBox.get_children().length);
// activitiesButton._label.set_text(&quot;-&quot;);</pre><p></p>
<p>Save, restart Gnome-shell (Alt+F2 r)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.keleko.com/2011/remove-activities-menu-from-linux-mint-12/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Install Docky Unread Count for newer Thunderbird versions</title>
		<link>http://www.keleko.com/2011/install-docky-unread-count-for-newer-thunderbird-versions/</link>
		<comments>http://www.keleko.com/2011/install-docky-unread-count-for-newer-thunderbird-versions/#comments</comments>
		<pubDate>Thu, 01 Dec 2011 10:56:18 +0000</pubDate>
		<dc:creator>Greg Freeman</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Linux Mint]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://www.keleko.com/?p=352</guid>
		<description><![CDATA[If you use a thunderbird ppa or have a newer version of thunderbird installed, you will get an error when installing docky unread count saying that it is not compatible. The extension works fine with thunderbird 8.0, you just need &#8230; <a href="http://www.keleko.com/2011/install-docky-unread-count-for-newer-thunderbird-versions/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>If you use a thunderbird ppa or have a newer version of thunderbird installed, you will get an error when installing <a href="https://addons.mozilla.org/en-us/thunderbird/addon/docky-unread-count/">docky unread count</a> saying that it is not compatible.<span id="more-352"></span></p>
<p>The extension works fine with thunderbird 8.0, you just need to make a simple configuration change to get it to install.</p>
<p>First, download the the docky thunderbird extension source from <a href="https://github.com/lpiepiora/docky-thunderbird">https://github.com/lpiepiora/docky-thunderbird</a> and install apache ant.</p>
<pre class="crayon-plain-tag">sudo apt-get install ant</pre>
<p>Go into the downloaded directory and open install.rdf and change</p>
<pre class="crayon-plain-tag">5.0</pre>
<p>to fit your needs, e.g</p>
<pre class="crayon-plain-tag">8.0</pre>
<p>You can also use wildcards such as *.*</p>
<p>Now open up a terminal in the downloaded directory and run the command <code>ant</code>.</p>
<pre class="crayon-plain-tag">$ ant</pre>
<p>Now install the thunderbird extension as normal.</p>
<p>XPI files are simply renamed zip files, so you can also rename the file to a zip extension or use the zip/unzip command line tools in linux.</p>
<p>You can use this technique for a lot of plugins, this should work for the awn-notif and cairo dock unread count plugins for thunderbird also. However be aware that some plugins will be incompatible.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.keleko.com/2011/install-docky-unread-count-for-newer-thunderbird-versions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fix Nginxcp errors in WHM, conflicting server name, Address already in use</title>
		<link>http://www.keleko.com/2011/fix-nginxcp-errors-in-whm-conflicting-server-name-address-already-in-use/</link>
		<comments>http://www.keleko.com/2011/fix-nginxcp-errors-in-whm-conflicting-server-name-address-already-in-use/#comments</comments>
		<pubDate>Wed, 12 Oct 2011 20:25:53 +0000</pubDate>
		<dc:creator>Greg Freeman</dc:creator>
				<category><![CDATA[Server Admin]]></category>
		<category><![CDATA[nginx]]></category>
		<category><![CDATA[nginxcp]]></category>
		<category><![CDATA[whm]]></category>

		<guid isPermaLink="false">http://www.keleko.com/?p=350</guid>
		<description><![CDATA[Some configurations using nginxcp in whm may see the following errors when starting/restarting WHM: nginx: [warn] conflicting server name &#34;YOURIPADDRESS&#34; on 66.228.117.248:80, ignored nginx: [warn] conflicting server name &#34;YOURIPADDRESS&#34; on 66.228.117.248:80, ignored nginx: [warn] conflicting server name &#34;YOURIPADDRESS&#34; on 66.228.117.248:80, &#8230; <a href="http://www.keleko.com/2011/fix-nginxcp-errors-in-whm-conflicting-server-name-address-already-in-use/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Some configurations using <a href="http://www.nginxcp.com">nginxcp</a> in whm may see the following errors when starting/restarting WHM:<span id="more-350"></span></p>
<pre class="crayon-plain-tag">nginx: [warn] conflicting server name &quot;YOURIPADDRESS&quot; on 66.228.117.248:80, ignored
nginx: [warn] conflicting server name &quot;YOURIPADDRESS&quot; on 66.228.117.248:80, ignored
nginx: [warn] conflicting server name &quot;YOURIPADDRESS&quot; on 66.228.117.248:80, ignored

nginx: [emerg] bind() to YOURIPADDRESS:80 failed (98: Address already in use)
nginx: [emerg] bind() to YOURIPADDRESS:80 failed (98: Address already in use)
nginx: [emerg] bind() to YOURIPADDRESS:80 failed (98: Address already in use)
nginx: [emerg] still could not bind()
already running.</pre>
<p>Make these changes to fix it: (in your shell).</p>
<pre class="crayon-plain-tag">cd /etc/nginx/vhosts</pre>
<pre class="crayon-plain-tag">perl -pi -w -e 's/server_name(.*) YOURIPADDRESS/server_name$1/g;' *</pre>
<p>Replace YOURIPADDRESS with the ip address you see in the errors.</p>
<p>Now go to WHM &gt; Tweak settings and change Apache non-SSL IP/port to 0.0.0.0:8081</p>
]]></content:encoded>
			<wfw:commentRss>http://www.keleko.com/2011/fix-nginxcp-errors-in-whm-conflicting-server-name-address-already-in-use/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WHM Account transfer: Unable to validate setting for cpmod: x3</title>
		<link>http://www.keleko.com/2011/whm-account-transfer-unable-to-validate-setting-for-cpmod-x3/</link>
		<comments>http://www.keleko.com/2011/whm-account-transfer-unable-to-validate-setting-for-cpmod-x3/#comments</comments>
		<pubDate>Wed, 12 Oct 2011 15:30:18 +0000</pubDate>
		<dc:creator>Greg Freeman</dc:creator>
				<category><![CDATA[Server Admin]]></category>
		<category><![CDATA[cpanel]]></category>
		<category><![CDATA[rvskin]]></category>

		<guid isPermaLink="false">http://www.keleko.com/?p=349</guid>
		<description><![CDATA[Recently I got this error message &#8220;Unable to validate setting for cpmod: x3&#8221; when attempting to copy an account from another server in whm/cpanel. Fantastico and rvskin has just been uninstalled and I figured that was the cause. You can &#8230; <a href="http://www.keleko.com/2011/whm-account-transfer-unable-to-validate-setting-for-cpmod-x3/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Recently I got this error message &#8220;<strong>Unable to validate setting for cpmod: x3</strong>&#8221; when attempting to copy an account from another server in whm/cpanel.<span id="more-349"></span></p>
<p>Fantastico and rvskin has just been uninstalled and I figured that was the cause. You can fix this problem by forcing a cpanel update. Login to your root shell account and run this:</p>
<pre class="crayon-plain-tag">&nbsp;/scripts/upcp --force</pre>
]]></content:encoded>
			<wfw:commentRss>http://www.keleko.com/2011/whm-account-transfer-unable-to-validate-setting-for-cpmod-x3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vim Syntax Highlighting for php-fpm conf files</title>
		<link>http://www.keleko.com/2011/vim-syntax-highlighting-for-php-fpm-conf-files/</link>
		<comments>http://www.keleko.com/2011/vim-syntax-highlighting-for-php-fpm-conf-files/#comments</comments>
		<pubDate>Wed, 12 Oct 2011 09:14:05 +0000</pubDate>
		<dc:creator>Greg Freeman</dc:creator>
				<category><![CDATA[Server Admin]]></category>
		<category><![CDATA[php-fpm]]></category>
		<category><![CDATA[vim]]></category>

		<guid isPermaLink="false">http://www.keleko.com/?p=346</guid>
		<description><![CDATA[By default, my vim installation was not recognizing conf files in the php-fpm directory (/etc/php5/fpm in debian) as ini files. You can change the syntax for any file format by adding these lines to your ~/.vimrc file. syntax on autocmd &#8230; <a href="http://www.keleko.com/2011/vim-syntax-highlighting-for-php-fpm-conf-files/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>By default, my vim installation was not recognizing conf files in the php-fpm directory (/etc/php5/fpm in debian) as ini files.<span id="more-346"></span></p>
<p>You can change the syntax for any file format by adding these lines to your ~/.vimrc file.</p>
<pre class="crayon-plain-tag">syntax on
autocmd BufRead,BufNewFile /etc/php5/fpm/* set syntax=dosini</pre>
<p>Make sure you change the path to match your needs. Available vim syntax options are listed in /usr/share/vim/vimcurrent/syntax</p>
]]></content:encoded>
			<wfw:commentRss>http://www.keleko.com/2011/vim-syntax-highlighting-for-php-fpm-conf-files/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

