<?xml version="1.0" ?>
<rss version="0.91">
	<channel>
		<title>centricle</title>
		<link>http://centricle.com</link>
		<description/>
		<language>en-us</language>
		<webMaster>ksmith@centricle.com</webMaster>
		<item>
			<title>Predictions</title>
			<description>&lt;p&gt;A month from now, I will be conflicted.&lt;/p&gt;

&lt;p&gt;
I'll be happy to have spent time with old friends & and glad to have made new ones, but I'll be bummed that it'll be another year before I see most of them again.
&lt;/p&gt;
&lt;p&gt;
I'll have a mind tumbling with new ideas & excitement about what it is that I do for a living, but I'll be unsure what to do with that energy.
&lt;/p&gt;
&lt;p&gt;
I'll have a belly full of Texas BBQ, but it'll be months before the stuff I get 'round these parts tastes right again.
&lt;/p&gt;
&lt;p&gt;
SXSW, here I come!
&lt;/p&gt;</description>
			<link>http://centricle.com/archive/2008/02/predictions</link>
		</item>
		<item>
			<title>Is this thing on?</title>
			<description>&lt;p&gt;This is my biennial SXSW post.&lt;/p&gt;

&lt;p&gt;That is to say, the previous &lt;a href="http://centricle.com/archive/2005/03/obligatory-sxsw-post"&gt;one&lt;/a&gt; was about two years ago.&lt;/p&gt;

&lt;p class="parenthesis"&gt;(I've added nine posts since then, which makes me wonder why I continue to pay my hosting bill - but that's another story for another time.)&lt;/p&gt;

&lt;p&gt;Anyway, I'm excited to see my friends again, and fully expect to make new ones, so I'm really looking forward to this year's conference. I've touched base with some folks over the past few weeks, but there are a lot of people I haven't talked to. So, ping me if you're gonna be in Austin from March 9-14.&lt;/p&gt;</description>
			<link>http://centricle.com/archive/2007/02/is-this-thing-on</link>
		</item>
		<item>
			<title>CSS Filters and IE7 Beta 3</title>
			<description>&lt;p&gt;Thanks to David Major from the IE team for prodding me to update the 
&lt;a href="http://centricle.com/ref/css/filters/"&gt;filter matrix&lt;/a&gt;. Here's the changelog:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Newly applied:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code class="css"&gt;head:first-child+body div&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code class="css"&gt;body&amp;gt;div&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code class="css"&gt;html[xmlns] div&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Newly denied:&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;code class="css"&gt;* html div&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code class="css"&gt;_property: value;&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Thanks David!&lt;/p&gt;</description>
			<link>http://centricle.com/archive/2006/07/IE7b3-css-filters</link>
		</item>
		<item>
			<title>Screenshot to Photoshop with AppleScript</title>
			<description>&lt;p&gt;
	I'm currently working on a project that requires me to
	produce a ton of screenshots. Even with a Photoshop &lt;a
	href="http://centricle.com/files/MyActions.zip"&gt;action&lt;/a&gt; set up to prep,
	export, and close the image, it's still a tedious task.
&lt;/p&gt;

&lt;p&gt;
	So, I wrote this AppleScript to automate the whole thing:
&lt;/p&gt;

&lt;pre class="codeblock"&gt;
&lt;code class="applescript"&gt;
do shell script "screencapture -iWc"
  -- Running interactively, starting in window mode.
  -- Spacebar toggles between window &amp; selection.
  -- `man screencapture` for more options.

tell application "Adobe Photoshop CS"
  activate
  make new document with properties &#172;
      {width:1024, height:768}
  paste
  trim current document
  do action "screenshot" from "My Actions"
end tell
&lt;/code&gt;
&lt;/pre&gt;

&lt;p&gt;
	Saved as an application, it can be run via Quicksilver
	with less effort than than invoking &lt;del&gt;Panther's&lt;/del&gt;
      &lt;ins&gt;OS X's&lt;/ins&gt; built-in screenshot utility.
&lt;/p&gt;</description>
			<link>http://centricle.com/archive/2005/11/screenshot-to-photoshop</link>
		</item>
		<item>
			<title>CSS Filters for IE7</title>
			<description>&lt;p&gt;
	If somebody with access to IE7 Beta 1 would be kind enough to run
	through my filter &lt;a href="http://centricle.com/ref/css/filters/tests/"&gt;test pages&lt;/a&gt;
	and let me know what's what, I'd love to post the results in the &lt;a
	href="http://centricle.com/ref/css/filters/"&gt;main table&lt;/a&gt;, just for kicks.
