<?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>tolaris.com &#187; wordpress</title>
	<atom:link href="http://www.tolaris.com/tag/wordpress/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tolaris.com</link>
	<description>When the going gets tough, the tough sniff packets.</description>
	<lastBuildDate>Tue, 24 Jan 2012 17:47:01 +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>Updated: Tolarski, a variable-width Tarski child theme</title>
		<link>http://www.tolaris.com/2011/09/18/updated-tolarski-a-variable-width-tarski-child-theme/</link>
		<comments>http://www.tolaris.com/2011/09/18/updated-tolarski-a-variable-width-tarski-child-theme/#comments</comments>
		<pubDate>Sun, 18 Sep 2011 18:20:11 +0000</pubDate>
		<dc:creator>Tyler Wagner</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.tolaris.com/?p=1505</guid>
		<description><![CDATA[I&#8217;ve updated Tolarski, my variable-width Tarski theme, to work with Tarski 3.1.2 and WordPress 3.2.x. This version is also downloadable as a ZIP file, and can be installed through the WordPress GUI. Download Tolarski v.1.3.2 here. To install, login to WordPress as admin and browse to Appearance -> Themes -> Install Themes -> Upload. I&#8217;d [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve updated <a href="/2011/05/23/tolarski-a-tarski-child-theme-for-variable-width">Tolarski</a>, <a href="/2009/02/03/making-tarski-dynamically-resize-with-sliding-header-images">my variable-width Tarski theme</a>, to work with Tarski 3.1.2 and WordPress 3.2.x. This version is also downloadable as a ZIP file, and can be installed through the WordPress GUI.</p>
<p><span id="more-1505"></span><a href='http://www.tolaris.com/blog/wp-content/uploads/2011/09/tolarski.zip'>Download Tolarski v.1.3.2 here</a>.</p>
<p>To install, login to WordPress as admin and browse to Appearance -> Themes -> Install Themes -> Upload. I&#8217;d appreciate it if someone else could test this and leave feedback with any issues.</p>
<p>I don&#8217;t intend to turn Tolarski into a fully supported theme. But I am happy to answer questions. Some notes:</p>
<ol>
<li>Tolarski displays the full date and time on posts. Tarski only prints the date, and this is not configurable. You can disable this by commenting out the &#8220;add_action &#8230; init_tolarski_post_metadata&#8221; line at the bottom of functions.php.</li>
<li>You must modify tolarski_headerimage() in functions.php. This specifies the 7 header images by filename, which should be placed in tolarski/headers/. Please don’t use my images on your live blog, but if you just want to play with the theme you can find links in the page source and manually download them. If you want to change the floating positions of the images, or use more/less of them, edit style.css.</li>
</ol>
]]></content:encoded>
			<wfw:commentRss>http://www.tolaris.com/2011/09/18/updated-tolarski-a-variable-width-tarski-child-theme/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Tolarski, a Tarski child theme for variable width</title>
		<link>http://www.tolaris.com/2011/05/23/tolarski-a-tarski-child-theme-for-variable-width/</link>
		<comments>http://www.tolaris.com/2011/05/23/tolarski-a-tarski-child-theme-for-variable-width/#comments</comments>
		<pubDate>Mon, 23 May 2011 20:16:45 +0000</pubDate>
		<dc:creator>Tyler Wagner</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.tolaris.com/?p=1377</guid>
		<description><![CDATA[Update 2011-09-18: This post is out of date. See the latest release here. I&#8217;ve been maintaining my own hacked-up theme based on Tarski for several years now. This required modifying the theme source, which meant that every update to Tarski would overwrite my customisations. The better way to do this is to write a child [...]]]></description>
			<content:encoded><![CDATA[<p><em>Update 2011-09-18: This post is out of date. See the latest release <a href="/2011/09/18/updated-tolarski-a-variable-width-tarski-child-theme/">here</a>.</em></p>
<p>I&#8217;ve been maintaining my own <a href="http://www.tolaris.com/2009/02/03/making-tarski-dynamically-resize-with-sliding-header-images/">hacked-up theme</a> based on <a href="http://tarskitheme.com/">Tarski</a> for several years now. This required modifying the theme source, which meant that every update to Tarski would overwrite my customisations. The better way to do this is to write a <a href="http://codex.wordpress.org/Child_Themes">child theme</a>.</p>
<p><span id="more-1377"></span>Behold <a href='http://www.tolaris.com/blog/wp-content/uploads/2011/05/tolarski_theme.tar.gz'>Tolarski</a>, a Tarski child theme for variable width. Tolarski isn&#8217;t intended for general release, and I don&#8217;t intend to support it for external use. However, I regularly get questions from people wanting to know how I did it, so I&#8217;m making the code available.</p>
<p>The details are similar to my <a href="http://www.tolaris.com/2009/02/03/making-tarski-dynamically-resize-with-sliding-header-images/">previous blog post</a>. The variable-width columns are implemented in <a href="http://www.tolaris.com/blog/wp-content/themes/tolarski/style.css">CSS</a>, and the header images are positioned in CSS and implemented by a new function which modifies <code>th_header</code>. Tolarski ignores the WordPress &#8220;header image&#8221; setting.</p>
<p>From functions.php:</p>
<pre>function tolarski_headerimage() {
	$header_img_url_base = get_bloginfo('stylesheet_directory') . '/headers/';
	echo "
&lt;div id=\"header-image\"&gt;
&lt;img alt=\"Header image\" src=\"".$header_img_url_base."/tolaris_level1_black.png\" id=\"header_image_blackbg\" /&gt;
&lt;img alt=\"Header image\" src=\"".$header_img_url_base."/tolaris_level2_blue.png\" id=\"header_image_bluebg\" /&gt;
&lt;img alt=\"Header image\" src=\"".$header_img_url_base."/tolaris_level3_gradient.png\" id=\"header_image_gradient\" /&gt;
&lt;img alt=\"Header image\" src=\"".$header_img_url_base."/tolaris_level4_cmda.png\" id=\"header_image_cmd\" /&gt;
&lt;img alt=\"Header image\" src=\"".$header_img_url_base."/tolaris_level5_sat.png\" id=\"header_image_satellite\" /&gt;
&lt;img alt=\"Header image\" src=\"".$header_img_url_base."/tolaris_level6_science.png\" id=\"header_image_engineer\" /&gt;
&lt;img alt=\"Header image\" src=\"".$header_img_url_base."/tolaris_level7_tolaris.png\" id=\"header_image_tolaris\" /&gt;
&lt;/div&gt;\n\n";
}

function init_tolarski_header() {
	remove_all_actions('th_header');
	add_action('th_header', 'tolarski_headerimage');
	add_action('th_header', 'tarski_titleandtag');
	add_action('th_header', 'navbar_wrapper');
	add_action('th_header', 'tarski_next_prev_posts');
}

add_action('init', 'init_tolarski_header');</pre>
<p>To use Tolarski, you&#8217;re going to have to modify <code>tolarski_headerimage()</code>. This specifies the 7 header images by filename, which should be placed in tolarski/headers/. Please don&#8217;t use my images on your live blog, but if you just want to play with the theme you can find links in the page source.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tolaris.com/2011/05/23/tolarski-a-tarski-child-theme-for-variable-width/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Google Gears for Firefox 64-bit</title>
		<link>http://www.tolaris.com/2009/05/22/google-gears-for-firefox-64-bit/</link>
		<comments>http://www.tolaris.com/2009/05/22/google-gears-for-firefox-64-bit/#comments</comments>
		<pubDate>Fri, 22 May 2009 18:54:57 +0000</pubDate>
		<dc:creator>Tyler Wagner</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[amd64]]></category>
		<category><![CDATA[firefox]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.tolaris.com/?p=376</guid>
		<description><![CDATA[When I starting using WordPress on tolaris.com, I noticed an innocuous link in the admin interface entitled &#8220;Turbo&#8221;. This feature uses Google Gears to speed up working with the blog, and to work offline (!) by storing data (html, images, javascript) in my firefox profile and running javascript in the background. Unfortunately, Google doesn&#8217;t release [...]]]></description>
			<content:encoded><![CDATA[<p>When I starting using WordPress on tolaris.com, I noticed an innocuous link in the admin interface entitled &#8220;Turbo&#8221;.  This feature uses Google Gears to speed up working with the blog, and to work offline (!) by storing data (html, images, javascript) in my firefox profile and running javascript in the background.  Unfortunately, Google doesn&#8217;t release Gears for 64-bit architectures.</p>
<p>Today I <a href="http://groups.google.com/group/gears-users/browse_thread/thread/4584842dd14a4882">discovered</a> that <a href="http://www-personal.umich.edu/~swolchok/">someone</a> has patched Gears to work with Firefox 64-bit, and released a <a href="http://www-personal.umich.edu/~swolchok/gears/">precompiled installer</a>.  Warning: after installation, when Firefox restarts, you will see a warning that the plugin could not be installed (&#8216;&#8221;Google Gears&#8221; could not be installed because it is not compatible with your Firefox build type (Linux_x86_64-gcc3). Please contact the author of this item about the problem.&#8217;).  However, it is installed and works just fine.  Unfortunately this message is repeated each time Firefox restarts.</p>
<p>I can now browse my admin page with Firefox in offline mode.  Sniffing proves that not a byte is passing.  Now I can write blog posts on planes, without having to use an offline text editor.</p>
<p>Update 2009-05-29: My old colleague from my days at Greenpeace, Niels Peen, <a href="http://nielspeen.com/blog/2009/02/google-gears-64-bit/">now provides the latest version</a> (5.21.0) with proper build tagging.  So you will no longer see the warning about Linux_x86_64-gcc3 being the wrong build type.  Thanks, Niels!</p>
<p>Update 2009-07-24: 5.31.0 and 5.32.0 are now available <a href="http://blog.celogeek.fr/linux/linux-trucs-et-astuces/google-gears-compilation/">here</a>, also with build instructions so you can do it yourself!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tolaris.com/2009/05/22/google-gears-for-firefox-64-bit/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Making Tarski dynamically resize, with sliding header images</title>
		<link>http://www.tolaris.com/2009/02/03/making-tarski-dynamically-resize-with-sliding-header-images/</link>
		<comments>http://www.tolaris.com/2009/02/03/making-tarski-dynamically-resize-with-sliding-header-images/#comments</comments>
		<pubDate>Tue, 03 Feb 2009 19:00:21 +0000</pubDate>
		<dc:creator>Tyler Wagner</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.tolaris.com/?p=192</guid>
		<description><![CDATA[Update 2011-09-18: This post is out of date. See the latest release here. You may have noticed the slick new header images on tolaris.com. Try resizing your browser. The site&#8217;s theme and header images will resize to match, sliding apart as needed while maintaining the right depth. The artwork was done by my talented friend [...]]]></description>
			<content:encoded><![CDATA[<p><em>Update 2011-09-18: This post is out of date. See the latest release <a href="/2011/09/18/updated-tolarski-a-variable-width-tarski-child-theme/">here</a>.</em></p>
<p>You may have noticed the slick new header images on tolaris.com.  Try resizing your browser.  The site&#8217;s theme and header images will resize to match, sliding apart as needed while maintaining the right depth.</p>
<p>The artwork was done by my talented friend <a href="http://www.joshsmithphotography.com/">Josh Smith</a>.  Several of his photographs grace the walls of my home, and his daughter &#8211; in convincing us that breeding may be pretty neat after all &#8211; is incidentally responsible for the existence of my own child.  I commissioned Josh to replace the boring old header image (and its limiting static width) with a sliding array of images late last year.  I am extremely pleased with the work.  From time to time, I may change the command-line text (currently using dpkg to install &#8220;Hello World&#8221;), just for fun.</p>
<p>The resizing and sliding is accomplished by using CSS.  I am using a modified form of the <a href="http://tarskitheme.com/">Tarski</a> WordPress template.  I love Tarski&#8217;s options and clean design, but fixed-pixel-width websites are dumb.  So I&#8217;ve overridden many of the Tarski theme&#8217;s settings to use percentages rather than pixel widths.</p>
<p><span id="more-192"></span>All of my modifications can be found by browsing my <a href="/blog/wp-content/themes/tarski/styles/tolaris.css">CSS source</a>.  Note that Tarski uses several stylesheets, and this last just overrides a lot of existing defaults.</p>
<p>Making the header images resize and stay aligned correctly is a little tricky.  Here are the CSS objects for the first three images from the source above:</p>
<pre>#header-image {
   position: relative;
   height: 180px;
   margin-top: 10px;
   text-align: center;
}

#header_image_blackbg {new-header-images
    position: absolute;
    top: 0px; left: 0px;
    width: 734px; height: 180px;
    z-index: 1;
}

#header_image_bluebg {
    position: absolute;
    top: 0px; right: 0px;
    width: 734px; height: 180px;
    z-index: 2;
}

#header_image_gradient {
    position: absolute;
    top: 0px;
    margin-left: -367px; left 50%;
    width: 734px; height: 180px;
    z-index: 3;
}</pre>
<p>The first object is the container object.  It must be &#8220;position:relative&#8221;.  The next is a black background block, which could just be a div but the image works for me.  It is aligned on the left.  Object 3 is the light blue background block, aligned on the right.  The last object is the gradient that transitions between them.  Forcing it to align to center is actually a pain.  I&#8217;ve used a trick here.  Set its left margin edge to the center of the image (negative half its width), and then set left side spacing to 50%.  I could do the same with the right.  There are 4 more images for the satellite, command text, the engineer (me!), and the tolaris.com label.  Each has a depth (z-index), where higher numbers are on top of lower numbers.</p>
<p>Getting Tarski to actually use more than one image requires re-writing some Tarski code itself.  All from (wordpress_root)/wp-content/themes/tarski:</p>
<p>./functions.php &#8211; Around line 67, add a new line to call a new PHP source file.<br />
require_once(TARSKIHELPERS . &#8216;/my_helper.php&#8217;);</p>
<p>./library/helpers/my_helper.php &#8211; Create this file, with your new function to include all the image lines.  Make sure that each img tag has an id field matching the CSS objects.</p>
<pre>function my_headerimage() {
$header_img_url_base = get_bloginfo('template_directory') . '/headers/';
echo "
&lt;div id=\"header-image\"&gt;
&lt;img alt=\"Header image\" src=\"".$header_img_url_base."/tolaris_level1_black.png\" id=\"header_image_blackbg\" /&gt;
&lt;img alt=\"Header image\" src=\"".$header_img_url_base."/tolaris_level2_blue.png\" id=\"header_image_bluebg\" /&gt;
&lt;img alt=\"Header image\" src=\"".$header_img_url_base."/tolaris_level3_gradient.png\" id=\"header_image_gradient\" /&gt;
&lt;/div&gt;\n\n";
}</pre>
<p>./app/launcher.php_tolaris &#8211; Around line 91, replace the function call to &#8220;tarski_headerimage&#8221; with your new function.</p>
<pre>//add_action('th_header', 'tarski_headerimage');
add_action('th_header', 'my_headerimage');</pre>
<p>Then upload your header images to the &#8220;headers&#8221; directory, where the other single-image headers are stored.</p>
<p>I&#8217;m sure there is a way to do this with the Tarski API, but this hack works for me.  At least until I have to upgrade and port my changes in to the next release.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tolaris.com/2009/02/03/making-tarski-dynamically-resize-with-sliding-header-images/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Disabling WordPress character replacements inside code tags</title>
		<link>http://www.tolaris.com/2008/10/13/disabling-wordpress-character-replacements-inside-code-tags/</link>
		<comments>http://www.tolaris.com/2008/10/13/disabling-wordpress-character-replacements-inside-code-tags/#comments</comments>
		<pubDate>Mon, 13 Oct 2008 20:34:04 +0000</pubDate>
		<dc:creator>Tyler Wagner</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[wordpress]]></category>

		<guid isPermaLink="false">http://www.tolaris.com/?p=154</guid>
		<description><![CDATA[Update 2009-02-12: This bug appears to have been resolved with WordPress 2.7.1. I noticed when reviewing a recent post that WordPress was &#8220;helpfully&#8221; replacing two hyphens with emdash, three dots with ellipsis, apostrophe with curly apostrophe, etc. It does this even between &#60;code&#62; tags &#8211; on the second line and beyond. I appreciate that WordPress [...]]]></description>
			<content:encoded><![CDATA[<p><em>Update 2009-02-12: This bug appears to have been resolved with WordPress 2.7.1.</em></p>
<p>I noticed when reviewing a recent post that WordPress was &#8220;helpfully&#8221; replacing two hyphens with emdash, three dots with ellipsis, apostrophe with curly apostrophe, etc.  It does this even between &lt;code&gt; tags &#8211; on the second line and beyond.  I appreciate that WordPress does this when I&#8217;m writing in a journalistic style, but I&#8217;m also a programmer and engineer, which means it hinders as often as it helps.</p>
<p><span id="more-154"></span>In WordPress 2.6.2, the problem comes from a bug in ./wp-includes/formatting.php.  The auto-formatter tries not to do these replacements between code tags, but incorrectly identifies the start of any following tag as the end of the code section.  That means a multi-line code section (which has &lt;br&gt; tags breaking each line) will have replacements run on it on all lines after the first.</p>
<p>This bug is found between lines 30 and 43:</p>
<pre>if (isset($curl{0}) &amp;&amp; '&lt;' != $curl{0} &amp;&amp; '[' != $curl{0} &amp;&amp; $next &amp;&amp; !$has_pre_parent) { // If it's not a tag
   // static strings
   $curl = str_replace($static_characters, $static_replacements, $curl);
   // regular expressions
   $curl = preg_replace($dynamic_characters, $dynamic_replacements, $curl);
} elseif (strpos($curl, '&lt;code') !== false || strpos($curl, '&lt;kbd') !== false || strpos($curl, '&lt;style') !== false || strpos($curl, '&lt;script') !== false) {
   $next = false;
} elseif (strpos($curl, '&lt;pre') !== false) {
   $has_pre_parent = true;
} elseif (strpos($curl, '&lt;/pre&gt;') !== false) {
   $has_pre_parent = false;
} else {
   $next = true;
}</pre>
<p>One solution is to make code tags behave like pre tags.  Change lines 35-39 to the following:</p>
<pre>} elseif (strpos($curl, '&lt;kbd') !== false || strpos($curl, '&lt;style') !== false || strpos($curl, '&lt;script') !== false) {
   $next = false;
} elseif (strpos($curl, '&lt;pre') !== false || strpos($curl, '&lt;code') !== false) {
   $has_pre_parent = true;
} elseif (strpos($curl, '&lt;/pre&gt;') !== false || strpos($curl, '&lt;/code&gt;') !== false) {
   $has_pre_parent = false;</pre>
<p>Now code tags will be treated as pre tags &#8211; absolutely no replacements except for those necessary for HTML encoding.  This does introduce bugs in the case of nested code and pre tags, so don&#8217;t put them inside each other.</p>
<p>If you want to disable replacements altogether, just comment out lines 32 and 34 (the str_replace and preg_replace calls).</p>
<p>Aside: writing this article so all the tags would display correctly was an incredible pain.</p>
<blockquote></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://www.tolaris.com/2008/10/13/disabling-wordpress-character-replacements-inside-code-tags/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

