<?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>tadhg.com &#187; Blog</title>
	<atom:link href="http://tadhg.com/wp/tag/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://tadhg.com/wp</link>
	<description>Wherein some things Tadhg are discussed</description>
	<lastBuildDate>Fri, 03 Sep 2010 06:52:47 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Perfectionism is Hard</title>
		<link>http://tadhg.com/wp/2010/08/30/perfectionism-is-hard/</link>
		<comments>http://tadhg.com/wp/2010/08/30/perfectionism-is-hard/#comments</comments>
		<pubDate>Tue, 31 Aug 2010 06:50:46 +0000</pubDate>
		<dc:creator>Tadhg</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://tadhg.com/wp/?p=3210</guid>
		<description><![CDATA[I haven’t been that happy with my blog posts recently. It’s not that I think all of them are terrible, or that the quality suddenly dropped off a cliff, but I feel as if there’s been a decline. It’s tough to measure this, of course, with no clear criteria. But that I feel this way [...]]]></description>
			<content:encoded><![CDATA[<p>I haven’t been that happy with my blog posts recently. It’s not that I think all of them are terrible, or that the quality suddenly dropped off a cliff, but I feel as if there’s been a decline. It’s tough to measure this, of course, with no clear criteria. But that I feel this way is indicative of some problem.</p>
<p>At the same time, I feel as if I haven’t been writing what I want to write, mainly because I’ve shied away from a lot of topics that I’ve wanted to write about.<br />
<span id="more-3210"></span><br />
The general pattern is that I think of something I want to write about, something I usually either feel strongly about, or want to work out my thoughts on, or both. Then I think it over for a little while and come up with some ideas on how I’ll approach it as a post. Then it comes time to write the post, and I resist writing about that topic. Usually because I feel that it will require too much time, or too much effort, or both, to do it justice. So then I try to write about something else instead, something less demanding.</p>
<p>The subsequent search for the less demanding thing often takes more time than writing the original post would have. Occasionally I end up writing about something else equally demanding, which is fine, but usually I find something brief and light instead.</p>
<p>There’s nothing wrong with brief and/or light posts. But there is something wrong with writing them because I’m avoiding writing about something else. Even more so when that something else is actually a topic I want to write about.</p>
<p>I want to write about it, but somehow this desire moves into the realm of theory, and instead of being a motivating force becomes a heavy weight, having undergone the deadening transformation from “want to write” to “should write” to “should already have written”.</p>
<p>That description skips a step, the critical one where the desire to write dissipates but the loyalty to the topic remains. I suspect that this step has much to do with placing high expectations on the finished product.</p>
<p>Originally I was going to title this post “Writing is Hard”, but while that may certainly be true, the current title is more germane. It’s not writing per se that I’m having trouble with, it’s writing in the shadow of my expectations. It’s grappling with the fact that some part of my mind has already calculated (using unknowable metrics) how “good” the post “should” be, and some other part of my mind then blanches at having to meet this standard.</p>
<p>This is perfectionism, hiding in plain sight, masquerading, as it often does, as a heartfelt and genuine concern for quality—not just quality in terms of what the output is like, but of course also the quality of my writing experience, for it feels that it would be terrible if I inadvertently got into the habit of not giving my all to topics I write about. That, it says, would be tragic. That would be a terrible waste, as I would then have not just shitty output but a shitty process as well, the worst of all worlds.</p>
<p>By some remarkable coincidence, the presence of this perfectionism has helped me to my current point, where I’m concerned about&#8230; shitty output and a shitty process.</p>
<p>Even after more than four years of regular public writing, a practice I took up in large part to try to get past the perfectionism that I felt was holding back my writing, I still appear to have a lot of difficulty trusting myself enough to just let go and write about whatever interests me. Perhaps the most insidious thing is that this perfectionism creeps in partly by way of my pride in the pieces that I regard highly. After all, if I’ve written them, it’s clear I can achieve a high standard, so less would be a failure.</p>
<p>One of the reasons I write this blog is for practice. Practice so that I can be a better writer. It’s definitely helped, but practice, mere activity, isn’t enough—to really improve, one needs “directed practice”, which I haven’t seen clearly defined anywhere but which I think I understand. It takes a certain focus, a focus that is not always easy to summon. In the time I’ve been blogging, I think I’ve done that for concentrated periods, but I (clearly) haven’t managed to make it properly habitual.</p>
<p>In terms that will sound awfully self-helpy, I think that almost any conscious concern with the quality of the product of the endeavor is counterproductive. At the same time, concern with the quality of the process is quite important. On top of that, though, this concern with the quality of the process cannot be allowed to silence the writing voice. The writing voice must be heard, and respected, but with a recognition that when it drifts away, or goes silent, the conscious mind will do its best to take over and will respect the intent of what that voice was trying to achieve.</p>
<p>If this sounds like vague and unverifiable crap to you, well, it sounds that way to me too, but with an additional maddening conviction that it’s extremely important. There is a balance that must be struck here, and describing it may be even harder than striking it. For me, I tilt so far to the side of inner editorial control that some of that will always be present even when I try to just “write free”, and so my worries about somehow disengaging too much are unrealistic to say the least. Furthermore, I need to keep in mind that even if ninety, or ninety-five, or even ninety-nine, percent of what I write here is crap, that will still result in a few good posts per year, which is infinitely better than none. This is not a new thought, but it is one that I need to remind myself of, and to explicitly write out.</p>
<p>It’s not as simple as just writing what I want to write about. But writing about the things that I’ve recently wanted to write about would be fine, far better than my current approach of letting the ideas die, their dead weight immediately landing on top of new ideas, gradually making creativity in general much more laborious. This is how perfectionism makes things hard—not just in an exacting and demanding and up-front way, associated with much editing and rewriting until things are just so, but also in subtly making creativity and self-expression far less appealing, far less fun.</p>
<p>Tags: <a href="http://tadhg.com/wp/tag/blog/" rel="tag">Blog</a>, <a href="http://tadhg.com/wp/tag/personal/" rel="tag">personal</a>, <a href="http://tadhg.com/wp/tag/writing/" rel="tag">writing</a></p><h4 class='related-posts-header'>Related Posts</h4><ul class="related-posts-list"><li class="related-post"><a href="http://tadhg.com/wp/2010/08/02/three-routines/">Three Routines</a> <span class="related-post-date timestamp">Mon 02 Aug 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/12/29/2009-goals-review/">2009 Goals Review</a> <span class="related-post-date timestamp">Tue 29 Dec 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/07/30/2009-goals-status/">2009 Goals Status</a> <span class="related-post-date timestamp">Thu 30 Jul 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/05/26/1000th-post/">1000th Post</a> <span class="related-post-date timestamp">Tue 26 May 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/01/01/2009-goals/">2009 Goals</a> <span class="related-post-date timestamp">Thu 01 Jan 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2007/12/11/some-medium-term-plans/">Some Medium-Term Plans</a> <span class="related-post-date timestamp">Tue 11 Dec 2007</span></li><li class="related-post"><a href="http://tadhg.com/wp/2007/08/05/musings-on-blogging/">Musings on Blogging</a> <span class="related-post-date timestamp">Sun 05 Aug 2007</span></li><li class="related-post"><a href="http://tadhg.com/wp/2007/08/01/august-2007-blogging-year-in-review/">August 2007: Blogging Year in Review</a> <span class="related-post-date timestamp">Wed 01 Aug 2007</span></li><li class="related-post"><a href="http://tadhg.com/wp/2007/05/01/thematic-consideration/">Thematic Consideration</a> <span class="related-post-date timestamp">Tue 01 May 2007</span></li><li class="related-post"><a href="http://tadhg.com/wp/2007/03/02/februarymarch-blogging/">February/March Blogging</a> <span class="related-post-date timestamp">Fri 02 Mar 2007</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tadhg.com/wp/2010/08/30/perfectionism-is-hard/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Three Routines</title>
		<link>http://tadhg.com/wp/2010/08/02/three-routines/</link>
		<comments>http://tadhg.com/wp/2010/08/02/three-routines/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 17:22:10 +0000</pubDate>
		<dc:creator>Tadhg</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[CrossFit]]></category>
		<category><![CDATA[exercise]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[psychology]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://tadhg.com/wp/?p=3140</guid>
		<description><![CDATA[I don’t tend to think of myself as a particularly disciplined or organized person, a view often at odds with how others perceive me, but I will admit to liking to organize and order things in specific ways. This may be related to my left-handedness, and/or to my attraction to precision (which attraction falls short [...]]]></description>
			<content:encoded><![CDATA[<p>I don’t tend to think of myself as a particularly disciplined or organized person, a view often at odds with how others perceive me, but I will admit to liking to organize and order things in specific ways. This <a href="http://www.newscientist.com/article/dn15112-lefthanded-people-are-more-inhibited.html" title="Left-handed people are more inhibited" >may be related to my left-handedness</a>, and/or to my attraction to precision (which attraction falls short of achieving precision, although I hope that in language I occasionally come close).<br />
<span id="more-3140"></span><br />
I still struggle, as do most people, with trying to focus on the right things, to not become wrapped up in getting perfectly right things that just don’t matter. Without getting into what matters and what doesn’t, it seems to me that the last twelve years of my life have involved a significant amount of progress in this struggle, and that I’ve learned to route some of what might loosely be termed “<a href="http://en.wikipedia.org/wiki/Obsessive–compulsive_disorder" title="Obsessive–compulsive disorder" >OCD</a>” (or <a href="http://en.wikipedia.org/wiki/Obsessive–compulsive_personality_disorder" title="Obsessive–compulsive personality disorder" >OCPD</a>, although in truth I don’t have either of those disorders) into fairly productive channels.</p>
<p>Before the age of twenty-four, I was never able to stick to a routine that wasn’t forced upon me. I’d tried and failed many times to follow daily routines, especially with exercise. Doing something regularly every day, or even a few times a week, seemed impossible.</p>
<p>That’s changed. I continue to struggle with being productive—two novels in various stages of incompletion, and a considerable pile of other unfinished projects, make this abundantly clear. But aside from working (which, no matter how much I enjoy it, is a routine pushed upon me by outside forces), I now have three things I do almost daily that are quite important to me:</p>
<ul>
<li>Morning pages. It’s more than twelve years, now, that I’ve been doing these every day. They’re simply part of daily life, and will continue to be so.
</li>
<li>This blog. I’ve been blogging either daily or five times per week for just over four years. It’s not part of daily life in the same way my pages are. Writing my blog posts still feels like an imposition some of the time, and it’s often a struggle. I sometimes feel it as a real strain, the requirement of coming up with five things to write about every week, and experience my two days off as almost like vacations due to the relief of not having to deal with that. I occasionally have to remind myself that I have opportunity to express myself in any way I choose, on any topic, in a public way unavailable to anyone who lived in the pre-Internet age, and that this makes me incredibly lucky. Of the three near-daily things, this is the one that feels most fragile, most susceptible to my (likely mistakenly) deciding at some point that I don’t need to keep it up.
</li>
<li>CrossFit. I’ve been doing it for more than a year, and it hit a critical level quite some time ago, so I’m quite sure I’ll keep going with it. This is pretty clear from the fact that last week I did a ton of travelling, lost a lot of sleep, and was generally all over the place, but still managed to do CrossFit workouts five days out of the seven (five is my target every week).
</li>
</ul>
<p>While I don’t think I ever really exhibited a lot of compulsive behaviors, those I did have largely been refocused into this triumvirate. I still perceive the setup I’ve created for the latter two: I’m consciously pushing the idea that sticking to those routines is an achievement, and that there’s a kind of invisible checkbox for each of them in my mind, with a psychological payoff every time the tick mark is entered. The latter two have a public aspect, also, in that posts are public and that I log (and broadcast) my workouts, and this public aspect is a further motivator.</p>
<p>It’s a powerful trio of habits. My morning pages are (obviously) introspective outlets, a kind of dialogue with myself that has a dedicated place in my life every day. My blog posts are public self-expression, writing that has some degree of polish and with which I (hopefully) hone my ability to make myself understood. I’m very used to the rhythm of it, Sunday/Monday/Tuesday/break/Thursday/Friday/break, and while I sometimes worry about complacency and conservatism in my posts, I’m nevertheless convinced that it’s incomparably better than not doing it. CrossFit is the first regular exercise I’ve managed to stick to in my life, and has done me tremendous good. Its rhythm isn’t as set, as my target is to fit in five workout days per week any way I can, and by its nature it’s more susceptible to disruption (by wisdom tooth extraction, for example); I’m more willing to accede to lapses in the routine.</p>
<p>Introspection, self-expression, and intense exercise. Not a bad three things to have running smoothly. That’s not self-satisfaction speaking—in many ways those three things barely constitute a viable starting point for what my adult life should be—but rather recognition that I’ve managed to work out some of the things that seemed insurmountable in my early twenties.</p>
<p>Tags: <a href="http://tadhg.com/wp/tag/blog/" rel="tag">Blog</a>, <a href="http://tadhg.com/wp/tag/crossfit/" rel="tag">CrossFit</a>, <a href="http://tadhg.com/wp/tag/exercise/" rel="tag">exercise</a>, <a href="http://tadhg.com/wp/tag/personal/" rel="tag">personal</a>, <a href="http://tadhg.com/wp/tag/psychology/" rel="tag">psychology</a>, <a href="http://tadhg.com/wp/tag/writing/" rel="tag">writing</a></p><h4 class='related-posts-header'>Related Posts</h4><ul class="related-posts-list"><li class="related-post"><a href="http://tadhg.com/wp/2010/05/16/sabbatical-close/">sabbatical.close()</a> <span class="related-post-date timestamp">Sun 16 May 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/03/30/2010-goals-first-quarter-review/">2010 Goals: First Quarter Review</a> <span class="related-post-date timestamp">Tue 30 Mar 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/01/01/2010-goals/">2010 Goals</a> <span class="related-post-date timestamp">Fri 01 Jan 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/08/30/perfectionism-is-hard/">Perfectionism is Hard</a> <span class="related-post-date timestamp">Mon 30 Aug 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/08/24/sf-heat/">SF Heat</a> <span class="related-post-date timestamp">Tue 24 Aug 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/08/15/ending-a-long-span-of-no-soccer/">Ending a Long Span of No Soccer</a> <span class="related-post-date timestamp">Sun 15 Aug 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/07/27/jet-lag-and-exercise/">Jet Lag and Exercise</a> <span class="related-post-date timestamp">Tue 27 Jul 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/07/18/tough-mudding/">Tough Mudding</a> <span class="related-post-date timestamp">Sun 18 Jul 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/06/01/a-year-of-crossfit/">A Year of CrossFit</a> <span class="related-post-date timestamp">Tue 01 Jun 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/03/29/crossfit-games-2010-norcal-sectionals-gripes/">CrossFit Games 2010 NorCal Sectionals: Gripes</a> <span class="related-post-date timestamp">Mon 29 Mar 2010</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tadhg.com/wp/2010/08/02/three-routines/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>WordPress 2.9 Upgrade</title>
		<link>http://tadhg.com/wp/2010/01/10/wordpress-2-9-upgrade/</link>
		<comments>http://tadhg.com/wp/2010/01/10/wordpress-2-9-upgrade/#comments</comments>
		<pubDate>Sun, 10 Jan 2010 23:56:30 +0000</pubDate>
		<dc:creator>Tadhg</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[web-development]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://tadhg.com/wp/?p=2579</guid>
		<description><![CDATA[I upgraded this blog to WordPress 2.9 today, and it appeared to go entirely smoothly. Please let me know if you notice any breakage.
Tags: Blog, coding, PHP, tech, web-development, WordPressRelated PostsWordPress 2.8 Upgrade Sun 14 Jun 2009WP Plugins: Recent Commentary and Show Tags in RSS Mon 23 Mar 2009Some RSS Changes Thu 19 Mar 2009New [...]]]></description>
			<content:encoded><![CDATA[<p>I upgraded this blog to <a class="reference external" href="http://codex.wordpress.org/Version_2.9">WordPress 2.9</a> today, and it appeared to go entirely smoothly. Please let me know if you notice any breakage.</p>
<p>Tags: <a href="http://tadhg.com/wp/tag/blog/" rel="tag">Blog</a>, <a href="http://tadhg.com/wp/tag/coding/" rel="tag">coding</a>, <a href="http://tadhg.com/wp/tag/php/" rel="tag">PHP</a>, <a href="http://tadhg.com/wp/tag/tech/" rel="tag">tech</a>, <a href="http://tadhg.com/wp/tag/web-development/" rel="tag">web-development</a>, <a href="http://tadhg.com/wp/tag/wordpress/" rel="tag">WordPress</a></p><h4 class='related-posts-header'>Related Posts</h4><ul class="related-posts-list"><li class="related-post"><a href="http://tadhg.com/wp/2009/06/14/wordpress-2-8-upgrade/">WordPress 2.8 Upgrade</a> <span class="related-post-date timestamp">Sun 14 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/03/23/wp-plugins-recent-commentary-and-show-tags-in-rss/">WP Plugins: Recent Commentary and Show Tags in RSS</a> <span class="related-post-date timestamp">Mon 23 Mar 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/03/19/some-rss-changes/">Some RSS Changes</a> <span class="related-post-date timestamp">Thu 19 Mar 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/02/23/new-blog-functionality-recent-commentary/">New Blog Functionality: Recent Commentary</a> <span class="related-post-date timestamp">Mon 23 Feb 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/02/13/my-wordpress-development-setup/">My WordPress Development Setup</a> <span class="related-post-date timestamp">Fri 13 Feb 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/07/28/better-rest-wordpress-pipeline/">Better reST–WordPress Pipeline</a> <span class="related-post-date timestamp">Tue 28 Jul 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/07/14/blog-workflow-with-restructuredtext/">Blog Workflow with reStructuredText</a> <span class="related-post-date timestamp">Tue 14 Jul 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/02/10/related-posts-plugin-and-sql-trickery/">Related Posts Plugin and SQL Trickery</a> <span class="related-post-date timestamp">Tue 10 Feb 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/05/16/sabbatical-close/">sabbatical.close()</a> <span class="related-post-date timestamp">Sun 16 May 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/11/10/html-past-and-future/">HTML Past and Future</a> <span class="related-post-date timestamp">Tue 10 Nov 2009</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tadhg.com/wp/2010/01/10/wordpress-2-9-upgrade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2009 Goals Review</title>
		<link>http://tadhg.com/wp/2009/12/29/2009-goals-review/</link>
		<comments>http://tadhg.com/wp/2009/12/29/2009-goals-review/#comments</comments>
		<pubDate>Wed, 30 Dec 2009 01:43:17 +0000</pubDate>
		<dc:creator>Tadhg</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[goals]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[reading]]></category>
		<category><![CDATA[reStructuredText]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[version-control]]></category>
		<category><![CDATA[web-development]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://tadhg.com/wp/?p=2548</guid>
		<description><![CDATA[I had eight goals for 2009, and all of them that I’m going to get done I’ve already completed. Time to review.

Here are the ones I accomplished:

Fix my blog. I resurrected the full blog in January, finishing on 27 Jan 2009. I’m rather happy to have gotten this one out of the way.

Fix my Subversion [...]]]></description>
			<content:encoded><![CDATA[<p>I had <a href="http://tadhg.com/wp/2009/01/01/2009-goals/" title="2009 Goals" >eight goals</a> for 2009, and all of them that I’m going to get done I’ve already completed. Time to review.<br />
<span id="more-2548"></span><br />
Here are the ones I accomplished:</p>
<ul>
<li><strong>Fix my blog</strong>. I resurrected the full blog in January, <a href="http://tadhg.com/wp/2009/01/27/blog-move-steps-part-three-dns-change/" title="Blog Move Steps, Part Three: DNS Change" >finishing on 27 Jan 2009</a>. I’m rather happy to have gotten this one out of the way.
</li>
<li><strong>Fix my Subversion repository</strong>. I’m even more glad I did this, as version control is just too important not to have. It <a href="http://tadhg.com/wp/2009/05/04/version-control-recovery/" title="Version Control Recovery" >took me until 04 May</a> to do this one.
</li>
<li><strong>Finish at least three software projects</strong>. More than three, even if none of them were sfmagic.org. The <a class="reference external" href="http://tadhg.com/wp/2009/07/28/better-rest-wordpress-pipeline/">reST–WordPress pipeline</a>, the various <a class="reference external" href="http://tadhg.com/wp/wordpress-plugins/">WordPress Plugins</a>, and the <a class="reference external" href="http://tadhg.com/wp/2009/09/24/rtf_word_restructuredtext-toolchain/">RTF/Word–reStructuredText Toolchain</a> all qualify.
</li>
</ul>
<p>I <a href="http://tadhg.com/wp/2009/02/27/giving-up-on-a-goal-for-2009/" title="Giving Up On A Goal For 2009" >abandoned</a> the “write a summary/review/synopsis of every book I read” goal fairly early into the year, on 27 Feb. I don’t think I’m going to try that one again, as it just seems that the practice simply isn’t right for me.</p>
<p>That leaves four goals I didn’t accomplish:</p>
<ul>
<li><strong>Write at least one draft of the fantasy novel</strong>. This, for me, is the big one. I didn’t get anywhere close, and in truth I feel like I never really gave it a good effort. I’ll make it a goal again this year.
</li>
<li><strong>Read 80 books</strong>. It was looking great until the middle of the year, when my reading inexplicably dropped off. I’ll be at 56 or 57 by the end of December, which is off by quite a few. I’m really not sure what went wrong with this one, and will probably try it again next year also.
</li>
<li><strong>Finish</strong> <a class="reference external" href="http://tadhg.com/wp/fiction/#pafib"><strong>pafib</strong></a>. Well, I got one, so just five more of those to go&#8230; I might not make that one a goal for next year, and instead I’ll just leave that series hanging around to work on whenever the right mood takes me.
</li>
<li><strong>Finish</strong> <a class="reference external" href="http://tadhg.com/afbh/.._reST–WordPresspipeline:"><strong>The Annotated Fantasy Bedtime Hour</strong></a>. No progress, but I still want to get this one done, and so I’ll probably leave it on there next year as well.
</li>
</ul>
<p>Looking at it as “three out of eight” probably isn’t a great plan. Instead, I’m going to consider it a great thing that I fixed my blog, fixed my Subversion repository (both things quite central to my activities), and wrote quite a few bits of software that I’m happy with. The failure that stings is the fantasy novel, and with that, I must fall back upon the old chestnut of trying again.</p>
<p>Tags: <a href="http://tadhg.com/wp/tag/blog/" rel="tag">Blog</a>, <a href="http://tadhg.com/wp/tag/goals/" rel="tag">goals</a>, <a href="http://tadhg.com/wp/tag/personal/" rel="tag">personal</a>, <a href="http://tadhg.com/wp/tag/reading/" rel="tag">reading</a>, <a href="http://tadhg.com/wp/tag/restructuredtext/" rel="tag">reStructuredText</a>, <a href="http://tadhg.com/wp/tag/software/" rel="tag">software</a>, <a href="http://tadhg.com/wp/tag/version-control/" rel="tag">version-control</a>, <a href="http://tadhg.com/wp/tag/web-development/" rel="tag">web-development</a>, <a href="http://tadhg.com/wp/tag/writing/" rel="tag">writing</a></p><h4 class='related-posts-header'>Related Posts</h4><ul class="related-posts-list"><li class="related-post"><a href="http://tadhg.com/wp/2009/07/30/2009-goals-status/">2009 Goals Status</a> <span class="related-post-date timestamp">Thu 30 Jul 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/01/01/2009-goals/">2009 Goals</a> <span class="related-post-date timestamp">Thu 01 Jan 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/05/16/sabbatical-close/">sabbatical.close()</a> <span class="related-post-date timestamp">Sun 16 May 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/01/01/2010-goals/">2010 Goals</a> <span class="related-post-date timestamp">Fri 01 Jan 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/03/30/2010-goals-first-quarter-review/">2010 Goals: First Quarter Review</a> <span class="related-post-date timestamp">Tue 30 Mar 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/09/24/rtf_word_restructuredtext-toolchain/">RTF/Word–reStructuredText Toolchain</a> <span class="related-post-date timestamp">Thu 24 Sep 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/07/28/better-rest-wordpress-pipeline/">Better reST–WordPress Pipeline</a> <span class="related-post-date timestamp">Tue 28 Jul 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/07/14/blog-workflow-with-restructuredtext/">Blog Workflow with reStructuredText</a> <span class="related-post-date timestamp">Tue 14 Jul 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/07/12/moving-from-word-processors-to-restructuredtext/">Moving From Word Processors to reStructuredText</a> <span class="related-post-date timestamp">Sun 12 Jul 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2007/12/11/some-medium-term-plans/">Some Medium-Term Plans</a> <span class="related-post-date timestamp">Tue 11 Dec 2007</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tadhg.com/wp/2009/12/29/2009-goals-review/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Title Capitalization</title>
		<link>http://tadhg.com/wp/2009/07/31/title-capitalization/</link>
		<comments>http://tadhg.com/wp/2009/07/31/title-capitalization/#comments</comments>
		<pubDate>Sat, 01 Aug 2009 06:15:20 +0000</pubDate>
		<dc:creator>Tadhg</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[books]]></category>
		<category><![CDATA[grammar]]></category>
		<category><![CDATA[language]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://tadhg.com/wp/?p=2010</guid>
		<description><![CDATA[I capitalize the title of my blog posts (evidently), which means that five days a week I get to consider precisley how to do that. Often, as in today’s case, it’s simple and doesn’t require any thought. But sometimes it does, and—worse—sometimes it does but I don’t notice.

I have a reasonable intuitive grasp of when [...]]]></description>
			<content:encoded><![CDATA[<p>I capitalize the title of my blog posts (evidently), which means that five days a week I get to consider precisley how to do that. Often, as in today’s case, it’s simple and doesn’t require any thought. But sometimes it does, and—worse—sometimes it does but I don’t notice.<br />
<span id="more-2010"></span><br />
I have a reasonable intuitive grasp of when initial capitals should be applied and when they shouldn’t, but not a firm understanding of the rules governing this application. Naturally, this being a matter of both English grammar and writing style, the rules aren’t perfectly clear.</p>
<p>An example of one I just didn’t notice: <a class="reference external" href="http://tadhg.com/wp/2009/07/12/moving-from-word-processors-to-restructuredtext/">“Moving From Word Processors to reStructuredText”</a>. Generally the rule is to not capitalize prepositions (except when at the start of the title). Since “from” is a preposition, it shouldn’t be capitalized in that title. I’m not sure why it doesn’t look wrong to me, as “to” would if it were capitalized, but unless there’s an exception I’m unaware of, it’s wrong.</p>
<p>This means that I need to actually think about the capitalization of titles, rather than relying on my intuition to guide me. I need to remember that a) prepositions shouldn’t be capitalized, and b) “from” is a preposition.</p>
<p>The latter requires more thought than it should. The formal rules of English grammar, unlike the rules of English spelling, have never entirely worked their way into the depths of my brain.</p>
<p>Naturally, there are also plenty of edge cases, such as: <a class="reference external" href="http://tadhg.com/wp/2009/07/27/crows-are-smart-and-hold-grudges/">“Crows Are Smart—And Hold Grudges”</a>. I did think about this one, and decided to leave it as “And” despite the fact that it’s a conjunction, on the basis that its role in starting a new phrase in the middle of the title gave it special status. Is this correct? I actually don’t know.</p>
<p>While I don’t have a copy of <cite>The Chicago Manual of Style</cite>, apparently the best resource for this particular issue, I do have a copy of <a class="reference external" href="http://en.wikipedia.org/wiki/Garner%27s_Modern_American_Usage"><cite>Garner’s Modern American Usage</cite></a> (2003 edition), which I bought more or less as soon as I read <a class="reference external" href="http://instruct.westvalley.edu/lafave/DFW_present_tense.html">“Tense Present”</a> (I read the longer version in <cite>Consider the Lobster</cite>). Garner doesn’t explicitly address the rules for title capitalization when you’re writing your own titles, but does cover rules for “Up-Style Headings”, and I’ve decided that there’s no reason why those rules shouldn’t also work for the titles of my blog posts. His pointers on what to capitalize:</p>
<ul>
<li>First and last words.</li>
<li>“That”.</li>
<li>“With” if it’s close to or used with “Without”</li>
<li>Everything else, except:
<ul>
<li>articles;</li>
<li>conjunctions;</li>
<li>prepositions shorter than five letters (usually); and</li>
<li>‘to’ in infinitive form.</li>
</ul>
</li>
</ul>
<p>(Paraphrased from <span class="block-cite">p128–130. Brian Garner. <a href="http://en.wikipedia.org/wiki/Garner%27s_Modern_American_Usage"><em>Garner’s Modern American Usage</em></a>. New York: Oxford University Press, 2003. </span>)</p>
<p>Note that even here there’s a nod to how tricky it can be, with the “usually” rider in reference to the definition of short as five letters or less.</p>
<p>So, those are the rules I intend to follow from here on out. They still don’t tell me whether I was right or wrong about the title of <a class="reference external" href="http://tadhg.com/wp/2009/07/27/crows-are-smart-and-hold-grudges/">“Crows Are Smart—And Hold Grudges”</a>.</p>
<p>(Shamefully, this is the first time I’ve opened <a class="reference external" href="http://en.wikipedia.org/wiki/Garner%27s_Modern_American_Usage"><cite>Garner’s Modern American Usage</cite></a> in years. It’s excellent, and since looking over capitalization I’ve found quite a few other tidbits, and now intend to both consult and peruse it regularly.)</p>
<p>Tags: <a href="http://tadhg.com/wp/tag/blog/" rel="tag">Blog</a>, <a href="http://tadhg.com/wp/tag/books/" rel="tag">books</a>, <a href="http://tadhg.com/wp/tag/grammar/" rel="tag">grammar</a>, <a href="http://tadhg.com/wp/tag/language/" rel="tag">language</a>, <a href="http://tadhg.com/wp/tag/writing/" rel="tag">writing</a></p><h4 class='related-posts-header'>Related Posts</h4><ul class="related-posts-list"><li class="related-post"><a href="http://tadhg.com/wp/2010/08/30/perfectionism-is-hard/">Perfectionism is Hard</a> <span class="related-post-date timestamp">Mon 30 Aug 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/08/02/three-routines/">Three Routines</a> <span class="related-post-date timestamp">Mon 02 Aug 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/03/22/a-triumph-of-design/">&#64;: A Triumph of Design</a> <span class="related-post-date timestamp">Mon 22 Mar 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/12/29/2009-goals-review/">2009 Goals Review</a> <span class="related-post-date timestamp">Tue 29 Dec 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/07/30/2009-goals-status/">2009 Goals Status</a> <span class="related-post-date timestamp">Thu 30 Jul 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/05/26/1000th-post/">1000th Post</a> <span class="related-post-date timestamp">Tue 26 May 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/05/24/fiction-organization/">Fiction Organization</a> <span class="related-post-date timestamp">Sun 24 May 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/03/13/some-thoughts-on-racism-and-science-fictionfantasy/">Some Thoughts on Racism and Science Fiction/Fantasy</a> <span class="related-post-date timestamp">Fri 13 Mar 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/01/18/unforced-error-by-the-onion-on-federer/">Unforced Error by The Onion on Federer</a> <span class="related-post-date timestamp">Sun 18 Jan 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/01/01/2009-goals/">2009 Goals</a> <span class="related-post-date timestamp">Thu 01 Jan 2009</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tadhg.com/wp/2009/07/31/title-capitalization/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>2009 Goals Status</title>
		<link>http://tadhg.com/wp/2009/07/30/2009-goals-status/</link>
		<comments>http://tadhg.com/wp/2009/07/30/2009-goals-status/#comments</comments>
		<pubDate>Fri, 31 Jul 2009 06:50:46 +0000</pubDate>
		<dc:creator>Tadhg</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[goals]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[reading]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[web-development]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://tadhg.com/wp/?p=1997</guid>
		<description><![CDATA[At the start of the year I laid out some goals for 2009, and it&#8217;s time to review how they&#8217;re going.

Abandoned

Write a summary/review/synopsis of every book I read: I&#8217;ve tried this one before, and failed, and it remains too hard for me.

Accomplished

Fix my blog: Did this early.
Fix my Subversion repository: Done, and I&#8217;ve been happily [...]]]></description>
			<content:encoded><![CDATA[<p>At the start of the year I <a href="http://tadhg.com/wp/2009/01/01/2009-goals/" title="2009 Goals" >laid out some goals for 2009</a>, and it&#8217;s time to review how they&#8217;re going.<br />
<span id="more-1997"></span><br />
<em>Abandoned</em></p>
<ul>
<li><strong>Write a summary/review/synopsis of every book I read</strong>: I&#8217;ve tried this one before, and failed, and it <a href="http://tadhg.com/wp/2009/02/27/giving-up-on-a-goal-for-2009/" title="Giving Up On a Goal for 2009" >remains too hard for me</a>.</li>
</ul>
<p><em>Accomplished</em></p>
<ul>
<li><strong>Fix my blog</strong>: <a href="http://tadhg.com/wp/2009/01/27/blog-move-steps-part-three-dns-change/" title="Blog Move Steps Part Three: DNS Change" >Did this early</a>.</li>
<li><strong>Fix my Subversion repository</strong>: <a href="http://tadhg.com/wp/2009/05/04/version-control-recovery/" title="Version Control Recovery" >Done</a>, and I&#8217;ve been happily using it since.</li>
</ul>
<p><em>Some Progress</em></p>
<ul>
<li><strong>Read 80 books</strong>: Hmm. Might be tough to make it. I&#8217;ve read <a class="reference external" href="http://books.tadhg.user.dev.freebaseapps.com/">35 books so far this year</a>, so would have to read nine per month for the rest of the year. Not impossible, but since March I just haven&#8217;t been reading that much, not sure why.</li>
<li><strong>Finish a writing series of mine called</strong> <a class="reference external" href="http://tadhg.com/wp/fiction/#pafib"><strong>pafib</strong></a>: I&#8217;ve written <a href="http://tadhg.com/wp/2009/05/22/pafib-6/" title="pafib #6" >one part of this, the sixth</a>, and if I get inspired or determined (or both) there&#8217;s some hope of finishing it.</li>
<li><strong>Finish at least three software projects</strong>: I&#8217;ve been doing a bunch of them, and the reStructuredText work certainly counts, as do the <a class="reference external" href="http://tadhg.com/wp/wordpress-plugins/">WordPress plugins</a> I&#8217;ve written. I have not, however, made progress with sfmagic.org, which remains dead.</li>
</ul>
<p><em>No Progress</em></p>
<ul>
<li><strong>Finish</strong> <a class="reference external" href="http://tadhg.com/afbh/"><strong>The Annotated Fantasy Bedtime Hour</strong></a>: Haven&#8217;t touched it. Again, some inspiration and determination are required.</li>
<li><strong>Write at least one draft of the fantasy novel</strong>: No progress. This is where the determination and inspiration, should they show up, should be directed.</li>
</ul>
<p>Overall, not too bad. I need to do more writing, particularly longer projects and especially fiction. At least I&#8217;ve been removing technical barriers to that.</p>
<p>Tags: <a href="http://tadhg.com/wp/tag/blog/" rel="tag">Blog</a>, <a href="http://tadhg.com/wp/tag/goals/" rel="tag">goals</a>, <a href="http://tadhg.com/wp/tag/personal/" rel="tag">personal</a>, <a href="http://tadhg.com/wp/tag/reading/" rel="tag">reading</a>, <a href="http://tadhg.com/wp/tag/software/" rel="tag">software</a>, <a href="http://tadhg.com/wp/tag/web-development/" rel="tag">web-development</a>, <a href="http://tadhg.com/wp/tag/writing/" rel="tag">writing</a></p><h4 class='related-posts-header'>Related Posts</h4><ul class="related-posts-list"><li class="related-post"><a href="http://tadhg.com/wp/2009/12/29/2009-goals-review/">2009 Goals Review</a> <span class="related-post-date timestamp">Tue 29 Dec 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/01/01/2009-goals/">2009 Goals</a> <span class="related-post-date timestamp">Thu 01 Jan 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/01/01/2010-goals/">2010 Goals</a> <span class="related-post-date timestamp">Fri 01 Jan 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/05/16/sabbatical-close/">sabbatical.close()</a> <span class="related-post-date timestamp">Sun 16 May 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/03/30/2010-goals-first-quarter-review/">2010 Goals: First Quarter Review</a> <span class="related-post-date timestamp">Tue 30 Mar 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2007/12/11/some-medium-term-plans/">Some Medium-Term Plans</a> <span class="related-post-date timestamp">Tue 11 Dec 2007</span></li><li class="related-post"><a href="http://tadhg.com/wp/2007/04/08/semantic-editor-application-search/">Semantic Editor Application Search</a> <span class="related-post-date timestamp">Sun 08 Apr 2007</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/08/30/perfectionism-is-hard/">Perfectionism is Hard</a> <span class="related-post-date timestamp">Mon 30 Aug 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/08/02/three-routines/">Three Routines</a> <span class="related-post-date timestamp">Mon 02 Aug 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/09/24/rtf_word_restructuredtext-toolchain/">RTF/Word–reStructuredText Toolchain</a> <span class="related-post-date timestamp">Thu 24 Sep 2009</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tadhg.com/wp/2009/07/30/2009-goals-status/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Python Syntax Highlighting for star-light</title>
		<link>http://tadhg.com/wp/2009/06/26/python-syntax-highlighting-for-star-light/</link>
		<comments>http://tadhg.com/wp/2009/06/26/python-syntax-highlighting-for-star-light/#comments</comments>
		<pubDate>Sat, 27 Jun 2009 07:37:13 +0000</pubDate>
		<dc:creator>Tadhg</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[web-development]]></category>

		<guid isPermaLink="false">http://tadhg.com/wp/?p=1837</guid>
		<description><![CDATA[A couple of years ago I plugged star-light, a syntax highlighter that&#8217;s entirely client-side. I&#8217;ve been happy with it, but wanted a Python mode for it. I was going to post some other code this evening, and then decided that I should just make the Python mode myself.
This led to fun with regular expressions.

I probably [...]]]></description>
			<content:encoded><![CDATA[<p>A couple of years ago <a href="http://tadhg.com/wp/2007/05/29/star-light-syntax-highlighter/">I plugged star-light</a>, a syntax highlighter that&#8217;s entirely client-side. I&#8217;ve been happy with it, but wanted a Python mode for it. I was going to post some other code this evening, and then decided that I should just make the Python mode myself.</p>
<p>This led to fun with regular expressions.<br />
<span id="more-1837"></span><br />
I probably shouldn&#8217;t call it &#8220;fun&#8221;, though. In any case, I eventually got something that works relatively well:<br />
</p>
<pre class="python"><code>
@some_decorator()
def hello_world(arg, **kw):
    import pdb;
    if 1==1:
        print "Hello World"
        some_func('foo')
        some_other_func(list("string"))
    else:
        """
            No, we should never get to this condition.
            "grocer's quotes"
            Padding text.
        """
        pass
    return dict(message="Hello World printed")
</code></pre>
<p>I spent a lot longer on it than I would have liked, primarily due to the regular expression for multi-line comments:</p>
<pre class="js"><code>
var PYBLOCK_COMMENT1 = new RegExp(
    '"{3}'                  +   // opening triplet
    '('                     +   // open paren for main optional expression
    '([^"]*)'               +   // match not-" 0-inf times
    '("{1,2}[^"]+"{1,2})*'  +   // match "x1 followed by one or more not-"
                                // followed by "x1, all 0-inf times
    '([^"]*)'               +   // match not-" 0-inf times
    ')*'                    +   // close paren, make main expression optional
    '"{3}'                  +   // closing triplet
'');
</code></pre>
<p>If by some chance you&#8217;re using star-light, it&#8217;s relatively easy to add this mode. First, add this line to <code>bindings.xml</code></p>
<pre class="xml"><code>
&lt;binding id="star-python.htc|star-light.htc" extends="#behavior"/&gt;
</code></pre>
<p>Then add this line to <code>star-light.css</code>:</p>
<pre class="css"><code>
pre.python {
	behavior: url(star-python.htc) url(star-light.htc);
	-moz-binding: url(bindings.xml#star-python.htc|star-light.htc);
}
</code></pre>
</pre>
<p>Finally, get this code and save it alongside the other modes as <code>star-python.htc</code>:</p>
<pre class="htc"><code>
&lt;?xml version="1.0" encoding="ISO-8859-1"?&gt;
&lt;!--
    star-light - version 1.0.2 (2005/06/06)
    Copyright 2005, Dean Edwards
    Python mode Copyright 2009, Tadhg O'Higgins
	License: http://creativecommons.org/licenses/LGPL/2.1/
--&gt;
&lt;public:component xmlns:public="urn:HTMLComponent" lightweight="true"&gt;
&lt;public:attach event="ondocumentready" handler="init"/&gt;
&lt;script type="text/javascript"&gt;
//&lt;![CDATA[

var PUNCTUATION = new RegExp("!=|[\-+*|\~^/%=&lt;&gt;\\]\[{}\\(\),.:]")

var BUILTIN =   "__import__|abs|apply|basestring|bool|buffer|" +
                "callable|chr|classmethod|cmp|coerce|compile|complex|" +
                "delattr|dict|dir|divmod|" +
                "enumerate|eval|execfile|file|filter|float|" +
                "getattr|globals|hasattr|hash|help|hex|" +
                "id|input|int|intern|isinstance|issubclass|iter|" +
                "len|list|locals|long|" +
                "map|max|min|" +
                "object|oct|open|ord|pow|property|" +
                "range|raw_input|reduce|reload|repr|round|" +
                "setattr|slice|staticmethod|sum|super|str|tuple|type|" +
                "unichr|unicode|vars|" +
                "xrange|" +
                "zip";

var RESERVED =  "ArithmeticError|AssertionError|AttributeError|" +
                "DeprecationWarning|" +
                "EOFError|Ellipsis|EnvironmentError|Exception|False|" +
                "FloatingPointError|FutureWarning|" +
                "IOError|ImportError|IndentationError|IndexError|" +
                "KeyError|KeyboardInterrupt|LookupError|" +
                "MemoryError|NameError|None|NotImplemented|" +
                "NotImplementedError|" +
                "OSError|OverflowError|OverflowWarning|" +
                "PendingDeprecationWarning|" +
                "ReferenceError|RuntimeError|RuntimeWarning|" +
                "StandardError|StopIteration|SyntaxError|SyntaxWarning|" +
                "SystemError|SystemExit|TabError|True|TypeError|" +
                "UnboundLocalError|UnicodeDecodeError|UnicodeEncodeError|" +
                "UnicodeError|UnicodeTranslateError|UserWarning|ValueError|" +
                "Warning|WindowsError|" +
                "ZeroDivisionError|" +
                "and|assert|break|" +
                "class|continue|def|del|" +
                "elif|else|except|exec|finally|for|from|" +
                "global|" +
                "if|import|in|is|" +
                "lambda|" +
                "not|" +
                "or|pass|print|" +
                "raise|return|" +
                "try|" +
                "while|" +
                "yield";

var PYLINE_COMMENT = /#[^\n]*\n/

var PYBLOCK_COMMENT1 = new RegExp(
    '"{3}'                  +   // opening triplet
    '('                     +   // open paren for main optional expression
    '([^"]*)'               +   // match not-" 0-inf times
    '("{1,2}[^"]+"{1,2})*'  +   // match "x1 followed by one or more not-"
                                // followed by "x1, all 0-inf times
    '([^"]*)'               +   // match not-" 0-inf times
    ')*'                    +   // close paren, make main expression optional
    '"{3}'                  +   // closing triplet
'');

var PYBLOCK_COMMENT2 = new RegExp(
    "'{3}"                  +   // opening triplet
    "("                     +   // open paren for main optional expression
    "([^']*)"               +   // match not-' 0-inf times
    "('{1,2}[^']+'{1,2})*"  +   // match 'x1 followed by one or more not-'
                                // followed by 'x1, all 0-inf times
    "([^']*)"               +   // match not-' 0-inf times
    ")*"                    +   // close paren, make main expression optional
    "'{3}"                  +   // closing triplet
"");    

var DECORATOR = new RegExp(
    /\@[^\(]+/
);

function init() {
	// default text colour
	style.color = "black";

	// escape character
	parser.escapeChar = "\\";

	// comments
	parser.add(PYLINE_COMMENT, "color:green");
	parser.add(PYBLOCK_COMMENT1, "color:green; font-weight:bold;");
    parser.add(PYBLOCK_COMMENT2, "color:green; font-weight:bold;");

    //python decorators
	parser.add(DECORATOR, "color:orange;font-weight:bold;");

	// regular expressions
	parser.add(/([^\w\$\/'"*)])(\/[^\/\n\r\*][^\/\n\r]*\/g?i?)/, "color:maroon", "$2&lt;span&gt;$3&lt;/span&gt;");

	// strings
	parser.add(STRING1, "color:maroon");
	parser.add(STRING2, "color:maroon");

	// numbers
	parser.add(NUMBER, "color:maroon");

	// urls/email
	urls = true;
	email = true;

	tabStop = 4;

	// python builtins
	parser.add(BUILTIN, "color:teal; font-weight:bold;");

    // python reserved words
	parser.add(RESERVED, "color:blue; font-weight:bold");

    // python punctuation:
    parser.add(PUNCTUATION, "color:red;font-weight:bold");

    // other:
	parser.add(/\w+/, "color:black");

};

//]]&gt;
&lt;/script&gt;
&lt;/public:component&gt;
</code></pre>
<p>Tags: <a href="http://tadhg.com/wp/tag/blog/" rel="tag">Blog</a>, <a href="http://tadhg.com/wp/tag/coding/" rel="tag">coding</a>, <a href="http://tadhg.com/wp/tag/javascript/" rel="tag">JavaScript</a>, <a href="http://tadhg.com/wp/tag/python/" rel="tag">python</a>, <a href="http://tadhg.com/wp/tag/web-development/" rel="tag">web-development</a></p><h4 class='related-posts-header'>Related Posts</h4><ul class="related-posts-list"><li class="related-post"><a href="http://tadhg.com/wp/2008/01/27/some-minor-software-projects/">Some Minor Software Projects</a> <span class="related-post-date timestamp">Sun 27 Jan 2008</span></li><li class="related-post"><a href="http://tadhg.com/wp/2008/01/15/sfmagicorg-rewrite-planning-data-entry/">sfmagic.org Rewrite: Planning Data Entry</a> <span class="related-post-date timestamp">Tue 15 Jan 2008</span></li><li class="related-post"><a href="http://tadhg.com/wp/2008/01/08/sfmagicorg-rewrite-stalledgraphs/">sfmagic.org Rewrite: Stalled/Graphs</a> <span class="related-post-date timestamp">Tue 08 Jan 2008</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/01/21/jquery-project/">jQuery Project</a> <span class="related-post-date timestamp">Thu 21 Jan 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/01/10/wordpress-2-9-upgrade/">WordPress 2.9 Upgrade</a> <span class="related-post-date timestamp">Sun 10 Jan 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/12/08/gps-urls-math-python-featuritis/">GPS, URLs, Math, Python, Featuritis</a> <span class="related-post-date timestamp">Tue 08 Dec 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/11/17/addons-mozilla-org-moving-from-cakephp-to-django/">addons.mozilla.org Moving from CakePHP to Django</a> <span class="related-post-date timestamp">Tue 17 Nov 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/10/11/some-javascript-programming-patterns/">Some JavaScript Programming Patterns</a> <span class="related-post-date timestamp">Sun 11 Oct 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/07/28/better-rest-wordpress-pipeline/">Better reST–WordPress Pipeline</a> <span class="related-post-date timestamp">Tue 28 Jul 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/07/16/some-character-encoding-gotchas/">Some Character Encoding Gotchas</a> <span class="related-post-date timestamp">Thu 16 Jul 2009</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tadhg.com/wp/2009/06/26/python-syntax-highlighting-for-star-light/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WordPress 2.8 Upgrade</title>
		<link>http://tadhg.com/wp/2009/06/14/wordpress-2-8-upgrade/</link>
		<comments>http://tadhg.com/wp/2009/06/14/wordpress-2-8-upgrade/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 01:44:08 +0000</pubDate>
		<dc:creator>Tadhg</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[web-development]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://tadhg.com/wp/?p=1796</guid>
		<description><![CDATA[Today I upgraded this blog to WordPress 2.8, a relatively smooth process. I ran into completely unrelated problems (hitting the process limit for my shell account) that derailed things for a while, but the WordPress upgrade itself was smooth.
I use Subversion to upgrade, first using
svn export --force http://core.svn.wordpress.org/tags/2.8/ . 
in my development environment, seeing if [...]]]></description>
			<content:encoded><![CDATA[<p>Today I upgraded this blog to <a href="http://codex.wordpress.org/Version_2.8">WordPress 2.8</a>, a relatively smooth process. I ran into completely unrelated problems (hitting the process limit for my shell account) that derailed things for a while, but the WordPress upgrade itself was smooth.</p>
<p>I use <a href="http://subversion.tigris.org/">Subversion</a> to upgrade, first using<br />
<code>svn export --force http://core.svn.wordpress.org/tags/2.8/ . </code><br />
in my <a href="http://tadhg.com/wp/2009/02/13/my-wordpress-development-setup/">development environment</a>, seeing if things look okay there, then checking in the 2.8 changes to my own repository (the only niggly part because I neglected to clean the dev environment of changes before the export, so I had to look through things to see what was part of the upgrade), backing up my live database, and then checking the changes out to the live environment. It all looks fine, and hopefully will continue to function normally.</p>
<p>Tags: <a href="http://tadhg.com/wp/tag/blog/" rel="tag">Blog</a>, <a href="http://tadhg.com/wp/tag/coding/" rel="tag">coding</a>, <a href="http://tadhg.com/wp/tag/php/" rel="tag">PHP</a>, <a href="http://tadhg.com/wp/tag/tech/" rel="tag">tech</a>, <a href="http://tadhg.com/wp/tag/web-development/" rel="tag">web-development</a>, <a href="http://tadhg.com/wp/tag/wordpress/" rel="tag">WordPress</a></p><h4 class='related-posts-header'>Related Posts</h4><ul class="related-posts-list"><li class="related-post"><a href="http://tadhg.com/wp/2010/01/10/wordpress-2-9-upgrade/">WordPress 2.9 Upgrade</a> <span class="related-post-date timestamp">Sun 10 Jan 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/03/23/wp-plugins-recent-commentary-and-show-tags-in-rss/">WP Plugins: Recent Commentary and Show Tags in RSS</a> <span class="related-post-date timestamp">Mon 23 Mar 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/03/19/some-rss-changes/">Some RSS Changes</a> <span class="related-post-date timestamp">Thu 19 Mar 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/02/23/new-blog-functionality-recent-commentary/">New Blog Functionality: Recent Commentary</a> <span class="related-post-date timestamp">Mon 23 Feb 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/02/13/my-wordpress-development-setup/">My WordPress Development Setup</a> <span class="related-post-date timestamp">Fri 13 Feb 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/07/28/better-rest-wordpress-pipeline/">Better reST–WordPress Pipeline</a> <span class="related-post-date timestamp">Tue 28 Jul 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/07/14/blog-workflow-with-restructuredtext/">Blog Workflow with reStructuredText</a> <span class="related-post-date timestamp">Tue 14 Jul 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/02/10/related-posts-plugin-and-sql-trickery/">Related Posts Plugin and SQL Trickery</a> <span class="related-post-date timestamp">Tue 10 Feb 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/05/16/sabbatical-close/">sabbatical.close()</a> <span class="related-post-date timestamp">Sun 16 May 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/11/10/html-past-and-future/">HTML Past and Future</a> <span class="related-post-date timestamp">Tue 10 Nov 2009</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tadhg.com/wp/2009/06/14/wordpress-2-8-upgrade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>1000th Post</title>
		<link>http://tadhg.com/wp/2009/05/26/1000th-post/</link>
		<comments>http://tadhg.com/wp/2009/05/26/1000th-post/#comments</comments>
		<pubDate>Tue, 26 May 2009 22:26:49 +0000</pubDate>
		<dc:creator>Tadhg</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://tadhg.com/wp/?p=1735</guid>
		<description><![CDATA[This is the thousandth published post on this site. It&#8217;s not the thousandth blog entry per se, since some of the entries on this site predate the blog (some predate the site itself, and indeed my awareness of the web). Still, it&#8217;s a fairly major milestone, and (working off a suggestion of Jeff&#8217;s) I used [...]]]></description>
			<content:encoded><![CDATA[<p>This is the thousandth published post on this site. It&#8217;s not the thousandth blog entry per se, since some of the entries on this site predate the blog (some predate the site itself, and indeed my awareness of the web). Still, it&#8217;s a fairly major milestone, and (working off a suggestion of <a href="http://testingjeff.wordpress.com/">Jeff</a>&#8217;s) I used <a href="http://www.wordle.net/">Wordle</a> to create a kind of commemorative graphic.<br />
<span id="more-1735"></span><br />
Jeff originally suggested feeding the text of all my posts into Wordle, but that would have been three megs (almost 500,000 words) of text, so I didn&#8217;t think that was really going to work. Instead, I fed it all the post tags, resulting in this:</p>
<p><a href="/images/tags_for_1000th_post.png" title="Tags for 999 posts" class="thickbox" rel="gallery"><img src="/images/tn_tags_for_1000th_post.png" alt="Tags for 999 posts" /></a></p>
<p>There you have it, a representation of what I&#8217;ve been focused on for the preceding 999 posts.</p>
<p>Here&#8217;s the same information in list form, all 171 different tags, doubtless including some typos, duplicates, and other things that might not belong:</p>
<ul>
<li><a href="http://tadhg.com/wp/tag/politics">politics</a>: 249</li>
<li><a href="http://tadhg.com/wp/tag/writing">writing</a>: 247</li>
<li><a href="http://tadhg.com/wp/tag/personal">personal</a>: 200</li>
<li><a href="http://tadhg.com/wp/tag/fiction">fiction</a>: 135</li>
<li><a href="http://tadhg.com/wp/tag/tech">tech</a>: 106</li>
<li><a href="http://tadhg.com/wp/tag/web-development">web-development</a>: 95</li>
<li><a href="http://tadhg.com/wp/tag/coding">coding</a>: 92</li>
<li><a href="http://tadhg.com/wp/tag/science-fiction">science-fiction</a>: 91</li>
<li><a href="http://tadhg.com/wp/tag/psychology">psychology</a>: 89</li>
<li><a href="http://tadhg.com/wp/tag/games">games</a>: 83</li>
<li><a href="http://tadhg.com/wp/tag/novel">novel</a>: 78</li>
<li><a href="http://tadhg.com/wp/tag/power">power</a>: 74</li>
<li><a href="http://tadhg.com/wp/tag/consciousness">consciousness</a>: 69</li>
<li><a href="http://tadhg.com/wp/tag/economics">economics</a>: 64</li>
<li><a href="http://tadhg.com/wp/tag/microfiction">microfiction</a>: 64</li>
<li><a href="http://tadhg.com/wp/tag/television">television</a>: 60</li>
<li><a href="http://tadhg.com/wp/tag/books">books</a>: 60</li>
<li><a href="http://tadhg.com/wp/tag/humor">humor</a>: 59</li>
<li><a href="http://tadhg.com/wp/tag/criticism">criticism</a>: 58</li>
<li><a href="http://tadhg.com/wp/tag/law">law</a>: 56</li>
<li><a href="http://tadhg.com/wp/tag/culture">culture</a>: 56</li>
<li><a href="http://tadhg.com/wp/tag/reading">reading</a>: 52</li>
<li><a href="http://tadhg.com/wp/tag/reviews">reviews</a>: 48</li>
<li><a href="http://tadhg.com/wp/tag/MTG">MTG</a>: 45</li>
<li><a href="http://tadhg.com/wp/tag/film">film</a>: 43</li>
<li><a href="http://tadhg.com/wp/tag/video">video</a>: 38</li>
<li><a href="http://tadhg.com/wp/tag/fantasy-bedtime-hour">fantasy-bedtime-hour</a>: 38</li>
<li><a href="http://tadhg.com/wp/tag/annotated-fantasy-bedtime-hour">annotated-fantasy-bedtime-hour</a>: 37</li>
<li><a href="http://tadhg.com/wp/tag/JavaScript">JavaScript</a>: 34</li>
<li><a href="http://tadhg.com/wp/tag/sports">sports</a>: 33</li>
<li><a href="http://tadhg.com/wp/tag/software">software</a>: 33</li>
<li><a href="http://tadhg.com/wp/tag/san-francisco">san-francisco</a>: 31</li>
<li><a href="http://tadhg.com/wp/tag/philosophy">philosophy</a>: 28</li>
<li><a href="http://tadhg.com/wp/tag/e-prime">e-prime</a>: 26</li>
<li><a href="http://tadhg.com/wp/tag/python">python</a>: 24</li>
<li><a href="http://tadhg.com/wp/tag/Blog">Blog</a>: 23</li>
<li><a href="http://tadhg.com/wp/tag/religion">religion</a>: 23</li>
<li><a href="http://tadhg.com/wp/tag/tennis">tennis</a>: 22</li>
<li><a href="http://tadhg.com/wp/tag/consumerism">consumerism</a>: 21</li>
<li><a href="http://tadhg.com/wp/tag/design">design</a>: 20</li>
<li><a href="http://tadhg.com/wp/tag/short-fiction">short-fiction</a>: 17</li>
<li><a href="http://tadhg.com/wp/tag/travel">travel</a>: 16</li>
<li><a href="http://tadhg.com/wp/tag/organization">organization</a>: 15</li>
<li><a href="http://tadhg.com/wp/tag/WordPress">WordPress</a>: 15</li>
<li><a href="http://tadhg.com/wp/tag/photos">photos</a>: 15</li>
<li><a href="http://tadhg.com/wp/tag/web-surfing">web-surfing</a>: 15</li>
<li><a href="http://tadhg.com/wp/tag/fantasy">fantasy</a>: 14</li>
<li><a href="http://tadhg.com/wp/tag/comics">comics</a>: 14</li>
<li><a href="http://tadhg.com/wp/tag/media">media</a>: 13</li>
<li><a href="http://tadhg.com/wp/tag/free-speech">free-speech</a>: 13</li>
<li><a href="http://tadhg.com/wp/tag/copyright">copyright</a>: 13</li>
<li><a href="http://tadhg.com/wp/tag/driving">driving</a>: 13</li>
<li><a href="http://tadhg.com/wp/tag/article">article</a>: 13</li>
<li><a href="http://tadhg.com/wp/tag/language">language</a>: 12</li>
<li><a href="http://tadhg.com/wp/tag/work">work</a>: 12</li>
<li><a href="http://tadhg.com/wp/tag/textual">textual</a>: 11</li>
<li><a href="http://tadhg.com/wp/tag/anarchism">anarchism</a>: 11</li>
<li><a href="http://tadhg.com/wp/tag/music">music</a>: 11</li>
<li><a href="http://tadhg.com/wp/tag/censorship">censorship</a>: 10</li>
<li><a href="http://tadhg.com/wp/tag/history">history</a>: 10</li>
<li><a href="http://tadhg.com/wp/tag/creativity">creativity</a>: 9</li>
<li><a href="http://tadhg.com/wp/tag/education">education</a>: 9</li>
<li><a href="http://tadhg.com/wp/tag/poetry">poetry</a>: 9</li>
<li><a href="http://tadhg.com/wp/tag/dublin">dublin</a>: 8</li>
<li><a href="http://tadhg.com/wp/tag/uselection2008">uselection2008</a>: 8</li>
<li><a href="http://tadhg.com/wp/tag/racism">racism</a>: 8</li>
<li><a href="http://tadhg.com/wp/tag/cycling">cycling</a>: 8</li>
<li><a href="http://tadhg.com/wp/tag/oldmisc">oldmisc</a>: 7</li>
<li><a href="http://tadhg.com/wp/tag/comedy">comedy</a>: 7</li>
<li><a href="http://tadhg.com/wp/tag/ireland">ireland</a>: 7</li>
<li><a href="http://tadhg.com/wp/tag/usability">usability</a>: 6</li>
<li><a href="http://tadhg.com/wp/tag/database">database</a>: 6</li>
<li><a href="http://tadhg.com/wp/tag/drafting">drafting</a>: 6</li>
<li><a href="http://tadhg.com/wp/tag/abstract">abstract</a>: 6</li>
<li><a href="http://tadhg.com/wp/tag/community">community</a>: 6</li>
<li><a href="http://tadhg.com/wp/tag/pafib">pafib</a>: 6</li>
<li><a href="http://tadhg.com/wp/tag/happiness">happiness</a>: 6</li>
<li><a href="http://tadhg.com/wp/tag/essays">essays</a>: 6</li>
<li><a href="http://tadhg.com/wp/tag/version-control">version-control</a>: 6</li>
<li><a href="http://tadhg.com/wp/tag/existentialism">existentialism</a>: 6</li>
<li><a href="http://tadhg.com/wp/tag/mysites">mysites</a>: 5</li>
<li><a href="http://tadhg.com/wp/tag/human-survival">human-survival</a>: 5</li>
<li><a href="http://tadhg.com/wp/tag/SQL">SQL</a>: 5</li>
<li><a href="http://tadhg.com/wp/tag/Sartre">Sartre</a>: 5</li>
<li><a href="http://tadhg.com/wp/tag/semantic-web">semantic-web</a>: 5</li>
<li><a href="http://tadhg.com/wp/tag/flow">flow</a>: 5</li>
<li><a href="http://tadhg.com/wp/tag/food">food</a>: 5</li>
<li><a href="http://tadhg.com/wp/tag/freebase">freebase</a>: 5</li>
<li><a href="http://tadhg.com/wp/tag/advertising">advertising</a>: 5</li>
<li><a href="http://tadhg.com/wp/tag/PHP">PHP</a>: 5</li>
<li><a href="http://tadhg.com/wp/tag/feminism">feminism</a>: 4</li>
<li><a href="http://tadhg.com/wp/tag/photography">photography</a>: 4</li>
<li><a href="http://tadhg.com/wp/tag/Discordianism">Discordianism</a>: 4</li>
<li><a href="http://tadhg.com/wp/tag/constructed-decks">constructed-decks</a>: 4</li>
<li><a href="http://tadhg.com/wp/tag/Mirrodin">Mirrodin</a>: 4</li>
<li><a href="http://tadhg.com/wp/tag/war">war</a>: 3</li>
<li><a href="http://tadhg.com/wp/tag/Q3A">Q3A</a>: 3</li>
<li><a href="http://tadhg.com/wp/tag/email">email</a>: 3</li>
<li><a href="http://tadhg.com/wp/tag/weather">weather</a>: 3</li>
<li><a href="http://tadhg.com/wp/tag/phone">phone</a>: 3</li>
<li><a href="http://tadhg.com/wp/tag/handedness">handedness</a>: 3</li>
<li><a href="http://tadhg.com/wp/tag/gender">gender</a>: 3</li>
<li><a href="http://tadhg.com/wp/tag/science">science</a>: 3</li>
<li><a href="http://tadhg.com/wp/tag/transport">transport</a>: 3</li>
<li><a href="http://tadhg.com/wp/tag/health">health</a>: 2</li>
<li><a href="http://tadhg.com/wp/tag/FPS">FPS</a>: 2</li>
<li><a href="http://tadhg.com/wp/tag/baseball">baseball</a>: 2</li>
<li><a href="http://tadhg.com/wp/tag/CrossFit">CrossFit</a>: 2</li>
<li><a href="http://tadhg.com/wp/tag/Nimblefish">Nimblefish</a>: 2</li>
<li><a href="http://tadhg.com/wp/tag/politcs">politcs</a>: 2</li>
<li><a href="http://tadhg.com/wp/tag/roleplaying">roleplaying</a>: 2</li>
<li><a href="http://tadhg.com/wp/tag/sex">sex</a>: 2</li>
<li><a href="http://tadhg.com/wp/tag/animation">animation</a>: 2</li>
<li><a href="http://tadhg.com/wp/tag/spam">spam</a>: 2</li>
<li><a href="http://tadhg.com/wp/tag/blogging">blogging</a>: 2</li>
<li><a href="http://tadhg.com/wp/tag/genre">genre</a>: 2</li>
<li><a href="http://tadhg.com/wp/tag/identity">identity</a>: 2</li>
<li><a href="http://tadhg.com/wp/tag/distraction">distraction</a>: 2</li>
<li><a href="http://tadhg.com/wp/tag/artificial-intelligence">artificial-intelligence</a>: 2</li>
<li><a href="http://tadhg.com/wp/tag/theater">theater</a>: 2</li>
<li><a href="http://tadhg.com/wp/tag/math">math</a>: 2</li>
<li><a href="http://tadhg.com/wp/tag/short-story">short-story</a>: 2</li>
<li><a href="http://tadhg.com/wp/tag/financial">financial</a>: 2</li>
<li><a href="http://tadhg.com/wp/tag/audio">audio</a>: 2</li>
<li><a href="http://tadhg.com/wp/tag/exercise">exercise</a>: 2</li>
<li><a href="http://tadhg.com/wp/tag/morning-pages">morning-pages</a>: 2</li>
<li><a href="http://tadhg.com/wp/tag/tournament-report">tournament-report</a>: 2</li>
<li><a href="http://tadhg.com/wp/tag/dreams">dreams</a>: 2</li>
<li><a href="http://tadhg.com/wp/tag/philosphy">philosphy</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/prejudice">prejudice</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/celebrity">celebrity</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/propaganda">propaganda</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/football">football</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/Twitter">Twitter</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/sleep">sleep</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/Chandler">Chandler</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/animals">animals</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/pool">pool</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/snooker">snooker</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/society">society</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/photocommentary">photocommentary</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/PURL">PURL</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/Iain-Banks">Iain-Banks</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/Iain-M.-Banks">Iain-M.-Banks</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/winter">winter</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/space">space</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/interview">interview</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/typing">typing</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/logic">logic</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/probability">probability</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/noir">noir</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/berlin">berlin</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/Ice-Age">Ice-Age</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/nationality">nationality</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/non-fiction">non-fiction</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/seamless">seamless</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/shell-scripting">shell-scripting</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/anthropology">anthropology</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/dance">dance</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/irish">irish</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/family">family</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/chess">chess</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/property">property</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/Csikszentmihalyi">Csikszentmihalyi</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/metadata">metadata</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/status">status</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/hardware">hardware</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/poe">poe</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/gilman">gilman</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/obsolete">obsolete</a>: 1</li>
<li><a href="http://tadhg.com/wp/tag/snippet">snippet</a>: 1</li>
</li>
<p>Tags: <a href="http://tadhg.com/wp/tag/blog/" rel="tag">Blog</a>, <a href="http://tadhg.com/wp/tag/personal/" rel="tag">personal</a>, <a href="http://tadhg.com/wp/tag/writing/" rel="tag">writing</a></p><h4 class='related-posts-header'>Related Posts</h4><ul class="related-posts-list"><li class="related-post"><a href="http://tadhg.com/wp/2010/08/30/perfectionism-is-hard/">Perfectionism is Hard</a> <span class="related-post-date timestamp">Mon 30 Aug 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/08/02/three-routines/">Three Routines</a> <span class="related-post-date timestamp">Mon 02 Aug 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/12/29/2009-goals-review/">2009 Goals Review</a> <span class="related-post-date timestamp">Tue 29 Dec 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/07/30/2009-goals-status/">2009 Goals Status</a> <span class="related-post-date timestamp">Thu 30 Jul 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/01/01/2009-goals/">2009 Goals</a> <span class="related-post-date timestamp">Thu 01 Jan 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2007/12/11/some-medium-term-plans/">Some Medium-Term Plans</a> <span class="related-post-date timestamp">Tue 11 Dec 2007</span></li><li class="related-post"><a href="http://tadhg.com/wp/2007/08/05/musings-on-blogging/">Musings on Blogging</a> <span class="related-post-date timestamp">Sun 05 Aug 2007</span></li><li class="related-post"><a href="http://tadhg.com/wp/2007/08/01/august-2007-blogging-year-in-review/">August 2007: Blogging Year in Review</a> <span class="related-post-date timestamp">Wed 01 Aug 2007</span></li><li class="related-post"><a href="http://tadhg.com/wp/2007/05/01/thematic-consideration/">Thematic Consideration</a> <span class="related-post-date timestamp">Tue 01 May 2007</span></li><li class="related-post"><a href="http://tadhg.com/wp/2007/03/02/februarymarch-blogging/">February/March Blogging</a> <span class="related-post-date timestamp">Fri 02 Mar 2007</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tadhg.com/wp/2009/05/26/1000th-post/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Fiction Organization</title>
		<link>http://tadhg.com/wp/2009/05/24/fiction-organization/</link>
		<comments>http://tadhg.com/wp/2009/05/24/fiction-organization/#comments</comments>
		<pubDate>Sun, 24 May 2009 23:04:21 +0000</pubDate>
		<dc:creator>Tadhg</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[fiction]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://tadhg.com/wp/?p=1723</guid>
		<description><![CDATA[I made a WordPress page containing a list of all the fiction I&#8217;ve published on this blog. I had to do this by hand, because it appears difficult to get a reasonable list using various WordPress approaches (such as tags). The page I created is hardly a masterpiece of user interface design (I hope to [...]]]></description>
			<content:encoded><![CDATA[<p>I made a WordPress page containing a <a href="http://tadhg.com/wp/fiction/" title="Fiction Index">list of all the fiction I&#8217;ve published on this blog</a>. I had to do this by hand, because it appears difficult to get a reasonable list using various WordPress approaches (such as tags). The page I created is hardly a masterpiece of user interface design (I hope to improve it significantly over time), but it&#8217;s better than what was there previously.<br />
<span id="more-1723"></span><br />
I will end up making it more complicated from a code point of view, because I want to be able to display by each link the publication date and some of the tags of the piece&#8212;and I don&#8217;t want to have to edit those by hand. This mix of manual selection and arbitrary tagging isn&#8217;t handled very well by the current WordPress functionality, which isn&#8217;t that surprising. I did think it would be slightly easier to achieve than it looks like it will be, however.</p>
<p>The series plugin I hope to write at some point would address some of the issues, by making it easy to get a list of links to each piece in a series, but even that wouldn&#8217;t address the lists that aren&#8217;t series.</p>
<p>One of the problems is with tagging. Partly it&#8217;s a nomenclature/overloading issue: I use the &#8220;fiction&#8221; and &#8220;writing&#8221; tags to mean not just my fiction and writing, but also the works of others and commentary on fiction and writing. For some reason the notion of a &#8220;my fiction&#8221; tag is unappealing to me.</p>
<p>The notion of a &#8220;my favorites&#8221; tag even less appealing. I don&#8217;t mind putting together a list of the pieces that I&#8217;m most happy with, but somehow tagging each one of them as a favorite seems extremely cheesy. That might be nomenclature again, and I could perhaps get around it somehow by having a less cloying name for the tag. I need to think about that one further and see if I can figure out just what the problem is.</p>
<p>Until I do, though, having all of my fiction work handily linked from one page is a significant advance (the power of HTML!). <a href="http://tadhg.com/wp/fiction/" title="Fiction Index">Use it to find stories of mine</a> to read or re-read&#8212;and, hopefully, enjoy.</a></p>
<p>Tags: <a href="http://tadhg.com/wp/tag/blog/" rel="tag">Blog</a>, <a href="http://tadhg.com/wp/tag/fiction/" rel="tag">fiction</a>, <a href="http://tadhg.com/wp/tag/wordpress/" rel="tag">WordPress</a>, <a href="http://tadhg.com/wp/tag/writing/" rel="tag">writing</a></p><h4 class='related-posts-header'>Related Posts</h4><ul class="related-posts-list"><li class="related-post"><a href="http://tadhg.com/wp/2010/08/30/perfectionism-is-hard/">Perfectionism is Hard</a> <span class="related-post-date timestamp">Mon 30 Aug 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/08/02/three-routines/">Three Routines</a> <span class="related-post-date timestamp">Mon 02 Aug 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/05/16/sabbatical-close/">sabbatical.close()</a> <span class="related-post-date timestamp">Sun 16 May 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/04/18/wandering-mind/">“Wandering Mind”</a> <span class="related-post-date timestamp">Sun 18 Apr 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/01/10/wordpress-2-9-upgrade/">WordPress 2.9 Upgrade</a> <span class="related-post-date timestamp">Sun 10 Jan 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/12/29/2009-goals-review/">2009 Goals Review</a> <span class="related-post-date timestamp">Tue 29 Dec 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/07/31/title-capitalization/">Title Capitalization</a> <span class="related-post-date timestamp">Fri 31 Jul 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/07/30/2009-goals-status/">2009 Goals Status</a> <span class="related-post-date timestamp">Thu 30 Jul 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/14/wordpress-2-8-upgrade/">WordPress 2.8 Upgrade</a> <span class="related-post-date timestamp">Sun 14 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/05/26/1000th-post/">1000th Post</a> <span class="related-post-date timestamp">Tue 26 May 2009</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tadhg.com/wp/2009/05/24/fiction-organization/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Bad Behavior Plugin</title>
		<link>http://tadhg.com/wp/2009/04/07/bad-behavior-plugin/</link>
		<comments>http://tadhg.com/wp/2009/04/07/bad-behavior-plugin/#comments</comments>
		<pubDate>Tue, 07 Apr 2009 18:55:14 +0000</pubDate>
		<dc:creator>Tadhg</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://tadhg.com/wp/?p=1567</guid>
		<description><![CDATA[The various blog moves and reworkings seemed to reduce the amount of comment spam I was getting, but now it&#8217;s gotten out of hand once more, so I&#8217;m resuming the use of the Bad Behavior WordPress plugin. Hopefully this isn&#8217;t something any legitimate readers or commenters will notice, but if for some reason you find [...]]]></description>
			<content:encoded><![CDATA[<p>The various blog moves and reworkings seemed to reduce the amount of comment spam I was getting, but now it&#8217;s gotten out of hand once more, so I&#8217;m resuming the use of the <a href="http://wordpress.org/extend/plugins/bad-behavior/">Bad Behavior</a> WordPress plugin. Hopefully this isn&#8217;t something any legitimate readers or commenters will notice, but if for some reason you find it affecting you, please let me know via email.</p>
<p>Tags: <a href="http://tadhg.com/wp/tag/blog/" rel="tag">Blog</a>, <a href="http://tadhg.com/wp/tag/wordpress/" rel="tag">WordPress</a></p><h4 class='related-posts-header'>Related Posts</h4><ul class="related-posts-list"><li class="related-post"><a href="http://tadhg.com/wp/2010/01/10/wordpress-2-9-upgrade/">WordPress 2.9 Upgrade</a> <span class="related-post-date timestamp">Sun 10 Jan 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/14/wordpress-2-8-upgrade/">WordPress 2.8 Upgrade</a> <span class="related-post-date timestamp">Sun 14 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/05/24/fiction-organization/">Fiction Organization</a> <span class="related-post-date timestamp">Sun 24 May 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/03/23/wp-plugins-recent-commentary-and-show-tags-in-rss/">WP Plugins: Recent Commentary and Show Tags in RSS</a> <span class="related-post-date timestamp">Mon 23 Mar 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/03/19/some-rss-changes/">Some RSS Changes</a> <span class="related-post-date timestamp">Thu 19 Mar 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/02/23/new-blog-functionality-recent-commentary/">New Blog Functionality: Recent Commentary</a> <span class="related-post-date timestamp">Mon 23 Feb 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/02/12/twitter-experimentation/">Twitter Experimentation</a> <span class="related-post-date timestamp">Thu 12 Feb 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/02/01/new-blog-functionality-related-posts/">New Blog Functionality: Related Posts</a> <span class="related-post-date timestamp">Sun 01 Feb 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/08/30/perfectionism-is-hard/">Perfectionism is Hard</a> <span class="related-post-date timestamp">Mon 30 Aug 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/08/02/three-routines/">Three Routines</a> <span class="related-post-date timestamp">Mon 02 Aug 2010</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tadhg.com/wp/2009/04/07/bad-behavior-plugin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>WP Plugins: Recent Commentary and Show Tags in RSS</title>
		<link>http://tadhg.com/wp/2009/03/23/wp-plugins-recent-commentary-and-show-tags-in-rss/</link>
		<comments>http://tadhg.com/wp/2009/03/23/wp-plugins-recent-commentary-and-show-tags-in-rss/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 03:38:25 +0000</pubDate>
		<dc:creator>Tadhg</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://tadhg.com/wp/?p=1516</guid>
		<description><![CDATA[I finally got around to writing up docs for, and then packaging, the two WordPress plugins I&#8217;ve finished recently:

Recent Commentary Widget, which contains the code used for the current comments sidebar on the main page and which I described here.
Show Tags in RSS, which adds a list of the tags for a post to the [...]]]></description>
			<content:encoded><![CDATA[<p>I finally got around to writing up docs for, and then packaging, the two WordPress plugins I&#8217;ve finished recently:</p>
<ul>
<li><a href="http://tadhg.com/wp/wordpress-plugins/recent-commentary-widget/">Recent Commentary Widget</a>, which contains the code used for the current comments sidebar on the main page and which I <a href="http://tadhg.com/wp/2009/02/23/new-blog-functionality-recent-commentary/" title="New Blog Functionality: Recent Commentary">described here</a>.</li>
<li><a href="http://tadhg.com/wp/wordpress-plugins/show-tags-in-rss/">Show Tags in RSS</a>, which adds a list of the tags for a post to the end of the post&#8217;s entry in the RSS feed.</li>
</ul>
<p>I&#8217;m currently looking at support for series in WordPress, and am considering either writing my own plugin or using/forking <a href="http://unfoldingneurons.com/neurotic-plugins/organize-series-wordpress-plugin">the Organize Series plugin</a>.</p>
<p>Tags: <a href="http://tadhg.com/wp/tag/blog/" rel="tag">Blog</a>, <a href="http://tadhg.com/wp/tag/coding/" rel="tag">coding</a>, <a href="http://tadhg.com/wp/tag/php/" rel="tag">PHP</a>, <a href="http://tadhg.com/wp/tag/sql/" rel="tag">SQL</a>, <a href="http://tadhg.com/wp/tag/tech/" rel="tag">tech</a>, <a href="http://tadhg.com/wp/tag/wordpress/" rel="tag">WordPress</a></p><h4 class='related-posts-header'>Related Posts</h4><ul class="related-posts-list"><li class="related-post"><a href="http://tadhg.com/wp/2009/02/23/new-blog-functionality-recent-commentary/">New Blog Functionality: Recent Commentary</a> <span class="related-post-date timestamp">Mon 23 Feb 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/01/10/wordpress-2-9-upgrade/">WordPress 2.9 Upgrade</a> <span class="related-post-date timestamp">Sun 10 Jan 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/14/wordpress-2-8-upgrade/">WordPress 2.8 Upgrade</a> <span class="related-post-date timestamp">Sun 14 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/03/19/some-rss-changes/">Some RSS Changes</a> <span class="related-post-date timestamp">Thu 19 Mar 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/02/10/related-posts-plugin-and-sql-trickery/">Related Posts Plugin and SQL Trickery</a> <span class="related-post-date timestamp">Tue 10 Feb 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/02/13/my-wordpress-development-setup/">My WordPress Development Setup</a> <span class="related-post-date timestamp">Fri 13 Feb 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/05/16/sabbatical-close/">sabbatical.close()</a> <span class="related-post-date timestamp">Sun 16 May 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/07/28/better-rest-wordpress-pipeline/">Better reST–WordPress Pipeline</a> <span class="related-post-date timestamp">Tue 28 Jul 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/07/14/blog-workflow-with-restructuredtext/">Blog Workflow with reStructuredText</a> <span class="related-post-date timestamp">Tue 14 Jul 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/02/12/twitter-experimentation/">Twitter Experimentation</a> <span class="related-post-date timestamp">Thu 12 Feb 2009</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tadhg.com/wp/2009/03/23/wp-plugins-recent-commentary-and-show-tags-in-rss/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Some RSS Changes</title>
		<link>http://tadhg.com/wp/2009/03/19/some-rss-changes/</link>
		<comments>http://tadhg.com/wp/2009/03/19/some-rss-changes/#comments</comments>
		<pubDate>Fri, 20 Mar 2009 03:44:20 +0000</pubDate>
		<dc:creator>Tadhg</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://tadhg.com/wp/?p=1491</guid>
		<description><![CDATA[I&#8217;ve made some changes to my Related Posts by Tags plugin, so that it&#8217;s now possible to add the list of related posts to the RSS feed entries. As I was experimenting with this, I realized that I wanted the RSS entries to show the tags for a post as well, so I wrote a [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve made some changes to my <a href="http://tadhg.com/wp/wordpress-plugins/related-posts-by-tag-widget/">Related Posts by Tags</a> plugin, so that it&#8217;s now possible to add the list of related posts to the RSS feed entries. As I was experimenting with this, I realized that I wanted the RSS entries to show the tags for a post as well, so I wrote a (very simple) plugin to do that, too.</p>
<p>As a result, those of you reading this via RSS will now see a list of tags at the end of posts, followed by links to related posts. Please let me know if this doesn&#8217;t work as intended, or if you have other comments on the change.</p>
<p>Tags: <a href="http://tadhg.com/wp/tag/blog/" rel="tag">Blog</a>, <a href="http://tadhg.com/wp/tag/coding/" rel="tag">coding</a>, <a href="http://tadhg.com/wp/tag/php/" rel="tag">PHP</a>, <a href="http://tadhg.com/wp/tag/tech/" rel="tag">tech</a>, <a href="http://tadhg.com/wp/tag/wordpress/" rel="tag">WordPress</a></p><h4 class='related-posts-header'>Related Posts</h4><ul class="related-posts-list"><li class="related-post"><a href="http://tadhg.com/wp/2010/01/10/wordpress-2-9-upgrade/">WordPress 2.9 Upgrade</a> <span class="related-post-date timestamp">Sun 10 Jan 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/14/wordpress-2-8-upgrade/">WordPress 2.8 Upgrade</a> <span class="related-post-date timestamp">Sun 14 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/03/23/wp-plugins-recent-commentary-and-show-tags-in-rss/">WP Plugins: Recent Commentary and Show Tags in RSS</a> <span class="related-post-date timestamp">Mon 23 Mar 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/02/23/new-blog-functionality-recent-commentary/">New Blog Functionality: Recent Commentary</a> <span class="related-post-date timestamp">Mon 23 Feb 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/02/13/my-wordpress-development-setup/">My WordPress Development Setup</a> <span class="related-post-date timestamp">Fri 13 Feb 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/02/10/related-posts-plugin-and-sql-trickery/">Related Posts Plugin and SQL Trickery</a> <span class="related-post-date timestamp">Tue 10 Feb 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/05/16/sabbatical-close/">sabbatical.close()</a> <span class="related-post-date timestamp">Sun 16 May 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/07/28/better-rest-wordpress-pipeline/">Better reST–WordPress Pipeline</a> <span class="related-post-date timestamp">Tue 28 Jul 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/07/14/blog-workflow-with-restructuredtext/">Blog Workflow with reStructuredText</a> <span class="related-post-date timestamp">Tue 14 Jul 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/02/12/twitter-experimentation/">Twitter Experimentation</a> <span class="related-post-date timestamp">Thu 12 Feb 2009</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tadhg.com/wp/2009/03/19/some-rss-changes/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>New Blog Functionality: Recent Commentary</title>
		<link>http://tadhg.com/wp/2009/02/23/new-blog-functionality-recent-commentary/</link>
		<comments>http://tadhg.com/wp/2009/02/23/new-blog-functionality-recent-commentary/#comments</comments>
		<pubDate>Tue, 24 Feb 2009 05:39:10 +0000</pubDate>
		<dc:creator>Tadhg</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[SQL]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://tadhg.com/wp/?p=1402</guid>
		<description><![CDATA[I&#8217;ve had a Recent Comments section on the front-page sidebar of the site for quite some time, and decided it was time for an upgrade. The old version was straightforward: it displayed a list of the most recent comments and who made them. What I decided I wanted was, rather, a list of the posts [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve had a Recent Comments section on the front-page sidebar of the site for quite some time, and decided it was time for an upgrade. The old version was straightforward: it displayed a list of the most recent comments and who made them. What I decided I wanted was, rather, a list of the posts with the most recent comments on them, how many comments there were, and a list of the people who made the comments in timestamp order.<br />
<span id="more-1402"></span><br />
That&#8217;s what I have on the front page now. I wrote this functionality as a WordPress plugin, and will release it sometime soon&#8212;I&#8217;m not doing so yet because to work as expected it needs the user to write some CSS, so either I write docs on how to do that, or I add an option to insert some styling with the widget HTML.</p>
<p>I think it&#8217;s a better approach, because it displays more information in about the same area, and because it allows posts with discussions to remain present in the widget for longer, rather than being bumped off due to multiple comments about some single post. I think that&#8217;s likely to be more interesting.</p>
<p>At the heart of the plugin are two SQL queries that I couldn&#8217;t figure out how to turn into a single query, and which took me a little while to figure out.</p>
<p>The desired result is a list of the <em>n</em> posts with the most recent comments on them, and a list of the comments for each post, with the comment list linked to the post in some fashion. I initially thought that the first query would be easy, but I was making poor assumptions about SELECT DISTINCT that mean that I was actually getting a list of the posts with comments ordered by the time of the <em>first</em> comment, not the latest comment. Simplified somewhat, the right way to do that is this:</p>
<p><pre class="php">
SELECT wp_posts.ID, MAX(wp_comments.comment_date) as datesort
FROM comments
LEFT JOIN wp_posts ON (wp_comments.comment_post_ID = wp_posts.ID)
WHERE wp_posts.post_status = 'publish'
    AND wp_posts.post_type = 'post'
    AND wp_comments.comment_approved = 1
GROUP BY wp_posts.ID
ORDER BY datesort DESC
</pre>
</p>
<p>If, as I did initially, you use SELECT DISTINCT, or you use GROUP BY without the MAX function and sort by <strong>comment_date</strong> instead of <strong>datesort</strong>, it&#8217;s sorted by the first comment, not the latest comment.</p>
<p>From those results we have the latest posts. After putting their IDs into a comma-separated list, we can then get the comments we want:</p>
<p><pre class="php">
SELECT *
FROM wp_posts
LEFT JOIN wp_comments ON (wp_posts.ID = wp_comments.comment_post_ID)
WHERE wp_posts.ID IN ($comma_separated_list_of_post_ids)
    AND wp_comments.comment_approved = 1
ORDER BY field(wp_posts.ID, $comma_separated_list_of_post_ids), wp_comments.comment_date;
</pre>
</p>
<p>This basically means &#8220;go get the comments on the specified posts&#8221;. The only interesting part is the ordering: I wanted to get the rows back so that the comments about a given post would all be together, and it turns out that the <strong>field()</strong> function is the way to do this, as it lets you sort things by whatever arbitrary order you like: it takes the column to sort on as the first argument, and a comma-separated list of values as the arbitrary order.</p>
<p>(It turns out that I didn&#8217;t need the ordering from field(), because of the PHP that later handles this data, but I left it in the example because it&#8217;s an interesting feature.)</p>
<p>After I have the results from that query, I go through them in PHP to organize into objects that I can handle more easily, essentially placing the post data at the outermost level and the comment data corresponding to each post inside the post data (<strong>$post_ids</strong> is the array of IDs of the posts with recent comments, <strong>$recent_commentary_results</strong> is the result from the latter SQL query above):</p>
<p><pre class="php">
$recent_commentary = array();

    foreach ($post_ids as $key=>$value) {
        //Go through each post, extract the data relevant to it from the
        //query results, and add it to the array we're going to return.
        $postdata = array(
            "id"=>$value,
            "comments"=>array()
        );
        foreach ($recent_commentary_results as &#038;$row) {
            //If the row matches the current post, insert the title, the
            //comment count, and add the row itself to the list of comments
            //on that post.
            if ($value == $row->ID) {
                $postdata["title"] = $row->post_title;
                $postdata["comment_count"] = $row->comment_count;
                array_push($postdata["comments"], $row);
            }
        }
        array_push($recent_commentary, $postdata);
    }

    return $recent_commentary;
</pre>
</p>
<p>That returns the required information in a format that&#8217;s relatively easy to go through and turn into HTML; none of the rest of the plugin code is particularly interesting.</p>
<p>I hope to release the plugin later this week.</p>
<p>Tags: <a href="http://tadhg.com/wp/tag/blog/" rel="tag">Blog</a>, <a href="http://tadhg.com/wp/tag/coding/" rel="tag">coding</a>, <a href="http://tadhg.com/wp/tag/php/" rel="tag">PHP</a>, <a href="http://tadhg.com/wp/tag/sql/" rel="tag">SQL</a>, <a href="http://tadhg.com/wp/tag/tech/" rel="tag">tech</a>, <a href="http://tadhg.com/wp/tag/wordpress/" rel="tag">WordPress</a></p><h4 class='related-posts-header'>Related Posts</h4><ul class="related-posts-list"><li class="related-post"><a href="http://tadhg.com/wp/2009/03/23/wp-plugins-recent-commentary-and-show-tags-in-rss/">WP Plugins: Recent Commentary and Show Tags in RSS</a> <span class="related-post-date timestamp">Mon 23 Mar 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/01/10/wordpress-2-9-upgrade/">WordPress 2.9 Upgrade</a> <span class="related-post-date timestamp">Sun 10 Jan 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/14/wordpress-2-8-upgrade/">WordPress 2.8 Upgrade</a> <span class="related-post-date timestamp">Sun 14 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/03/19/some-rss-changes/">Some RSS Changes</a> <span class="related-post-date timestamp">Thu 19 Mar 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/02/10/related-posts-plugin-and-sql-trickery/">Related Posts Plugin and SQL Trickery</a> <span class="related-post-date timestamp">Tue 10 Feb 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/02/13/my-wordpress-development-setup/">My WordPress Development Setup</a> <span class="related-post-date timestamp">Fri 13 Feb 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/05/16/sabbatical-close/">sabbatical.close()</a> <span class="related-post-date timestamp">Sun 16 May 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/07/28/better-rest-wordpress-pipeline/">Better reST–WordPress Pipeline</a> <span class="related-post-date timestamp">Tue 28 Jul 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/07/14/blog-workflow-with-restructuredtext/">Blog Workflow with reStructuredText</a> <span class="related-post-date timestamp">Tue 14 Jul 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/02/12/twitter-experimentation/">Twitter Experimentation</a> <span class="related-post-date timestamp">Thu 12 Feb 2009</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tadhg.com/wp/2009/02/23/new-blog-functionality-recent-commentary/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Twitter Experimentation</title>
		<link>http://tadhg.com/wp/2009/02/12/twitter-experimentation/</link>
		<comments>http://tadhg.com/wp/2009/02/12/twitter-experimentation/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 02:00:40 +0000</pubDate>
		<dc:creator>Tadhg</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://tadhg.com/wp/?p=1354</guid>
		<description><![CDATA[After refusing for quite some time, I&#8217;ve decided to give Twitter a try. This might prove short-lived, but we&#8217;ll see. I like the concept of easy status updates and of disconnecting them from a larger, clunkier framework, e.g. Facebook.

I&#8217;ll experiment with them for a while and see how I like it. So far, it&#8217;s interesting [...]]]></description>
			<content:encoded><![CDATA[<p>After refusing for quite some time, I&#8217;ve decided to give <a href="http://twitter.com/tadhg_ohiggins">Twitter</a> a try. This might prove short-lived, but we&#8217;ll see. I like the concept of easy status updates and of disconnecting them from a larger, clunkier framework, e.g. Facebook.<br />
<span id="more-1354"></span><br />
I&#8217;ll experiment with them for a while and see how I like it. So far, it&#8217;s interesting enough to try integrating them with my blog, which is why there&#8217;s now a grey line at the top that says &#8220;Status:&#8221; followed by my last twitter update. The placing and look are experimental, and we&#8217;ll see whether I change that, but for the moment I think that&#8217;s where it should go.</p>
<p>I&#8217;m using Alex King&#8217;s <a href="http://wordpress.org/extend/plugins/twitter-tools/">Twitter Tools</a>, with some minor modifications (like giving the timestamp element a class of its own), to handle blog integration.</p>
<p>Apart form showing status on this blog, this will also post notifications about my blog posts to my Twitter status, which I&#8217;m not sure about. I guess it depends on how many people follow the blog but not my Twitter status, or vice versa&#8212;if there&#8217;s a lot of overlap between those two groups (as I suspect there will be) then I might disable that feature.</p>
<p>Tags: <a href="http://tadhg.com/wp/tag/blog/" rel="tag">Blog</a>, <a href="http://tadhg.com/wp/tag/personal/" rel="tag">personal</a>, <a href="http://tadhg.com/wp/tag/tech/" rel="tag">tech</a>, <a href="http://tadhg.com/wp/tag/twitter/" rel="tag">Twitter</a>, <a href="http://tadhg.com/wp/tag/wordpress/" rel="tag">WordPress</a></p><h4 class='related-posts-header'>Related Posts</h4><ul class="related-posts-list"><li class="related-post"><a href="http://tadhg.com/wp/2010/05/16/sabbatical-close/">sabbatical.close()</a> <span class="related-post-date timestamp">Sun 16 May 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/01/10/wordpress-2-9-upgrade/">WordPress 2.9 Upgrade</a> <span class="related-post-date timestamp">Sun 10 Jan 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/07/28/better-rest-wordpress-pipeline/">Better reST–WordPress Pipeline</a> <span class="related-post-date timestamp">Tue 28 Jul 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/07/14/blog-workflow-with-restructuredtext/">Blog Workflow with reStructuredText</a> <span class="related-post-date timestamp">Tue 14 Jul 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/14/wordpress-2-8-upgrade/">WordPress 2.8 Upgrade</a> <span class="related-post-date timestamp">Sun 14 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/03/23/wp-plugins-recent-commentary-and-show-tags-in-rss/">WP Plugins: Recent Commentary and Show Tags in RSS</a> <span class="related-post-date timestamp">Mon 23 Mar 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/03/19/some-rss-changes/">Some RSS Changes</a> <span class="related-post-date timestamp">Thu 19 Mar 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/02/23/new-blog-functionality-recent-commentary/">New Blog Functionality: Recent Commentary</a> <span class="related-post-date timestamp">Mon 23 Feb 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/02/01/new-blog-functionality-related-posts/">New Blog Functionality: Related Posts</a> <span class="related-post-date timestamp">Sun 01 Feb 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2008/07/10/rss-borkage/">RSS Borkage</a> <span class="related-post-date timestamp">Thu 10 Jul 2008</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tadhg.com/wp/2009/02/12/twitter-experimentation/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>New Blog Functionality: Related Posts</title>
		<link>http://tadhg.com/wp/2009/02/01/new-blog-functionality-related-posts/</link>
		<comments>http://tadhg.com/wp/2009/02/01/new-blog-functionality-related-posts/#comments</comments>
		<pubDate>Mon, 02 Feb 2009 07:37:02 +0000</pubDate>
		<dc:creator>Tadhg</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://tadhg.com/wp/?p=1293</guid>
		<description><![CDATA[Having revived my proper blog and transferred my content over, I&#8217;ve now started adding improvements, some of which I&#8217;ve been wanting to add for quite some time. The first one is a list of related posts on the individual post pages.

I used to have a spot there for similar content, but it merely fetched posts [...]]]></description>
			<content:encoded><![CDATA[<p>Having revived my proper blog and transferred my content over, I&#8217;ve now started adding improvements, some of which I&#8217;ve been wanting to add for quite some time. The first one is a list of related posts on the individual post pages.<br />
<span id="more-1293"></span><br />
I used to have a spot there for similar content, but it merely fetched posts that had some tag in common with the current one. The new version selects ten posts ordered by a) the number of tags shared with the current post and b) by date (newer first). That&#8217;s a significant improvement for browsing around, and with links to both related and random posts, I think that it makes the content on the site significantly more discoverable (which is increasingly important as I add more of it; WordPress counts 919 posts on the site, not including this one).</p>
<p>Those of your reading on RSS feeds won&#8217;t get much benefit from it, but I might try to add its functionality into my feeds sometime soon.</p>
<p>I found the process of writing it interesting, and learned a small SQL pattern that I think is interesting, but that&#8217;s something <a href="/wp/2009/02/10/related-posts-plugin-and-sql-trickery/" title="Related Posts Plugin and SQL Trickery">I&#8217;ll blog about another time, probably when I release the functionality as a plugin</a>.</p>
<p>Tags: <a href="http://tadhg.com/wp/tag/blog/" rel="tag">Blog</a>, <a href="http://tadhg.com/wp/tag/tech/" rel="tag">tech</a>, <a href="http://tadhg.com/wp/tag/wordpress/" rel="tag">WordPress</a></p><h4 class='related-posts-header'>Related Posts</h4><ul class="related-posts-list"><li class="related-post"><a href="http://tadhg.com/wp/2010/01/10/wordpress-2-9-upgrade/">WordPress 2.9 Upgrade</a> <span class="related-post-date timestamp">Sun 10 Jan 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/14/wordpress-2-8-upgrade/">WordPress 2.8 Upgrade</a> <span class="related-post-date timestamp">Sun 14 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/03/23/wp-plugins-recent-commentary-and-show-tags-in-rss/">WP Plugins: Recent Commentary and Show Tags in RSS</a> <span class="related-post-date timestamp">Mon 23 Mar 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/03/19/some-rss-changes/">Some RSS Changes</a> <span class="related-post-date timestamp">Thu 19 Mar 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/02/23/new-blog-functionality-recent-commentary/">New Blog Functionality: Recent Commentary</a> <span class="related-post-date timestamp">Mon 23 Feb 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/02/12/twitter-experimentation/">Twitter Experimentation</a> <span class="related-post-date timestamp">Thu 12 Feb 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/05/16/sabbatical-close/">sabbatical.close()</a> <span class="related-post-date timestamp">Sun 16 May 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/07/28/better-rest-wordpress-pipeline/">Better reST–WordPress Pipeline</a> <span class="related-post-date timestamp">Tue 28 Jul 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/07/14/blog-workflow-with-restructuredtext/">Blog Workflow with reStructuredText</a> <span class="related-post-date timestamp">Tue 14 Jul 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/05/24/fiction-organization/">Fiction Organization</a> <span class="related-post-date timestamp">Sun 24 May 2009</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tadhg.com/wp/2009/02/01/new-blog-functionality-related-posts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>2009 Goals</title>
		<link>http://tadhg.com/wp/2009/01/01/2009-goals/</link>
		<comments>http://tadhg.com/wp/2009/01/01/2009-goals/#comments</comments>
		<pubDate>Fri, 02 Jan 2009 01:49:38 +0000</pubDate>
		<dc:creator>Tadhg</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[goals]]></category>
		<category><![CDATA[personal]]></category>
		<category><![CDATA[reading]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[web-development]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://www.tadhg.com/wp/?p=146</guid>
		<description><![CDATA[Happy New Year!
That&#8217;s goals for the year 2009, not two thousand and nine goals, people.
I tend to start the year with a bunch of ambitions and projects—many of which I even accomplish. Some of them for this year follow.


Write at least one draft of the fantasy novel. This includes, naturally, finishing the plan for it, [...]]]></description>
			<content:encoded><![CDATA[<p>Happy New Year!</p>
<p>That&#8217;s goals for the year 2009, not two thousand and nine goals, people.</p>
<p>I tend to start the year with a bunch of ambitions and projects—many of which I even accomplish. Some of them for this year follow.<br />
<span id="more-916"></span></p>
<ul>
<li>Write at least one draft of the fantasy novel. This includes, naturally, finishing the plan for it, now slated for 36 Dec.</li>
<li>Read 80 books. I did 75 this year, why not 80 next year?</li>
<li>Write a summary/review/synopsis of every book I read. This will be a lot harder, I think. Definitely a trickier one, and a hard discipline to maintain, but we&#8217;ll see how it goes.</li>
<li>Fix my blog. This blog has been at its “temporary” home for way too long, and I need to move it, and get the various painful migratory steps over with.</li>
<li>Fix my Subversion repository. This is something else I&#8217;ve let lie for way too long.</li>
<li>Finish <a class="reference external" href="http://tadhg.com/afbh/"><cite>The Annotated Fantasy Bedtime Hour</cite></a>. Just five episodes left, and this needs to be finished.</li>
<li>Finish a writing series of mine called <a class="reference external" href="http://tadhg.com/wp/fiction/#pafib">pafib</a>, which I would link to but can&#8217;t because it&#8217;s on the old blog&#8230;</li>
<li>Finish at least three software projects, e.g. sfmagic.org, which is still dead at the moment. I want to do more coding generally.</li>
</ul>
<p>That seems like a good set for now; I&#8217;m sure I&#8217;ll come up with more as the year moves along, but I&#8217;d like to check in next year and be able to cross all these off as done. Good luck to all of you who have your own goals and plans for 2009!</p>
<p>Tags: <a href="http://tadhg.com/wp/tag/blog/" rel="tag">Blog</a>, <a href="http://tadhg.com/wp/tag/goals/" rel="tag">goals</a>, <a href="http://tadhg.com/wp/tag/personal/" rel="tag">personal</a>, <a href="http://tadhg.com/wp/tag/reading/" rel="tag">reading</a>, <a href="http://tadhg.com/wp/tag/software/" rel="tag">software</a>, <a href="http://tadhg.com/wp/tag/web-development/" rel="tag">web-development</a>, <a href="http://tadhg.com/wp/tag/writing/" rel="tag">writing</a></p><h4 class='related-posts-header'>Related Posts</h4><ul class="related-posts-list"><li class="related-post"><a href="http://tadhg.com/wp/2009/12/29/2009-goals-review/">2009 Goals Review</a> <span class="related-post-date timestamp">Tue 29 Dec 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/07/30/2009-goals-status/">2009 Goals Status</a> <span class="related-post-date timestamp">Thu 30 Jul 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/01/01/2010-goals/">2010 Goals</a> <span class="related-post-date timestamp">Fri 01 Jan 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/05/16/sabbatical-close/">sabbatical.close()</a> <span class="related-post-date timestamp">Sun 16 May 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/03/30/2010-goals-first-quarter-review/">2010 Goals: First Quarter Review</a> <span class="related-post-date timestamp">Tue 30 Mar 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2007/12/11/some-medium-term-plans/">Some Medium-Term Plans</a> <span class="related-post-date timestamp">Tue 11 Dec 2007</span></li><li class="related-post"><a href="http://tadhg.com/wp/2007/04/08/semantic-editor-application-search/">Semantic Editor Application Search</a> <span class="related-post-date timestamp">Sun 08 Apr 2007</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/08/30/perfectionism-is-hard/">Perfectionism is Hard</a> <span class="related-post-date timestamp">Mon 30 Aug 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2010/08/02/three-routines/">Three Routines</a> <span class="related-post-date timestamp">Mon 02 Aug 2010</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/09/24/rtf_word_restructuredtext-toolchain/">RTF/Word–reStructuredText Toolchain</a> <span class="related-post-date timestamp">Thu 24 Sep 2009</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tadhg.com/wp/2009/01/01/2009-goals/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