&lt;/p&gt;

&lt;ins&gt;
	&lt;h3&gt;Update:&lt;/h3&gt;
	&lt;p&gt;
		Thanks to &lt;a href="http://www.samespirit.net/ricky/"&gt;Ricky Moorhouse&lt;/a&gt;
		for supplying &lt;a href="http://centricle.com/ref/css/filters/"&gt;test results&lt;/a&gt;, which show that 7b1
		is equivalent to IE6 with respect to these filters. It looks like Beta 2 will be &lt;a 
		href="http://weblogs.asp.net/justin_rogers/archive/2005/09/01/424184.aspx"
		&gt;dramatically&lt;/a&gt; &lt;a 
		href="http://blogs.msdn.com/ie/archive/2005/07/29/445242.aspx"&gt;different&lt;/a&gt;,
		so look for another update once that one sees the light of day.
	&lt;/p&gt;
&lt;/ins&gt;
</description>
			<link>http://centricle.com/archive/2005/10/css-filters-for-IE7</link>
		</item>
		<item>
			<title>Tips for debugging PHP</title>
			<description>&lt;p&gt;
	Two things I do to make my life easier when trying to track
	down bugs in PHP:
&lt;/p&gt;

&lt;p&gt;
	First, assuming &lt;code class="PHP"&gt;display_errors&lt;/code&gt; is on,
	adding this to php.ini helps to ensure that you can actually read 
	error messages when they get spit out in the middle of some markup
	that would otherwise cause the browser to obscure them in
	the rendered content, forcing you to view the &lt;abbr&gt;HTML&lt;/abbr&gt;
	source to figure out what the problem is:
&lt;/p&gt;

&lt;pre class="codeblock"&gt;
&lt;code class="PHP"&gt;
error_prepend_string = "&amp;lt;div style='background: #fff; 
  padding: 25px; color: #000; border: solid 10px #f00; 
  width: 500px; clear: both'&amp;gt;"

error_append_string = "&amp;lt;/div&amp;gt;"
&lt;/code&gt;
&lt;/pre&gt;

&lt;p&gt;
	If you don't have access to php.ini, those parameters can be set in
	httpd.conf, (or .htaccess, if AllowOverride is set to 'Options' or
	'All') like this:
&lt;/p&gt;

&lt;pre class="codeblock"&gt;
&lt;code class="PHP"&gt;
php_value error_prepend_string "&amp;lt;div style='background: &#92;
  #fff; padding: 25px; color: #000; border: solid 10px &#92;
   #f00; width: 500px; clear: both'&amp;gt;"

php_value error_append_string "&amp;lt;/div&amp;gt;"
&lt;/code&gt;
&lt;/pre&gt;

&lt;p&gt;
	Second, I include this small function for every project:
&lt;/p&gt;

&lt;pre class="codeblock"&gt;
&lt;code class="PHP"&gt;
function trap ( $var = NULL, $exit = 1 )
  {
  if ( isset ( $var ) )
    {
    echo '&amp;lt;pre&amp;gt;';
    print_r ( $var );
    echo '&amp;lt;/pre&amp;gt;';
    if ( $exit ) exit;
    }
  else
    {
    echo '&amp;lt;span style="font: 14px bold 
                sans-serif; color: red"&amp;gt;***&amp;lt;/span&amp;gt;';
    }
  }
&lt;/code&gt;
&lt;/pre&gt;

&lt;p&gt;
	It allows me to quickly &amp; easily determing the content of a
	variable (including arrays) by adding &lt;code class="PHP"&gt;trap($foo)&lt;/code&gt; 
	to the script. Omitting the variable name prints red asterisks
	wherever the function is used.
&lt;/p&gt;

&lt;p&gt;
	Any other tips, tricks, or gotchas?
