<?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>The Flow of Consciousness &#187; wordpress</title>
	<atom:link href="http://cad.cx/blog/category/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://cad.cx/blog</link>
	<description>Meanderings and punditry by a computer scientist with penchant for journalism, education, and politics</description>
	<lastBuildDate>Sat, 10 Dec 2011 19:20:12 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>SVN is so WordPress 2.0: Updating your git-controlled WordPress</title>
		<link>http://cad.cx/blog/2010/08/19/svn-is-so-wordpress-2-0-updating-your-git-controlled-wordpress/</link>
		<comments>http://cad.cx/blog/2010/08/19/svn-is-so-wordpress-2-0-updating-your-git-controlled-wordpress/#comments</comments>
		<pubDate>Thu, 19 Aug 2010 15:30:26 +0000</pubDate>
		<dc:creator>Colin Dean</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://cad.cx/blog/?p=671</guid>
		<description><![CDATA[A couple of months ago, I wrote an article entitled SVN is so WordPress 2.0: Using git to manage a WordPress 3.0 installation. This article explained how to migrate an existing WordPress installation to a git-managed installation, much like using Subversion to manage it. That post detailed how to migrate and the instructions could very [...]]]></description>
			<content:encoded><![CDATA[<p>A couple of months ago, I wrote an article entitled <a href="http://cad.cx/blog/2010/06/21/svn-is-so-wordpress-2-0-using-git-to-manage-a-wordpress-3-0-installation/">SVN is so WordPress 2.0: Using git to manage a WordPress 3.0 installation</a>. This article explained how to migrate an existing WordPress installation to a git-managed installation, much like using Subversion to manage it.</p>
<p>That post detailed how to migrate and the instructions could very easily be adapted to create a new installation. <em>This</em> post details <b>how to upgrade to the latest release of WordPress whenever it is released</b>.</p>
<p>Unfortunately, I&#8217;ve found that the WordPress team, perhaps git-svn, doesn&#8217;t import svn tags, so we need to do some sleuthing to find out exactly which tag to use.</p>
<p>The first stop is finding out the last svn revision used for the tag. Use this command to do so. Replace the version number with the one applicable to the upgrade you wish to perform.</p>
<p><code>svn log -v -q --stop-on-copy http://svn.automattic.com/wordpress/tags/3.0.1/ | less</code></p>
<p>The output of that for me is this:</p>
<pre>------------------------------------------------------------------------
r15479 | nacin | 2010-07-29 17:57:26 -0400 (Thu, 29 Jul 2010)
Changed paths:
   M /tags/3.0.1/wp-includes/capabilities.php
   M /tags/3.0.1/wp-includes/version.php
------------------------------------------------------------------------
r15477 | ryan | 2010-07-29 17:09:29 -0400 (Thu, 29 Jul 2010)
Changed paths:
   A /tags/3.0.1 (from /branches/3.0:15476)
------------------------------------------------------------------------</pre>
<p>Looking at the revisions, I&#8217;m looking for a revision 15479 or shortly there after.</p>
<p>Next, I use the WordPress Codex entry for the release to find what date it was released. <a href="http://codex.wordpress.org/Version_3.0.1">Version 3.0.1</a> was released July 29, 2010, so that gives me a pretty good approximate date for the last commit. The svn log above also shows this date, but I figured there might be some lag between the final commit and when the release came out. You could probably skip this step. Don&#8217;t judge me.</p>
<p>I then go to <a href="http://github.com/wordpress/wordpress/commits/master/">WordPress&#8217;s Github&#8217;s commit history on its master branch</a> and look for a commit on the date above. There are two: <a href="http://github.com/wordpress/wordpress/commit/20812cf38b99a40a0e3c1d3dd5c2b3d20fb893b5">20812cf38b99a40a0e3c1d3dd5c2b3d20fb893b5</a> and <a href="http://github.com/wordpress/wordpress/commit/2f27661e1afffe16ecfbaf7a5b02db8f47e46482">2f27661e1afffe16ecfbaf7a5b02db8f47e46482</a>. Looking at the log for each, I see this line:</p>
<p><code>git-svn-id: http://core.svn.wordpress.org/trunk@15480 1a063a9b-81f0-0310-95a4-ce76da25c4cd</code></p>
<p>Revision 15480 is approximately right at the above, and looking at the <a href="http://github.com/wordpress/wordpress/commit/2f27661e1afffe16ecfbaf7a5b02db8f47e46482">changeset</a> shows that this is probably what I want. </p>
<p>I do wish there was a commit which was right on, though.</p>
<p>So, now that I know the commit id, I can use it with git.</p>
<p>The rest is easy! Well, sorta. <strong>For the love of $deity, back up your blog, both the files and the database, before you do anything past here.</strong></p>
<p>Once I&#8217;m in my git-versioned WordPress directory, I had a little bit of cleanup to do. I&#8217;d inadvertently added some files in <code>wp-content/cache</code>, so I had to manually remove them with <code>git rm</code> and also update my sitemap.xml and sitemap.xml.gz with <code>git add sitemap.xml*</code> and <code>git commit</code>. </p>
<p>Then, I could proceed.</p>
<div class="codeblock">
<pre><code>git fetch gh
git merge 2f27661e1afffe16ecfbaf7a5b02db8f47e46482</code></pre>
</div>
<p>Remember that you really only need to use enough of the commit id hash to uniquely identify the commit. If I recall correctly, seven characters is usually enough, and git will warn you if your choice is ambiguous. I used the full one because I copied and pasted.</p>
<p>Here&#8217;s my transcript from these commands so you know what it should look like:</p>
<pre>[colin@convoy blog]$ git fetch gh
remote: Counting objects: 860, done.
remote: Compressing objects: 100% (591/591), done.
remote: Total 749 (delta 568), reused 202 (delta 155)
Receiving objects: 100% (749/749), 312.70 KiB, done.
Resolving deltas: 100% (568/568), completed with 104 local objects.
From git://github.com/wordpress/wordpress
   c39484b..6e44120  master     -> gh/master
[colin@convoy blog]$ git status
# On branch master
nothing to commit (working directory clean)
[colin@convoy blog]$ git merge 2f27661e1afffe16ecfbaf7a5b02db8f47e46482
Auto-merged readme.html
Merge made by recursive.
 readme.html                                        |    2 +-
 wp-activate.php                                    |    2 +-
 wp-admin/admin-ajax.php                            |   22 +-
 wp-admin/admin.php                                 |   12 +-
 wp-admin/edit-attachment-rows.php                  |    4 +-
 wp-admin/edit-tags.php                             |    7 +
 wp-admin/edit.php                                  |   11 +-
 wp-admin/export.php                                |   12 +-
 wp-admin/import.php                                |    2 +-
 wp-admin/includes/bookmark.php                     |    4 +-
 wp-admin/includes/class-wp-importer.php            |    5 +-
 wp-admin/includes/class-wp-upgrader.php            |   33 ++-
 wp-admin/includes/dashboard.php                    |    4 +-
 wp-admin/includes/deprecated.php                   |   10 +-
 wp-admin/includes/export.php                       |    2 +-
 wp-admin/includes/media.php                        |    2 +-
 wp-admin/includes/meta-boxes.php                   |    4 +-
 wp-admin/includes/ms.php                           |   48 ++--
 wp-admin/includes/nav-menu.php                     |    2 +-
 wp-admin/includes/plugin-install.php               |   13 +-
 wp-admin/includes/plugin.php                       |    3 +-
 wp-admin/includes/post.php                         |   20 +-
 wp-admin/includes/schema.php                       |    9 +-
 wp-admin/includes/template.php                     |  288 ++++++++---------
 wp-admin/includes/theme.php                        |    6 +-
 wp-admin/includes/update.php                       |    6 +-
 wp-admin/includes/upgrade.php                      |   12 +-
 wp-admin/includes/user.php                         |    8 +-
 wp-admin/install-helper.php                        |   10 +-
 wp-admin/install.php                               |    2 +-
 wp-admin/menu.php                                  |    4 +-
 wp-admin/ms-edit.php                               |   13 +-
 wp-admin/ms-sites.php                              |    5 +-
 wp-admin/nav-menus.php                             |   15 +-
 wp-admin/options-discussion.php                    |    2 +-
 wp-admin/options-permalink.php                     |   51 +---
 wp-admin/plugins.php                               |   23 +-
 wp-admin/press-this.php                            |    2 +-
 wp-admin/update-core.php                           |    4 +-
 wp-admin/user-new.php                              |    4 +-
 wp-app.php                                         |    2 +-
 wp-content/themes/twentyten/attachment.php         |   12 +-
 wp-content/themes/twentyten/editor-style.css       |    8 +-
 wp-content/themes/twentyten/functions.php          |   58 ----
 wp-content/themes/twentyten/header.php             |   16 +-
 .../themes/twentyten/languages/twentyten.pot       |  123 ++++----
 wp-content/themes/twentyten/loop.php               |   33 +-
 wp-content/themes/twentyten/page.php               |    8 +-
 wp-content/themes/twentyten/style.css              |  340 +++++++++-----------
 wp-includes/canonical.php                          |   14 +-
 wp-includes/capabilities.php                       |   12 +-
 wp-includes/category-template.php                  |    4 +-
 wp-includes/class-http.php                         |   54 ++--
 wp-includes/classes.php                            |    2 +-
 wp-includes/comment-template.php                   |   46 +++-
 wp-includes/cron.php                               |    8 +-
 wp-includes/default-filters.php                    |    2 +-
 wp-includes/default-widgets.php                    |    2 +
 wp-includes/deprecated.php                         |   19 +-
 wp-includes/feed.php                               |    2 +-
 wp-includes/formatting.php                         |   14 +-
 wp-includes/functions.php                          |   15 +-
 wp-includes/general-template.php                   |   11 +-
 wp-includes/kses.php                               |    4 +-
 wp-includes/link-template.php                      |    6 +-
 wp-includes/media.php                              |    2 +-
 wp-includes/meta.php                               |    2 +-
 wp-includes/ms-blogs.php                           |   20 +-
 wp-includes/ms-deprecated.php                      |   14 +-
 wp-includes/ms-functions.php                       |   27 +-
 wp-includes/ms-load.php                            |    7 +-
 wp-includes/nav-menu-template.php                  |   35 ++-
 wp-includes/nav-menu.php                           |   17 +
 wp-includes/post-thumbnail-template.php            |    2 +-
 wp-includes/post.php                               |   26 +-
 wp-includes/query.php                              |    3 +-
 wp-includes/taxonomy.php                           |   34 +-
 wp-includes/theme.php                              |    4 +-
 wp-includes/update.php                             |   47 ++--
 wp-includes/user.php                               |    4 +-
 wp-includes/version.php                            |    4 +-
 wp-includes/wp-db.php                              |    9 +-
 wp-signup.php                                      |    5 +-
 xmlrpc.php                                         |   10 +-
 84 files changed, 903 insertions(+), 872 deletions(-)
[colin@convoy blog]$ git status
# On branch master
nothing to commit (working directory clean)</pre>
<p>The last thing to do is go to /wp-admin/upgrade.php in your browser. You&#8217;ll likely be redirected there when you hit the admin panel anyway, so it&#8217;s likely easier simply to do that.</p>
<p>Is managing the installation with git easier than managing it with svn? So far, not really. Subversion&#8217;s <code>svn switch</code> and WordPress&#8217;s use of SVN tags makes using git with it a little frustrating. If WordPress were ever to switch to git for real, then they&#8217;d likely use tags and all this searching would be moot. One could just switch branches and be done with it.</p>
<p>Got an easier way? Tell me in the comments.</p>
]]></content:encoded>
			<wfw:commentRss>http://cad.cx/blog/2010/08/19/svn-is-so-wordpress-2-0-updating-your-git-controlled-wordpress/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SVN is so WordPress 2.0: Using git to manage a WordPress 3.0 installation</title>
		<link>http://cad.cx/blog/2010/06/21/svn-is-so-wordpress-2-0-using-git-to-manage-a-wordpress-3-0-installation/</link>
		<comments>http://cad.cx/blog/2010/06/21/svn-is-so-wordpress-2-0-using-git-to-manage-a-wordpress-3-0-installation/#comments</comments>
		<pubDate>Tue, 22 Jun 2010 00:40:32 +0000</pubDate>
		<dc:creator>Colin Dean</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://cad.cx/blog/?p=653</guid>
		<description><![CDATA[Using Subversion to manage my WordPress installation was convenient and mindless. Whenever there was a new release of the blog software, I could hop to a terminal, back up my filesystem and database, and run svn sw http://svn.automattic.com/wordpress/tags/(new.version.number). This worked great all through WordPress 2.x. However, when I tried to switch from 2.9.2 to 3.0, [...]]]></description>
			<content:encoded><![CDATA[<p>Using Subversion to manage my WordPress installation was convenient and mindless. Whenever there was a new release of the blog software, I could hop to a terminal, back up my filesystem and database, and run <code>svn sw http://svn.automattic.com/wordpress/tags/(new.version.number)</code>.</p>
<p>This worked great all through WordPress 2.x. However, when I tried to switch from 2.9.2 to 3.0, things broke. As in, &#8220;white screen with PHP failure message&#8221; broken. I hit the dreaded <a href="http://wordpress.org/support/topic/411446">is_multisite</a> error because something didn&#8217;t come in right or I&#8217;d accidentally modified something or maybe even the tag was out of date.</p>
<p>Regardless, I decided that in order to fix the problem, I needed to wipe out every file or directory which began with <i>wp</i> in my /blog directory and copy over from a fresh download of the package.</p>
<p>I mindlessly did this, then realized: &#8220;Oh crap, now I can&#8217;t upgrade with Subversion any more.&#8221;</p>
<p>I queried Twitter, asking <a href="http://twitter.com/colindean/status/16568135780">So I went and deleted all of the .svn directories in my wp install. Is there a way I can put it back on svn without having to recopy stuff?</a>. @<a href="http://twitter.com/steveklabnik">steveklabnik</a> quickly replied, jokingly, <a href="http://twitter.com/steveklabnik/status/16568430678">@colindean yeah, you just run &#8216;git init .&#8217; <img src='http://cad.cx/blog/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </a>.</p>
<p>A troubleshooting conversation ensued, and then I found that WordPress maintains a <a href="http://github.com/wordpress/wordpress">GitHub repository</a>. </p>
<p>Then it hit me: maintaining my WordPress installation with Subversion is so&#8230;WordPress 2.0. I&#8217;m on WordPress 3.0 now, it&#8217;s time to embrace modern distributed version control systems and use Git!</p>
<p>Steve, being an intrepid Rubyist friend and Git user, suggested how I could version my existing blog directory and add a git remote, then fetch and rebase, thereby syncronizing my local installation with an easy to use versioning system!</p>
<p>However, because it&#8217;s a development repository without any &#8220;tags&#8221;, I&#8217;ll have to remember to look for a specific commit whenever I upgrade.</p>
<p>I changed things up a bit and corrected order of things. Here&#8217;s what I did to get it working. Note that I&#8217;m a git newb and very open to suggestions if there&#8217;s a more succinct or overall better way to do this.</p>
<p>Note that I used git protocol for the repository (Github&#8217;s HTTP git seems to have problems completing transfers to my server).</p>
<p>Initialize the local repo and add what you have already:</p>
<div class="codeblock">
<pre><code>git init
git add .
git commit</code></pre>
</div>
<p>Add the remote, fetch and rebase:</p>
<div class="codeblock">
<pre><code>git remote add gh git://github.com/wordpress/wordpress.git
git fetch gh
git rebase gh/master</code></pre>
</div>
<p>At this point, I was informed that I had some files in wp-content/cache which needed to be deleted/updated. A quick <code>git status</code> showed that I&#8217;d versioned these cache files. Oops! You&#8217;ll have to do <code>git rm &lt;filename&gt;</code> for each of those, or just do <code>git rm wp-content/cache</code>.</p>
<p>Next, I added a few directories to <code>.gitignore</code> using my text editor of choice:</p>
<div class="codeblock">
<pre><code>wp-content/cache/*
wp-content/uploads/*
wp-content/plugins/*
wp-content/themes/*</code></pre>
</div>
<p>Then, I needed to merge in the 3.0 commit.</p>
<div class="codeblock">
<pre><code>git merge 7cee95b6bba8bc867023ae0831e7538a8419a9f5</code></pre>
</div>
<p>There were a few conflicts, but all were easily resolved. Use <code>git add</code> on each file needing resolved, then <code>git commmit</code> to finalize your changes. Once you commit, you&#8217;ll be up-to-date and merged with that version.</p>
<p>I&#8217;ll update this post or make another when the next release of WordPress is out to report how well the actual upgrade goes.</p>
]]></content:encoded>
			<wfw:commentRss>http://cad.cx/blog/2010/06/21/svn-is-so-wordpress-2-0-using-git-to-manage-a-wordpress-3-0-installation/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Search engines to honor new &#8220;canonical&#8221; URLs to reduce content duplication</title>
		<link>http://cad.cx/blog/2009/02/12/search-engines-to-honor-new-canonical-urls-to-reduce-content-duplication/</link>
		<comments>http://cad.cx/blog/2009/02/12/search-engines-to-honor-new-canonical-urls-to-reduce-content-duplication/#comments</comments>
		<pubDate>Thu, 12 Feb 2009 22:00:35 +0000</pubDate>
		<dc:creator>Colin Dean</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[canonical]]></category>
		<category><![CDATA[drupal]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[microsoft]]></category>
		<category><![CDATA[plugin]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[url]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://cad.cx/blog/?p=392</guid>
		<description><![CDATA[This is hot off the presses, folks. Google, Yahoo, and Microsoft announced today that their search engines will honor a new value for the rel attribute of link elements commonly found in the head element of a web page. This new specification aims to reduce content duplication via redundant URLs. For instance, WordPress posts can [...]]]></description>
			<content:encoded><![CDATA[<p>This is hot off the presses, folks.</p>
<p><a href="http://googlewebmastercentral.blogspot.com/2009/02/specify-your-canonical.html">Google</a>, <a href="http://ysearchblog.com/2009/02/12/fighting-duplication-adding-more-arrows-to-your-quiver/">Yahoo</a>, and Microsoft announced today that their search engines will honor a new value for the <code>rel</code> attribute of <code>link</code> elements commonly found in the <code>head</code> element of a web page. This new specification aims to reduce content duplication via redundant URLs.</p>
<p>For instance, WordPress posts can be accessed always through the URL <code>example.com/index.php?p=3</code> and often through a URL such as <code>example.com/2009/02/12/search-engines-to-honor-canonical-urls</code> or the like. Search engines see these separate URLs and usually think that they are duplicate content at different URLs, thus reducing the site&#8217;s ranking because of the duplicate content.</p>
<p>The new functionality acts not unlike a soft 301 redirect.</p>
<p>Check out the very informational post at Search Engine Land on the <a href="http://searchengineland.com/canonical-tag-16537">new canonical URLs</a>. A big thanks to @<a href="http://twitter.com/badmacktuck/status/1204242140" title="Patrick Mellinger">badmacktuck</a> for bringing it to my attention!</p>
<p><a href="http://www.yoast.com">Joost de Valk</a> wrote a WordPress plugin called <a href="http://yoast.com/wordpress/canonical/">wp-canonical</a> which adds such a <code>link</code> element to any WordPress blog. I&#8217;m using it now. He&#8217;s also written a Drupal plugin and an <a href="http://yoast.com/canonical-url-links/">informative blog about about canonical URLs</a>, too. That was quick!</p>
]]></content:encoded>
			<wfw:commentRss>http://cad.cx/blog/2009/02/12/search-engines-to-honor-new-canonical-urls-to-reduce-content-duplication/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The vital importance of being printable</title>
		<link>http://cad.cx/blog/2008/06/22/the-vital-importance-of-being-printable/</link>
		<comments>http://cad.cx/blog/2008/06/22/the-vital-importance-of-being-printable/#comments</comments>
		<pubDate>Sun, 22 Jun 2008 22:22:25 +0000</pubDate>
		<dc:creator>Colin Dean</dc:creator>
				<category><![CDATA[design]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[writing]]></category>
		<category><![CDATA[blogging]]></category>
		<category><![CDATA[blogs]]></category>
		<category><![CDATA[css]]></category>
		<category><![CDATA[layout]]></category>
		<category><![CDATA[printing]]></category>
		<category><![CDATA[stylesheets]]></category>
		<category><![CDATA[xhtml]]></category>

		<guid isPermaLink="false">http://cad.cx/blog/?p=274</guid>
		<description><![CDATA[The most recent change to my blog theme is one which most of my readers will never see. I added a print media CSS style sheet to all pages on the blog. Go on, try it. Use your browser&#8217;s &#8220;print preview&#8221; function to see it. Rarely do folks actually print a post from someone&#8217;s blog. [...]]]></description>
			<content:encoded><![CDATA[<p>The most recent change to my blog theme is one which most of my readers will never see. I added a print media CSS style sheet to all pages on the blog. Go on, try it. Use your browser&#8217;s &#8220;print preview&#8221; function to see it.</p>
<p>Rarely do folks actually <em>print</em> a post from someone&#8217;s blog. If it is a blog which does see some kind of readership with an unusual habit for printing articles, e.g. a blog about education which professors frequently print and distribute to their students, then the author or designer usually provides a &#8220;print preview&#8221; link or the printing user simply deals with the output, however many extraneous pages it may be.</p>
<p>However, accessing this printable version, that is, a version that prints without advertisements or colorful site paraphernalia, requires that the user click on a certain location, an extraneous action often neglected by visitors in a hurry.</p>
<p>This most recent change came about when I actually did have a reason to print one of my posts, and I realized that I wasted approximately five pages of paper just to get a small post. Now, I could have easily specified a page range when printing, but who does that? Users want to click print and have the article in hand.</p>
<p>I hate wasted paper, and most sites use some kind of <code>div</code> as a constricting container for the body text of the site. These containers often occupy less than the width of a page of paper, so the content fills only a portion of the paper, rather than letting the browser decide the width of the text on the printed page.</p>
<p>Print media style sheets remove this extra action and allow the designer of the site to decide how the printed output of a site should look.</p>
<p>The WordPress Codex&#8217;s <a href="http://codex.wordpress.org/Styling_for_Print">Styling for Print</a> article mentions five key element IDs which are generally a part of every theme: </p>
<ol>
<li>#header</li>
<li>#content</li>
<li>#comments</li>
<li>#sidebar (or #menu)</li>
<li>#footer</li>
</ol>
<p>These elements, and their children, are the ones that need to be customized to give a WordPress blog a printable look. </p>
<p>One can append his or her new print style sheet to the bottom of style.css using the @media print{} enclosure, or editing header.php and adding a whole new line, like I did. I prefer to have a separate file for easier code maintenance.</p>
<p>The most key part of my print.css stylesheet is the part which hides elements which have little use in a printed copy of any page of my blog.</p>
<div class="codeblock">
<pre><code>#sidebar, #headerad, .search, #hmenu, #content .navigation,
#footer, #respond, #commentform, embed {
    display:none;
}</code></pre>
</div>
<p>This is a screenshot of my <a href="http://cad.cx/blog/2008/04/08/bloggers-unite-health-insurance-for-full-time-bloggers/">Blogger Health Insurance</a> article so you can see my blog design even if you&#8217;re viewing this in a feed or on a mobile device.</p>
<div style="text-align:center"><a href="http://cad.cx/blog/2008/06/22/the-vital-importance-of-being-printable/printable/" rel="attachment wp-att-282"><img src="http://cad.cx/blog/wp-content/uploads/2008/06/printable-300x268.png" alt="Screenshot used in the printability article" title="Blogger Health Insurance article screenshot" width="300" height="268" class="alignnone size-medium wp-image-282" /></a></div>
<p>I used Ubuntu&#8217;s built-in PDF printer to produce these two print-outs of the site: one with the print style sheet, and one without it.</p>
<ul>
<li><a href="http://cad.cx/blog/wp-content/uploads/2008/06/273_bloggers_unite__health_insurance_for_full-time_bloggers-ugly.pdf">Blogger Health Insurance article print-out UGLY</a></li>
<li><a href="http://cad.cx/blog/wp-content/uploads/2008/06/273_bloggers_unite__health_insurance_for_full-time_bloggers.pdf">Blogger Health Insurance article print-out PRETTY</a></li>
</ul>
<p>Open both of those PDFs side-by-side and follow the comparison table with me.</p>
<table border="1">
<thead style="font-weight:bold">
<tr>
<td>Feature</td>
<td>Without print styles</td>
<td><em>With</em> print styles</td>
</tr>
</thead>
<tbody>
<tr>
<td>Blog title</td>
<td>Ugly default font, takes up a large amount of space. Subtitle looks like regular text.</td>
<td>Title is displayed in intended font and with &#8220;Printed from&#8221; appended to it to make it look more professional (but it&#8217;s only printed on browsers which support :before and :after on elements). Subtitle is present, but smaller and italicized in order to be relatively inconspicuous.</td>
</tr>
<tr>
<td>Major Navigation</td>
<td>Displayed in bullet form, previous and next entries listed</td>
<td>Hidden entirely, as there is no need for them on a printed copy of a single article.</td>
</tr>
<tr>
<td>Article title</td>
<td>Smaller than the blog title, and in the same ugly, default font.</td>
<td>Largest text on the page so that it demands the most attention and can be easily spotted when searching through multiple printed documents. Font is displayed as intended.</td>
</tr>
<tr>
<td>Body text</td>
<td>Body text is in the same, ugly default font as the headlines and titles, so it&#8217;s not differentiated from them. The links are in blue and will print gray on a black and white printer, so they will be virtually unreadable several generations of copies later.</td>
<td>The body text is of a font different from the titles and headlines, as is very attractive. The links are simply underlined and are in black, so they will be just as readable as the remainder of the text even after multiple generations of copies.</td>
</tr>
<tr>
<td>Block quotations</td>
<td>The block quotation is merely indented on the left side. It is virtually indistinguishable from the rest of the text.</td>
<td>The block quotation bears a simple gray bar to separate it from the rest of the text, as well as having forced, justified margins.</td>
</tr>
<tr>
<td>Article length</td>
<td>All of the text is large, so the printer needs three pages to get the whole article, including the categories and tags.</td>
<td>The text is smaller, but still very, very readable, so it requires half of the space: only a page and a half.</td>
</tr>
<tr>
<td>Comment box</td>
<td>Shown.</td>
<td>Hidden. It&#8217;s not needed in a print-out!</td>
</tr>
<tr>
<td>Sidebar</td>
<td>Shown, and it takes approximately four pages to show it entirely.</td>
<td>Hidden: it&#8217;s virtually not needed in a print-out. It&#8217;s purely navigational, save the Twitter feed. Even then, if the user needs to print out a Twitter status for some odd reason, he or she can click on the associated link and print the status from its twitter.com page.</td>
</tr>
<tr>
<td>Footer</td>
<td>Shown, takes up an inch or two on the page.</td>
<td>Hidden: it doesn&#8217;t contain any information useful in the article. I could (and really, <em>should</em>) have a copyright notice in the footer which is displayed on both the screen and the print version.</td>
</tr>
</tbody>
</table>
<p><br/><br />
If you look at this post in Print Preview, you&#8217;ll see a message in the code block. My print format truncates after 80 characters (I think). While this is usually not a problem, since my code blocks are generally meant to be copied and pasted instead of typed, I decided to include a short message at the top for browsers which support :before on elements in CSS.</p>
<p>Designing a decent print style isn&#8217;t very difficult. That very simple design took me just short of an hour. That hour of time infinitely increased the readability of printed copies of my blog, and completely eliminates the need for any kind of &#8220;printer friendly&#8221; link within the article metadata. Visitors to my blog who are so compelled to share my articles via sneakernet and hard copy won&#8217;t have to waste paper or ink printing unnecessary parts of the site design and can focus on what they want the most: the article text.</p>
<p>Check out the <a href="http://codex.wordpress.org/Styling_for_Print">Styling for Print</a> article at the Codex for more information and tips. Also, check out my print style using Print Preview and tell me if it doesn&#8217;t work for you!</p>
]]></content:encoded>
			<wfw:commentRss>http://cad.cx/blog/2008/06/22/the-vital-importance-of-being-printable/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>The Revolution: A Manifesto by Ron Paul available today</title>
		<link>http://cad.cx/blog/2008/04/30/the-revolution-a-manifesto-by-ron-paul-available-today/</link>
		<comments>http://cad.cx/blog/2008/04/30/the-revolution-a-manifesto-by-ron-paul-available-today/#comments</comments>
		<pubDate>Wed, 30 Apr 2008 23:23:40 +0000</pubDate>
		<dc:creator>Colin Dean</dc:creator>
				<category><![CDATA[politics]]></category>
		<category><![CDATA[wordpress]]></category>
		<category><![CDATA[amazon]]></category>
		<category><![CDATA[economics]]></category>
		<category><![CDATA[lew rockwell]]></category>
		<category><![CDATA[liberty]]></category>
		<category><![CDATA[manifesto]]></category>
		<category><![CDATA[revolution]]></category>
		<category><![CDATA[ron paul]]></category>

		<guid isPermaLink="false">http://cad.cx/blog/?p=266</guid>
		<description><![CDATA[Presidential candidate Ron Paul&#8217;s latest book, The Revolution: A Manifesto was released officially today. As of this posting, it&#8217;s #1 in Amazon&#8217;s Books section, as well as #1 in Books > Nonfiction > Social Sciences > Political Science > Political Doctrines, #1 in Books > Nonfiction > Philosophy > Political, and #1 in Books > [...]]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://rcm.amazon.com/e/cm?t=colingrad-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=0446537519&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr" style="width:120px;height:240px;float:right;margin:0.5em" scrolling="no" frameborder="0"></iframe>Presidential candidate Ron Paul&#8217;s latest book, <a href="http://www.amazon.com/Revolution-Manifesto-Ron-Paul/dp/0446537519?tag=colingrad-20">The Revolution: A Manifesto</a> was released officially today.</p>
<p>As of this posting, it&#8217;s #1 in Amazon&#8217;s Books section, as well as #1 in Books > Nonfiction > Social Sciences > Political Science > Political Doctrines, #1 in Books > Nonfiction > Philosophy > Political,  and #1 in Books > Biographies &#038; Memoirs > Leaders &#038; Notable People > Political. It&#8217;s also <strong>45% off because of the incredibly high volume of sales</strong>.</p>
<p>The book is not just a campaign book by the candidate from Texas. It&#8217;s a collection of thoughts on what must be done to ensure the continuance of the American experiment of self-government and rule-by-law. He explains why the dollar is failing, why the government is growing instead of shrinking, and how we are slowly surrendering our liberties in exchange for a false sense of security.</p>
<p>Lew Rockwell of <a href="http://www.lewrockwell.com">LewRockwell.com</a>, a libertarian columnist site, posted a fantastic comment on the Amazon product page:</p>
<blockquote><p>Ron Paul&#8217;s legacy&#8211;from decades of principled defense of freedom, peace, and sound money&#8211;is inculcated in this very important book. Just the right length, it convincingly and eloquently advances the Ron Paul philosophy. It&#8217;s a book for beginners and for all of us, no matter how well-read, on liberty, Austrian economics, the Federal Reserve, the free market, the welfare state, and the warfare state. No mere &#8220;campaign book,&#8221; this is one for the ages. And I especially appreciated the suggested reading list at the end. Ron, thank you for your shining example in congress, for teaching millions through your presidential race, and for being&#8211;as this extraordinary book shows&#8211;the Tom Paine of the second American revolution. Fellow Ron Paulians, we have only begun.</p></blockquote>
<p>Ron Paul also posted <a href="http://www.youtube.com/watch?v=9p4FJxOeXrQ">a message on YouTube regarding the The Revolution: A Manifesto</a>.</p>
<p><object width="425" height="355"><param name="movie" value="http://www.youtube.com/v/9p4FJxOeXrQ&#038;hl=en"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/9p4FJxOeXrQ&#038;hl=en" type="application/x-shockwave-flash" wmode="transparent" width="425" height="355"></embed></object></p>
<p>I&#8217;ve had my copy for approximately a week now, but school&#8217;s been taking precedence. I&#8217;ll be sure to post my thoughts on it when I finish it.</p>
<p><b>Update:</b> Thomas E. Woods, Jr. wrote an excellent article for <a href="http://www.lewrockwell.com">LewRockwell.com</a> entitled <a href="http://www.lewrockwell.com/woods/woods88.html">What Ron Paul’s Book Accomplishes</a>. His review, summarized in a sentence: <strong>&#8220;It is a book that can change minds.&#8221;</strong></p>
<p><b>Update:</b> Bill Huff also contributed to LRC an article called <a href="http://www.lewrockwell.com/huff/huff17.html">Manifesto Destiny</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://cad.cx/blog/2008/04/30/the-revolution-a-manifesto-by-ron-paul-available-today/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>WordPress 2.5.1 out</title>
		<link>http://cad.cx/blog/2008/04/25/wordpress-251-out/</link>
		<comments>http://cad.cx/blog/2008/04/25/wordpress-251-out/#comments</comments>
		<pubDate>Fri, 25 Apr 2008 22:00:18 +0000</pubDate>
		<dc:creator>Colin Dean</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[subversion]]></category>

		<guid isPermaLink="false">http://cad.cx/blog/?p=258</guid>
		<description><![CDATA[WordPress 2.5.1 has been released. It fixes a serious security vulnerability and more than 70 fixes and enhancements. There&#8217;s also something highlighted in the release which I did not know had been added in 2.5. From the release: Since 2.5 your wp-config.php file allows a new constant called SECRET_KEY which basically is meant to introduce [...]]]></description>
			<content:encoded><![CDATA[<p>WordPress 2.5.1 <a href="http://wordpress.org/development/2008/04/wordpress-251/">has been released</a>. It fixes a serious security vulnerability and <a href="http://trac.wordpress.org/query?status=closed&#038;milestone=2.5.1&#038;resolution=fixed&#038;order=priority">more than 70 fixes and enhancements</a>.</p>
<p>There&#8217;s also something highlighted in the release which I did not know had been added in 2.5. From the release:</p>
<blockquote><p>Since 2.5 your wp-config.php file allows a new constant called SECRET_KEY which basically is meant to introduce a little permanent randomness into the cryptographic functions used for cookies in WordPress. <a href="http://api.wordpress.org/secret-key/1.0/">You can visit this link we set up to get a unique secret key for your config file.</a> It’s unique and random on every page load. Having this line in your config file helps secure your blog.</p></blockquote>
<p>For my readers who, like me, are managing WordPress using subversion, the upgrade is a simple <code>svn sw http://svn.automattic.com/wordpress/tags/2.5.1</code> away. If you&#8217;re not <a href="http://codex.wordpress.org/Installing/Updating_WordPress_with_Subversion">managing WordPress using subversion</a>&mdash;and you really should if you have come kind of shell access to your server&mdash;then go to <a href="http://www.wordpress.org">WordPress.org</a> to get the newest release.</p>
]]></content:encoded>
			<wfw:commentRss>http://cad.cx/blog/2008/04/25/wordpress-251-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress 2.5 out, upgrade today!</title>
		<link>http://cad.cx/blog/2008/03/30/wordpress-25-out-upgrade-today/</link>
		<comments>http://cad.cx/blog/2008/03/30/wordpress-25-out-upgrade-today/#comments</comments>
		<pubDate>Mon, 31 Mar 2008 00:15:03 +0000</pubDate>
		<dc:creator>Colin Dean</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[svn]]></category>
		<category><![CDATA[upgrade]]></category>

		<guid isPermaLink="false">http://cad.cx/blog/?p=236</guid>
		<description><![CDATA[WordPress 2.5 was released yesterday. The upgrade path is very, very easy for existing 2.3.3 installations&#8211;it&#8217;s a simple copy-and-upgrade.php procedure. For those who use Subversion to manage their installations of WordPress, such as myself, the upgrade was even easier: svn sw http://svn.automattic.com/wordpress/tags/2.5 I then ran /wp-admin/upgrade.php and was in business. I had a few plugins [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.wordpress.org/download">WordPress 2.5</a> was released yesterday. The upgrade path is very, very easy for existing 2.3.3 installations&#8211;it&#8217;s a simple copy-and-upgrade.php procedure.</p>
<p>For those who use Subversion to manage their installations of WordPress, such as myself, the upgrade was even easier:</p>
<div class="codeblock">
<pre><code>svn sw http://svn.automattic.com/wordpress/tags/2.5</code></pre>
</div>
<p>I then ran /wp-admin/upgrade.php and was in business. I had a few plugins to update, but my theme is 2.5-ready and so are the remainder of my plugins.</p>
<p>The new administration panel, of which there are screenshots all over the web, is quite different but much easier to use. It took me a moment to reorient myself and find that the Options tab is now the Settings tab and that the Categories selector for writing posts is now below the entry box instead of beside it.</p>
]]></content:encoded>
			<wfw:commentRss>http://cad.cx/blog/2008/03/30/wordpress-25-out-upgrade-today/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New theme for the blog, OpenID coming</title>
		<link>http://cad.cx/blog/2008/03/25/new-theme-for-the-blog-openid-coming/</link>
		<comments>http://cad.cx/blog/2008/03/25/new-theme-for-the-blog-openid-coming/#comments</comments>
		<pubDate>Tue, 25 Mar 2008 23:00:17 +0000</pubDate>
		<dc:creator>Colin Dean</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[meta]]></category>
		<category><![CDATA[theme]]></category>
		<category><![CDATA[widgets]]></category>

		<guid isPermaLink="false">http://cad.cx/blog/2008/03/25/new-theme-for-the-blog-openid-coming/</guid>
		<description><![CDATA[For the first time since I started this blog, I&#8217;ve devised a new theme: Fluid Colinese. It&#8217;s based on Fluid Blue by Srini G. and uses a primarily brown and dark orange theme. Sean Potter said it reminded him of Ubuntu&#8217;s color leanings. I agree. Honestly, the blog looks as intended with the fonts FreeSerif [...]]]></description>
			<content:encoded><![CDATA[<p>For the first time since I started this blog, I&#8217;ve devised a new theme: <strong>Fluid Colinese</strong>. It&#8217;s based on Fluid Blue by Srini G. and uses a primarily brown and dark orange theme. <a href="http://www.obsidianprofile">Sean Potter</a> said it reminded him of Ubuntu&#8217;s color leanings. I agree. Honestly, the blog looks as intended with the fonts <a href="http://download.savannah.gnu.org/releases/freefont/freefont-ttf-20060126.tar.gz" title="Download this, put the .ttf files in C:\WINDOWS\Fonts and restart the browser.">FreeSerif and FreeSans</a> installed. Both are available on most Linux distributions, and font files for Windows are linked (however, the fonts looks terrible on Windows, at least to me). It looks acceptable for Windows Vista users or XP users who have <a href="http://www.google.com/search?q=segoe+ui+download">acquired</a> the font <a href="http://en.wikipedia.org/wiki/Segoe_UI">Segoe UI</a>. Otherwise, the body text looks alright and the headlines default to Arial, which is alright.</p>
<p>Also, this theme is made for WordPress 2.3, so it can use all of the widgets and whatnot. I know WordPress 2.5 is coming out soon, but the only real changes to the theme side of things is the inclusion of avatars. I haven&#8217;t decided if I want to enable them, but I&#8217;ll decide when I see how annoying they are when WordPress 2.5 is actually released.</p>
<p><img style="margin-left: 0.5em;margin-bottom:0.2em;float:right" src="http://cad.cx/blog/wp-content/uploads/2008/03/320px-openid_logosvg.png" alt="OpenID Logo" />I&#8217;m working on enabling <a href="http://openid.net/">OpenID</a> for commenting. I&#8217;d wanted to use it for my previous theme, but I couldn&#8217;t ever get it to play nicely. My old theme was made for WordPress 1.5, I think. Anyway, I&#8217;m running into a few issues because of conflicting versions of OpenID and <a href="http://yadis.org">Yadis</a> in the plugin source and in <code>/usr/share/php</code>, which is used by my own OpenID server.</p>
<p>You&#8217;ll also notice the addition of some widgets. I&#8217;ve added the tag cloud and some RSS feeds from sites for which I write.</p>
<p>I&#8217;m going to take a little time here and there and reorganize the categories, too. I&#8217;ve got some categories which have one or two posts, such as the battlefield and g15 categories. I&#8217;m also going to get rid of the Uncategorized tag left over from Ultimate Tag Warrior&#8217;s shenanigans.</p>
<p>If you read my blog regularly and know me, either in person or through some organization, drop me a line and we can do a link exchange of sorts. Please, though, I prefer people whom I&#8217;ve met in person and who update their blog regularly. I tend to remove links to blogs which haven&#8217;t updated in months. Really, I should just import the OPML file from <a href="http://liferea.sourceforge.net/">Liferea</a>, my preferred <u>Li</u>nux <u>fe</u>ed <u>rea</u>der.</p>
<p>The URL for my blog won&#8217;t change, but the RSS URL will. I&#8217;m planning to rename the blog, as it&#8217;s no longer the Flow of Consciousness it was in the past. I&#8217;m almost out of that phase of my life, so it&#8217;s time to move on to more professional and responsible blogging.</p>
<p>Tell me your thoughts, folks. ¿Te gusta? ¿No te gusta?</p>
]]></content:encoded>
			<wfw:commentRss>http://cad.cx/blog/2008/03/25/new-theme-for-the-blog-openid-coming/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>WordPress 2.3.2 out</title>
		<link>http://cad.cx/blog/2007/12/31/wordpress-232-out/</link>
		<comments>http://cad.cx/blog/2007/12/31/wordpress-232-out/#comments</comments>
		<pubDate>Mon, 31 Dec 2007 22:54:10 +0000</pubDate>
		<dc:creator>Colin Dean</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[subversion]]></category>

		<guid isPermaLink="false">http://cad.cx/blog/2007/12/31/wordpress-232-out/</guid>
		<description><![CDATA[The latest patch version of WordPress is available. Be sure to download and upgrade! If you&#8217;re awesome like I am, then you&#8217;re using Subversion to manage releases. There aren&#8217;t any major changes to the structure, but you should always backup your wordpress directory just-in-case. Then, issue svn sw http://svn.automattic.com/wordpress/tags/2.3.2 and you&#8217;re running the latest version.]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://wordpress.org/download/">latest patch version of WordPress</a> is available. Be sure to download and upgrade!</p>
<p>If you&#8217;re awesome like I am, then you&#8217;re using Subversion to manage releases. There aren&#8217;t any major changes to the structure, but you should always backup your <code>wordpress</code> directory just-in-case. Then, issue <code>svn sw http://svn.automattic.com/wordpress/tags/2.3.2</code> and you&#8217;re running the latest version.</p>
]]></content:encoded>
			<wfw:commentRss>http://cad.cx/blog/2007/12/31/wordpress-232-out/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Upgraded to WordPress 2.3</title>
		<link>http://cad.cx/blog/2007/09/27/upgraded-to-wordpress-23/</link>
		<comments>http://cad.cx/blog/2007/09/27/upgraded-to-wordpress-23/#comments</comments>
		<pubDate>Thu, 27 Sep 2007 20:27:52 +0000</pubDate>
		<dc:creator>Colin Dean</dc:creator>
				<category><![CDATA[wordpress]]></category>
		<category><![CDATA[backups]]></category>
		<category><![CDATA[svn]]></category>

		<guid isPermaLink="false">http://cad.cx/blog/2007/09/27/upgraded-to-wordpress-23/</guid>
		<description><![CDATA[I upgraded to WordPress 2.3 last night. Know what I did to do so? Backed up the database using wp-db-backup. Backed up the WordPress directory at a terminal with a simple tar czvf blogbackup.tar.gz. Upgraded a few plugins and removed others according to the official plugin compatibility list. Executed svn sw http://svn.automattic.com/wordpress/tags/2.3/ Done. Took me [...]]]></description>
			<content:encoded><![CDATA[<p>I upgraded to WordPress 2.3 last night.</p>
<p>Know what I did to do so?
<ol>
<li>Backed up the database using <a href="http://www.ilfilosofo.com/blog/wp-db-backup">wp-db-backup</a>.</li>
<li>Backed up the WordPress directory at a terminal with a simple <code>tar czvf blogbackup.tar.gz</code>.</li>
<li>Upgraded a few plugins and removed others according to the <a href="http://codex.wordpress.org/Plugins/Plugin_Compatibility/2.3">official plugin compatibility list</a>.</li>
<li>Executed <code>svn sw http://svn.automattic.com/wordpress/tags/2.3/</code></li>
</ol>
<p>Done.</p>
<p>Took me about ten minutes, and most of that 10 minutes was spent reading the compatibility list.</p>
<p>By the way, I love tags.</p>
]]></content:encoded>
			<wfw:commentRss>http://cad.cx/blog/2007/09/27/upgraded-to-wordpress-23/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