&lt;/p&gt;
</description>
			<link>http://centricle.com/archive/2005/08/php-debugging-tips</link>
		</item>
		<item>
			<title>FIELDSET/LEGEND in XHTML vs. HTML</title>
			<description>&lt;p&gt;
	Here's a subtle difference between &lt;abbr&gt;HTML&lt;/abbr&gt; &amp;
	&lt;abbr&gt;XHTML&lt;/abbr&gt; that's not mentioned on the &lt;a
	href="http://www.w3.org/TR/xhtml1/#diffs"&gt; &lt;abbr&gt;W3C&lt;/abbr&gt;'s
	list&lt;/a&gt;: LEGEND is a required child of the FIELDSET element in
	&lt;abbr&gt;HTML&lt;/abbr&gt; 4.01, but not &lt;abbr&gt;XHTML&lt;/abbr&gt; 1.0:
&lt;/p&gt;

&lt;p&gt;
	From the &lt;a
	href="http://www.w3.org/TR/html4/strict.dtd"&gt;&lt;abbr&gt;HTML&lt;/abbr&gt; 4.01
	Strict &lt;abbr title="Document type definition"&gt;DTD&lt;/abbr&gt;&lt;/a&gt;:
&lt;/p&gt;

&lt;blockquote cite="http://www.w3.org/TR/html4/strict.dtd"&gt;
	&lt;p&gt;&lt;code class="DTD"&gt;&amp;lt;!ELEMENT FIELDSET - - (#PCDATA,LEGEND,(%flow;)*) -- form control group --&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;
	And, the corresponding entry for 
	&lt;a href="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;&lt;abbr&gt;XHTML&lt;/abbr&gt;&lt;/a&gt;:
&lt;/p&gt;

&lt;blockquote cite="http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"&gt;
	&lt;p&gt;&lt;code class="DTD"&gt;&amp;lt;!ELEMENT fieldset (#PCDATA | legend | %block; | form | %inline; | %misc;)*&amp;gt;&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;
	I put together simple &lt;a
	href="http://centricle.com/lab/xhtml/fieldset-xhtml1.html"&gt;test&lt;/a&gt; &lt;a
	href="http://centricle.com/lab/html/fieldset-html4.html"&gt;cases&lt;/a&gt;, and sure enough, the
	validator fails &lt;abbr&gt;HTML&lt;/abbr&gt; version.
&lt;/p&gt;
</description>
			<link>http://centricle.com/archive/2005/06/fieldset+legend-xhtml-html</link>
		</item>
		<item>
			<title>blo.gs to be sold, user data to be transferred</title>
			<description>&lt;p&gt;
	It's normally considered rude to reprint the contents of an email
	without permission, but this one is obviously intended for broad
	distribution, and its content is displayed at &lt;a
	href="http://blo.gs/"&gt;http://blo.gs/&lt;/a&gt;. Because it could easily be
	overlooked by the intended recipients, I'm posting here as a public
	service announcement:
&lt;/p&gt;

&lt;blockquote cite="mailto:delete@blo.gs"&gt;
	&lt;p&gt;
		hello, blo.gs user!
	&lt;/p&gt;
	
	&lt;p&gt;
		i am in the final stages of completing a sale of blo.gs to a new
		owner, and expect to hand over the site, along with your user data,
		sometime on or after june 13, 2005.
	&lt;/p&gt;
	
	&lt;p&gt;
		so as spelled out in the blo.gs privacy policy, this is your
		opportunity to have your account deleted before this transfer
		happens. you can delete your account by going to
		http://blo.gs/quit.php, or by sending an email to delete@blo.gs.
	&lt;/p&gt;
	
	&lt;p&gt;
		i'm sorry i can't yet say who it is that will be acquiring blo.gs,
		but i can pass on the assurance that there will be no change in the
		privacy policy when they acquire the service and you will be given
		the opportunity to consent to any future change. they plan to
		continue providing the same features that exist now, and will be
		working on making blo.gs even better.
	&lt;/p&gt;
	
	&lt;p&gt;
		the new owners will be in touch shortly after they've taken over the
		service next month.
	&lt;/p&gt;
	
	&lt;p&gt;
		thanks for your support!
	&lt;/p&gt;
	
	&lt;p&gt;
		jim
	&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;
	Hopefully, the new owners have only honorable intentions, but
	without knowing anything about them, I'm not comfortable having my
	data transferred to parties unknown,
	so have removed myself from the system. I trust Jim to honor his
	policy and delete my information before handing over the keys.
&lt;/p&gt;</description>
			<link>http://centricle.com/archive/2005/05/blo.gs-data-to-be-sold</link>
		</item>
	</channel>
</rss>