<?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</title>
	<atom:link href="http://tadhg.com/wp/feed/" rel="self" type="application/rss+xml" />
	<link>http://tadhg.com/wp</link>
	<description>Wherein some things Tadhg are discussed</description>
	<lastBuildDate>Fri, 03 Jul 2009 07:20:42 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>A Month of CrossFit</title>
		<link>http://tadhg.com/wp/2009/07/02/a-month-of-crossfit/</link>
		<comments>http://tadhg.com/wp/2009/07/02/a-month-of-crossfit/#comments</comments>
		<pubDate>Fri, 03 Jul 2009 07:20:42 +0000</pubDate>
		<dc:creator>Tadhg</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[CrossFit]]></category>
		<category><![CDATA[exercise]]></category>
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://tadhg.com/wp/?p=1862</guid>
		<description><![CDATA[I started CrossFit proper, after having done three intro classes, on 01 Jun. I&#8217;ve managed to keep it going since, five days a week with Fridays and Sundays off. (I missed one Tuesday because of the first PyWebSF meetup.)
In that time, I&#8217;ve run a 5K, run a 10K, gained the ability to do overhand pullups, [...]]]></description>
			<content:encoded><![CDATA[<p>I started CrossFit proper, after having done three intro classes, on 01 Jun. I&#8217;ve managed to keep it going since, five days a week with Fridays and Sundays off. (I missed one Tuesday because of the <a href="http://www.pywebsf.org/2009/06/17/py-web-sf-1-june-23rd-6pm-sf-main-public-librarys-stong-room/">first PyWebSF meetup</a>.)</p>
<p>In that time, I&#8217;ve run a 5K, run a 10K, gained the ability to do overhand pullups, done some ridiculous number of burpees, and lifted serious weights for the first time in my life.<br />
<span id="more-1862"></span><br />
I was already more or less a CrossFit convert after <a href="http://tadhg.com/wp/2009/05/19/first-crossfit-wod/">my first WOD</a>, and definitely after <a href="http://tadhg.com/wp/2009/06/08/a-week-of-crossfit/">my first week</a>. After a month? Even more of a convert. &#8220;Zealot&#8221; might conceivably be accurate.</p>
<p>I realize that in my previous posts about it I haven&#8217;t mentioned where I&#8217;m doing it: <a href="http://www.crossfitkmsf.com/">CrossFit KMSF</a>. The atmosphere there has been great, and the instruction excellent, and I feel extremely lucky to have that available (and nearby!). The group of regulars is great, with competitiveness for the people who benefit from that and camaraderie for everyone.</p>
<p>Everyone&#8217;s been supportive and tolerant of me as a newbie, and (as I&#8217;ve emphasized before) the focus is on pushing people to their limits and appropriately scaling, not on driving people to attempt what is clearly beyond them.</p>
<p>The improvement I&#8217;ve felt in my fitness over that month has been rather significant. I&#8217;ve also done some other physical activity, such as Conditioning classes a few times a week, squash, and tennis, but I&#8217;ve done most of those things together before, and haven&#8217;t gotten anything like these results. It certainly feels to me that CrossFit is the difference.</p>
<p>While doing any physical activity for a month (more or less) solid is going to produce big improvements in fitness, one of the key things about CrossFit is that it doesn&#8217;t take all that much time. Many of the workouts have been finished in less than thirty minutes. Only two have taken me more than an hour. So it seems to me that the fitness return on time invested in CrossFit is rather high.</p>
<p>Just as I said after my first week, I recommend CrossFit to more or less anyone. If you&#8217;re lucky enough to have an affiliate nearby, I recommend trying it out. If you&#8217;re lucky enough to be sufficiently self-motivated to just follow the <a href="http://www.crossfit.com/">CrossFit.com</a> posts on your own, I highly recommend scaling down generously until you get an idea of where you are. There are plenty of resources on that site to help you, including demonstration videos for a lot of the movements.</p>
<p>Here are some of the <abbr title="Workout of the Day">WOD</abbr>s that stood out for me (I&#8217;m not going to call them &#8220;favorites&#8221;&#8230;):</p>
<p>Sat 06 Jun: <a href="http://www.crossfit.com/mt-archive2/004772.html">&#8220;Nicole&#8221;</a><br />
As many rounds as possible in 20 minutes of:<br />
400m run<br />
Max rep pullups</p>
<p><strong>6 rounds, 10 total kipping pullups, best kipping pullups 3, worst kipping pullups 0</strong><br />
This was my first exposure to one of the classic WODs.</p>
<hr />
<p><a href="http://www.crossfit.com/mt-archive2/004755.html">Thu 18 Jun</a>:<br />
100 jumping pullups<br />
50 15lb wall-ball shots<br />
70 jumping pullups<br />
35 15lb wall-ball shots<br />
40 jumping pullups<br />
20 15lb wall-ball shots</p>
<p><strong>26m50s</strong><br />
This was my first time doing wall-ball shots, and they were a lot harder than I expected&#8230;</p>
<hr />
<p>Wed 24 Jun: <a href="http://www.crossfit.com/mt-archive2/000881.html">&#8220;Murph&#8221;</a><br />
1-mile run<br />
200 jumping pullups<br />
200 pushups<br />
300 squats<br />
1-mile run</p>
<p><strong>1h10m</strong><br />
This one was nuts. It&#8217;s somewhat infamous as a WOD. I had a pretty hard time with it, even with the pullups scaled to 2x jumping pullups. The pushups took me forever. I was happy just to get through it.</p>
<hr />
<p>Sat 27 Jun: <a href="http://www.crossfit.com/mt-archive2/004772.html">&#8220;Nicole&#8221;</a><br />
As many rounds as possible in 20 minutes of:<br />
400m run<br />
Max rep pullups</p>
<p><strong>7 rounds, 28 total kipping pullups, best kipping pullups 6, worst kipping pullups 3</strong><br />
This is the only WOD that repeated this month, and in three weeks I managed to add a round, almost triple my pullup total, and double my best number of consecutive pullups. That seems like progress.</p>
<hr />
<p>Tue 30 Jun: <a href="http://www.crossfit.com/mt-archive2/004780.html">&#8220;Eva&#8221;</a><br />
5 rounds for time of:<br />
800m run<br />
30 35-pound kettlebell swings (down for me from 70.2-pound kettlebell swings)<br />
30 pullups (60 jumping pullups in rounds 2-5, for me)</p>
<p><strong>44m02s</strong><br />
This one was really tough. I scaled the kettlebell weight to half, and did 2x jumping pullups for the last four rounds, and it was still awful. Not quite as bad as &#8220;Murph&#8221;&#8212;although I might feel differently if I had to do real pullups for all five rounds.</p>
<hr />
<p>Wed 01 Jul:<br />
<a href="http://maps.google.com/maps/ms?ie=UTF8&#038;hl=en&#038;msa=0&#038;ll=37.798594,-122.439709&#038;spn=0.033503,0.062399&#038;z=14&#038;msid=101977358196737863521.00046daf39f3faf160968<br />
">10K run</a></p>
<p><strong>1h01m</strong><br />
I&#8217;ve never run that far before, I&#8217;m pretty sure. Great route, great weather, and it didn&#8217;t kill me&#8212;all good!</p>
<hr />
Thu 02 Jul:<br />
Each minute, on the minute, do 10 double unders (jumping rope where the rope passes under you twice when you jump), and then do as many burpees as you can in the remainder of that minute. Keep repeating this until you get to 100 burpees.</p>
<p><strong>22m47s</strong><br />
This one really did feel like it was going to kill me. At times I seriously wondered if I&#8217;d be able to finish, because it seemed like I could easily hit the point where it took me a full minute just to do the double unders. Before doing this WOD, I was only able to do double unders with about four normal jumps between them. During this WOD, necessity forced me to learn how to alternate one normal jump with one double under. That did help a lot. I still had to stop for a minute at around 70 burpees done, though. Also, perhaps just because it was the fourth day of CrossFit and the other days had been pretty hard, I felt worse after this one than after any of the others, even &#8220;Murph&#8221; or the 10K.</p>
<p>Admittedly, being slow at burpees and bad at double unders really didn&#8217;t help with this one.</p>
<hr />
<p>I realize that I didn&#8217;t include any WODs that were purely weightlifting. That&#8217;s because my lifting technique isn&#8217;t quite to the point where I can do those, so I&#8217;ve been spending those sessions working on technique rather than doing the WODs per se. Apart from that, I think the above is a reasonable selection of the variety involved in CrossFit.</p>
<p>So I managed a week, and now I&#8217;ve managed a month. I intend to make it to a year&#8212;and then to just keep doing it as something that&#8217;s become simply part of my life.</p>
<p>Did I mention that I recommend it to more or less everyone?</p>
<p>Tags: <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></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/08/a-week-of-crossfit/">A Week of CrossFit</a> <span class="related-post-date timestamp">Mon 08 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/05/21/second-crossfit-wod/">Second CrossFit WOD</a> <span class="related-post-date timestamp">Thu 21 May 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/05/19/first-crossfit-wod/">First CrossFit WOD</a> <span class="related-post-date timestamp">Tue 19 May 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/15/in-memoriam/">In Memoriam</a> <span class="related-post-date timestamp">Mon 15 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/04/online-tennis-instruction/">Online Tennis Instruction</a> <span class="related-post-date timestamp">Thu 04 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/02/squash-miscellany/">Squash Miscellany</a> <span class="related-post-date timestamp">Tue 02 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><li class="related-post"><a href="http://tadhg.com/wp/2009/05/25/back-to-tennis/">Back to Tennis</a> <span class="related-post-date timestamp">Mon 25 May 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/05/14/solo-set-and-mental-exercise/">Solo <em>Set</em> and Mental Exercise</a> <span class="related-post-date timestamp">Thu 14 May 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/05/08/my-take-on-twitter/">My Take on Twitter</a> <span class="related-post-date timestamp">Fri 08 May 2009</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tadhg.com/wp/2009/07/02/a-month-of-crossfit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wimbledon, Women&#8217;s Tennis, and Sexism</title>
		<link>http://tadhg.com/wp/2009/06/30/wimbledon-womens-tennis-and-sexism/</link>
		<comments>http://tadhg.com/wp/2009/06/30/wimbledon-womens-tennis-and-sexism/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 06:24:11 +0000</pubDate>
		<dc:creator>Tadhg</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[feminism]]></category>
		<category><![CDATA[sports]]></category>
		<category><![CDATA[tennis]]></category>

		<guid isPermaLink="false">http://tadhg.com/wp/?p=1859</guid>
		<description><![CDATA[I commented on Sunday that I&#8217;m not as interested in women&#8217;s tennis as in men&#8217;s tennis. I&#8217;ve been wondering why the disparity is so significant at the moment, as this hasn&#8217;t always been the case for me. While that was on my mind, Wimbledon and the BBC decided to throw this into the mix:

A BBC [...]]]></description>
			<content:encoded><![CDATA[<p>I commented <a href="http://tadhg.com/wp/2009/06/28/wimbledon-2009-midpoint-notes/">on Sunday</a> that I&#8217;m not as interested in women&#8217;s tennis as in men&#8217;s tennis. I&#8217;ve been wondering why the disparity is so significant at the moment, as this hasn&#8217;t always been the case for me. While that was on my mind, Wimbledon and the BBC decided to throw this into the mix:</p>
<blockquote><p>
A BBC source said: &#8216;It&#8217;s the Wimbledon play committee, not us who decides on the order of play. But obviously it&#8217;s advantageous to us if there are good-looking women players on Centre Court. No one has heard of many of the women now, so if they are pretty it definitely gives them an edge. Our preference would always be a Brit or a babe as this always delivers high viewing figures.&#8217;<br />
&#8212;Emily Andrews and Colin Fernandez, <a href="http://www.dailymail.co.uk/news/article-1196155/Babe-set-match-How-looks-count-talent-Wimbledon-decides-girls-play-Centre-Court.html">&#8220;Babe, set and match: Why looks count for more than talent when Wimbledon decides which girls will play on Centre Court&#8221;, <a href="http://www.dailymail.co.uk/">Mail Online</a>, 29 June 2009
</p></blockquote>
<p>Huh, well, that&#8217;s to be expected from a channel trying to boost ratings, I suppose, but surely the organizers of the most revered tennis tournament in the world would have no truck with such an approach?</p>
<blockquote><p>
[L]ast night, the All England Club admitted that physical attractiveness is taken into consideration.<br />
Spokesman Johnny Perkins said: &#8216;Good looks are a factor.&#8217;<br />
&#8212;Emily Andrews and Colin Fernandez, <a href="http://www.dailymail.co.uk/news/article-1196155/Babe-set-match-How-looks-count-talent-Wimbledon-decides-girls-play-Centre-Court.html">&#8220;Babe, set and match: Why looks count for more than talent when Wimbledon decides which girls will play on Centre Court&#8221;, <a href="http://www.dailymail.co.uk/">Mail Online</a>, 29 June 2009
</p></blockquote>
<p><span id="more-1859"></span><br />
Lest you think that this is merely a line taken out of context by the Daily Mail, here are some of the women who played on Centre Court in the first week, with their seedings/rankins: Gisela Dulko (none/45th), Victoria Azarenka (7th/8th), Sorana Cirstea (28th/27th), Caroline Wozniacki (9th/9th) and Maria Kirilenko (none/59th). Those players weren&#8217;t playing any of the top five in their matches, either.</p>
<p>Why is this significant? First of all, it does matter which courts players are on, because conditions are different, and also because the Hawkeye system, and probably better line judges, are more likely to be present at the main courts than the outer courts. Scheduling is not done entirely on merit, and the tournaments do try to put popular players (and/or local players) on the main courts. That can be annoying at times, but it&#8217;s generally not too bad.</p>
<p>However, looks and popularity, while they might overlap, don&#8217;t mean the same thing here. I doubt that Kirilenko is really <em>more popular</em> than Safina, Dementieva, or Kuztetsova, despite being commonly considered &#8220;better-looking&#8221;. For them to come right out and say that they will put female players on better courts based on looks is simply appalling.</p>
<p>It&#8217;s appalling because of the double standard&#8212;I don&#8217;t see this standard being applied to the male players somehow. Granted, the sociocultural setup means that it&#8217;s less likely to come up in the same way, but that&#8217;s no excuse.</p>
<p>It&#8217;s appalling because of how fundamentally disrespectful it is (and would be for either gender): these players are the best in the world at their sport/profession. Court scheduling is a factor in the matches, and isn&#8217;t something completely outside match play in the way that sponsorships are&#8212;making this a rather different issue than e.g. Anna Kournikova getting better sponsorship deals than other higher-ranked players were getting. By scheduling based on looks, the message is that despite the absolutely phenomenal achievement of getting to Wimbledon, and of being one of the best one hundred (or so) tennis players in the world, the women&#8217;s skills don&#8217;t matter as much as their looks. That&#8217;s a terrible and completely reprehensible message, and one that has no place in any sport.</p>
<p>It&#8217;s appalling because by making looks a factor here, you&#8217;re making harsh public aesthetic judgments&#8212;how do you think Dinara Safina feels about being seeded #1 and then not scheduled to play on Centre Court when it&#8217;s clear that it&#8217;s due to the organizers think she&#8217;s not pretty enough?&#8212;in a realm where those judgments don&#8217;t belong (if they belong anywhere&#8230;).</p>
<p>All of the above holds true no matter what the current state of the women&#8217;s game. It&#8217;s true that I don&#8217;t think it&#8217;s in a good place, and that the loss of Justine Henin to retirement hurt it very badly, but tennis goes through periods like that (for both genders), and that&#8217;s no justification for caving to inane demands for &#8220;sex appeal&#8221;. Particularly when Wimbledon had record ticket sales this year.</p>
<p>Tags: <a href="http://tadhg.com/wp/tag/feminism/" rel="tag">feminism</a>, <a href="http://tadhg.com/wp/tag/sports/" rel="tag">sports</a>, <a href="http://tadhg.com/wp/tag/tennis/" rel="tag">tennis</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/28/wimbledon-2009-midpoint-notes/">Wimbledon 2009 Midpoint Notes</a> <span class="related-post-date timestamp">Sun 28 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/25/david-foster-wallace-on-tennis/">David Foster Wallace on Tennis</a> <span class="related-post-date timestamp">Thu 25 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/22/black-belt-tennis/">Black Belt Tennis?</a> <span class="related-post-date timestamp">Mon 22 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/19/nadal-not-playing-wimbledon/">Nadal Not Playing Wimbledon</a> <span class="related-post-date timestamp">Fri 19 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/07/fourteen-for-federer/">Fourteen for Federer</a> <span class="related-post-date timestamp">Sun 07 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/04/online-tennis-instruction/">Online Tennis Instruction</a> <span class="related-post-date timestamp">Thu 04 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/05/31/french-open-2009-midpoint-notes/">French Open 2009 Midpoint Notes</a> <span class="related-post-date timestamp">Sun 31 May 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/05/25/back-to-tennis/">Back to Tennis</a> <span class="related-post-date timestamp">Mon 25 May 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/05/17/federer-beats-nadal-in-madrid/">Federer Beats Nadal in Madrid</a> <span class="related-post-date timestamp">Sun 17 May 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/05/15/s-l-price-on-federer-and-nadal/">S. L. Price on Federer and Nadal</a> <span class="related-post-date timestamp">Fri 15 May 2009</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tadhg.com/wp/2009/06/30/wimbledon-womens-tennis-and-sexism/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Python Script to Change OS X Desktop Backgrounds</title>
		<link>http://tadhg.com/wp/2009/06/29/python-script-to-change-os-x-desktop-backgrounds/</link>
		<comments>http://tadhg.com/wp/2009/06/29/python-script-to-change-os-x-desktop-backgrounds/#comments</comments>
		<pubDate>Tue, 30 Jun 2009 06:42:38 +0000</pubDate>
		<dc:creator>Tadhg</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[OS X]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://tadhg.com/wp/?p=1855</guid>
		<description><![CDATA[OS X has built-in functionality to rotate between different desktop backgrounds, but if you have multiple monitors and want backgrounds that fit together (i.e. that have two halves, one on each monitor), you need to set that manually. I wanted a script to do this for me, selecting a pair of backgrounds for each day. [...]]]></description>
			<content:encoded><![CDATA[<p>OS X has built-in functionality to rotate between different desktop backgrounds, but if you have multiple monitors and want backgrounds that fit together (i.e. that have two halves, one on each monitor), you need to set that manually. I wanted a script to do this for me, selecting a pair of backgrounds for each day. I wrote one in AppleScript, but was so unimpressed by it that I decided I&#8217;d do it over in Python.<br />
<span id="more-1855"></span><br />
To do this, I needed the <a href="http://appscript.sourceforge.net/py-appscript/index.html">py-appscript</a> module from <a href="http://appscript.sourceforge.net/">the appscript project</a>, which provides OS X bindings for Python, Ruby, and Objective-C.</p>
<p>Once that was installed, it wasn&#8217;t too tough to write the script I wanted:<br />
</p>
<pre class="python"><code>
#!/usr/bin/env python

#Relies on py-appscript from http://appscript.sourceforge.net/
from appscript import *

import datetime

weekday = datetime.date.today().weekday()

#Set the directory for the desktop backgrounds:
bg_dir = "/Users/tadhg/subversion/graphics/misc/re-echo_backgrounds/weekdays/"

#Set the images for each day of the week:
img_list = [
    {"l":"vico_road_summer_rock-left.jpg", "r":"vico_road_summer_rock-right.jpg"},
    {"l":"01852_dublindocklandsreflections_left.jpg", "r":"01852_dublindocklandsreflections_right.jpg"},
    #{"l":"mandolux-oldfs-l-1920.jpg", "r":"mandolux-oldfs-r-1440.jpg"},
    {"l":"point_lobos2_left.jpg", "r":"point_lobos2_right.jpg"},
    {"l":"mandolux-slowness-l-1920.jpg", "r":"mandolux-slowness-r-1440.jpg"},
    {"l":"foggygg-left.jpg", "r":"foggygg-right.jpg"},
    {"l":"muir_woods_river_left.jpg", "r":"muir_woods_river_right.jpg"},
    {"l":"vico_road_dart_left.jpg", "r":"vico_road_dart_right.jpg"}
]

#Convenience variables for left and right pictures:
l,r = "%s%s" % (bg_dir, img_list[weekday]["l"]), "%s%s" % (bg_dir, img_list[weekday]["r"])

#This is how to get the monitor display names:
#display_names = app("System Events").desktops.display_name.get()
#Left monitor:
app("System Events").desktops[its.display_name == "DELL 2407WFP"].picture.set(l)
#Right monitor:
app("System Events").desktops[its.display_name == "Color LCD"].picture.set(r)
</code></pre>
<p>The trickiest part of this was the last few lines. Getting the references to a specific desktop in the desktops array was far more difficult than I had expected&#8212;I thought first that <code>app("System Events").desktops[0]</code> would work, and then that <code>app("System Events").desktops["DELL 2407WFP"]</code> would. Neither did, and it took me quite some time, with some help from <a href="http://at.araxia.net/blog/seth/">Seth</a>, to find the bizarre <code>its.display_name ==</code> syntax.</p>
<p>Tags: <a href="http://tadhg.com/wp/tag/coding/" rel="tag">coding</a>, <a href="http://tadhg.com/wp/tag/os-x/" rel="tag">OS X</a>, <a href="http://tadhg.com/wp/tag/python/" rel="tag">python</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/26/python-syntax-highlighting-for-star-light/">Python Syntax Highlighting for star-light</a> <span class="related-post-date timestamp">Fri 26 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/12/pylons-via-apache-port-issues/">Pylons Via Apache Port Issues</a> <span class="related-post-date timestamp">Fri 12 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/09/pywebsf-meetup-for-sf-area-python-web-developers/">PyWebSF: Meetup for SF-Area Python Web Developers</a> <span class="related-post-date timestamp">Tue 09 Jun 2009</span></li><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/14/sfmagicorg-rewrite-head-to-head-done/">sfmagic.org Rewrite: Head-to-Head Done</a> <span class="related-post-date timestamp">Mon 14 Jan 2008</span></li><li class="related-post"><a href="http://tadhg.com/wp/2008/01/13/sfmagicorg-rewrite-head-to-head-some-working-sqlalchemy/">sfmagic.org Rewrite: Head-to-Head Some Working SQLAlchemy</a> <span class="related-post-date timestamp">Sun 13 Jan 2008</span></li><li class="related-post"><a href="http://tadhg.com/wp/2008/01/11/sfmagicorg-rewrite-head-to-head-working-sql-queries/">sfmagic.org Rewrite: Head-to-Head Working SQL Queries</a> <span class="related-post-date timestamp">Fri 11 Jan 2008</span></li><li class="related-post"><a href="http://tadhg.com/wp/2008/01/10/sfmagicorg-rewrite-minor-head-to-head-progress/">sfmagic.org Rewrite: Minor Head-to-Head Progress</a> <span class="related-post-date timestamp">Thu 10 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></ul>]]></content:encoded>
			<wfw:commentRss>http://tadhg.com/wp/2009/06/29/python-script-to-change-os-x-desktop-backgrounds/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Wimbledon 2009 Midpoint Notes</title>
		<link>http://tadhg.com/wp/2009/06/28/wimbledon-2009-midpoint-notes/</link>
		<comments>http://tadhg.com/wp/2009/06/28/wimbledon-2009-midpoint-notes/#comments</comments>
		<pubDate>Mon, 29 Jun 2009 06:55:20 +0000</pubDate>
		<dc:creator>Tadhg</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[sports]]></category>
		<category><![CDATA[tennis]]></category>

		<guid isPermaLink="false">http://tadhg.com/wp/?p=1851</guid>
		<description><![CDATA[Halfway through, and there aren&#8217;t too many big stories that weren&#8217;t present at the start of the tournament&#8212;the big three are still Nadal&#8217;s absence, Federer&#8217;s attempt to break the Grand Slam record, and Murray&#8217;s chances of being the first British men&#8217;s player to win in 73 years.

Nadal&#8217;s nonattendance stalks the men&#8217;s draw, even this far [...]]]></description>
			<content:encoded><![CDATA[<p>Halfway through, and there aren&#8217;t too many big stories that weren&#8217;t present at the start of the tournament&#8212;the big three are still Nadal&#8217;s absence, Federer&#8217;s attempt to break the Grand Slam record, and Murray&#8217;s chances of being the first British men&#8217;s player to win in 73 years.<br />
<span id="more-1851"></span><br />
Nadal&#8217;s nonattendance stalks the men&#8217;s draw, even this far into the tournament. As I look ahead to what might happen next week, there&#8217;s a void where Nadal would have been. The seed who was pulled up to replace him, Del Potro, is already gone, having been taken out by the only previous champion in the draw who&#8217;s not Federer: Lleyton Hewitt.  That win by Hewitt is probably the biggest story so far. Hewitt next faces Radek Stepanek, and I think he&#8217;ll win that one, setting up a potential meeting with Berdych or Roddick. Hewitt-Roddick, should they both win, could be quite a match.</p>
<p>Of the matches I saw in week one, the best were probably Marin Cilic over Sam Querrey (4-6, 7-6 (3), 6-3, 6-7 (4), 6-4), Tommy Haas over Marin Cilic (7-5, 7-5, 1-6, 6-7 (3), 10-8), and Juan Carlos Ferrero over Fernando Gonzalez (4-6, 7-5, 6-4, 4-6, 6-4). I didn&#8217;t see all that much of Haas-Cilic, but enough to convince me it was mostly high-quality tennis.</p>
<p>Cilic over Querrey and Ferrero over Gonzalez had similar endings: the player who served second in the set was down four-five and got nervous, and that was it. Until that game, Querrey hadn&#8217;t dropped a point on serve in the set, and until that game, Gonzalez hadn&#8217;t faced a break point in the set and generally looked stronger. But tennis can come down to those key moments, in ways that can seem deflating and even unfair. As a spectator, I felt bad for both Querrey and Gonzalez after the final game. For Querrey, it was because he seemed the lesser player putting up a great fight against Cilic, until the last moment.</p>
<p>With Gonzalez it seemed that he was the stronger, better, player, but Ferrero showed tremendous will in fighting him off and doing just enough to pressure him at the key time. At four-five, thirty-all, Gonzalez missed a first serve, hit a shaky forehand into the net to go down match point, and then double-faulted to give up the game. Ferrero&#8217;s earlier work in the game set all that up, and after thirty-all he merely had to get the ball in play once to secure his place in the next round.</p>
<p>It still looks good for Federer to get to the final, but he might have some tough matches along the way. Assuming everything goes predictably (and that he keeps winning), in order to reach the final he would have to beat: Soderling (who won&#8217;t be feeling the pressure he felt in the French Open final), either Fernando Verdasco (Australian Open semifinalist) or Ivo Karlovic (whose game on grass is extremely frightening&#8212;he served up forty-six aces in his win over Tsonga), and then Novak Djokovic, who is still dangerous. All three of those matches are potentially very tricky.</p>
<p>As for Murray, his path to the final looks a little smoother to me: he should beat Wawrinka tomorrow, I don&#8217;t think either Ferrero or Gilles Simon can trouble him enough (although maybe I give them too little credit), and if Hewitt or Roddick make it to the semifinals, I don&#8217;t see them taking Murray down either. It won&#8217;t be easy, but he doesn&#8217;t have to go through anyone in the top four to make it to the final, unlike Federer.</p>
<p>Federer should get there, but if he and Murray were swapped in the draw I think that Federer would be almost guaranteed to make it, while Murray would have significantly more trouble.</p>
<p>There&#8217;s an awful lot of potentially fantastic tennis left to play. Just tomorrow, the following matches could prove extremely interesting:<br />
Soderling-Federer<br />
Verdasco-Karlovic<br />
Berdych-Roddick<br />
Hewitt-Stepanek<br />
Andreev-Haas</p>
<p>I haven&#8217;t been following the women&#8217;s side as much, and it still looks like a Williams sister will take it. Jankovic going out early wasn&#8217;t a huge surprise, and the same goes for Kuznetsova. I&#8217;d love to see Ana Ivanovic give Venus Williams a shock tomorrow, but I just don&#8217;t believe it&#8217;ll happen.</p>
<p>Despite the difficulty of his draw, I still think Federer will roll on into the final, and then beat whoever he encounters there.</p>
<p>Addednum: here are the tennis blogs I&#8217;ve been reading recently:<br />
<a href="http://tennisworld.typepad.com/">TennisWorld</a><br />
<a href="http://tennisworld.typepad.com/thewrap/">Concrete Elbow</a><br />
<a href="http://straightsets.blogs.nytimes.com/">Straight Sets</a> (<em>New York Times</em>)<br />
<a href="http://espn.go.com/tennis/">ESPN Tennis</a><br />
<a href="http://www.championsseriestennis.com/player_blog.php?id=6">Jim Courier&#8217;s blog</a><br />
<a href="http://www.downthelinetennis.com/">Down the Line!</a><br />
<a href="http://cowbell.typepad.com/forty_deuce/">Forty Deuce</a><br />
<a href="http://yellowfuzzyballs.wordpress.com/">Yellow Fuzzy balls</a><br />
<a href="http://thedoublebagel.wordpress.com/">The Double Bagel</a></p>
<p>Tags: <a href="http://tadhg.com/wp/tag/sports/" rel="tag">sports</a>, <a href="http://tadhg.com/wp/tag/tennis/" rel="tag">tennis</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/30/wimbledon-womens-tennis-and-sexism/">Wimbledon, Women's Tennis, and Sexism</a> <span class="related-post-date timestamp">Tue 30 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/25/david-foster-wallace-on-tennis/">David Foster Wallace on Tennis</a> <span class="related-post-date timestamp">Thu 25 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/22/black-belt-tennis/">Black Belt Tennis?</a> <span class="related-post-date timestamp">Mon 22 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/19/nadal-not-playing-wimbledon/">Nadal Not Playing Wimbledon</a> <span class="related-post-date timestamp">Fri 19 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/07/fourteen-for-federer/">Fourteen for Federer</a> <span class="related-post-date timestamp">Sun 07 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/04/online-tennis-instruction/">Online Tennis Instruction</a> <span class="related-post-date timestamp">Thu 04 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/05/31/french-open-2009-midpoint-notes/">French Open 2009 Midpoint Notes</a> <span class="related-post-date timestamp">Sun 31 May 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/05/25/back-to-tennis/">Back to Tennis</a> <span class="related-post-date timestamp">Mon 25 May 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/05/17/federer-beats-nadal-in-madrid/">Federer Beats Nadal in Madrid</a> <span class="related-post-date timestamp">Sun 17 May 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/05/15/s-l-price-on-federer-and-nadal/">S. L. Price on Federer and Nadal</a> <span class="related-post-date timestamp">Fri 15 May 2009</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tadhg.com/wp/2009/06/28/wimbledon-2009-midpoint-notes/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/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/06/12/pylons-via-apache-port-issues/">Pylons Via Apache Port Issues</a> <span class="related-post-date timestamp">Fri 12 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/09/pywebsf-meetup-for-sf-area-python-web-developers/">PyWebSF: Meetup for SF-Area Python Web Developers</a> <span class="related-post-date timestamp">Tue 09 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2008/06/13/jquery-improvements/">jQuery Improvements</a> <span class="related-post-date timestamp">Fri 13 Jun 2008</span></li><li class="related-post"><a href="http://tadhg.com/wp/2008/02/04/coding-and-concepts-tiebreakers/">Coding and Concepts: Tiebreakers</a> <span class="related-post-date timestamp">Mon 04 Feb 2008</span></li><li class="related-post"><a href="http://tadhg.com/wp/2008/01/29/datejs/">Datejs</a> <span class="related-post-date timestamp">Tue 29 Jan 2008</span></li><li class="related-post"><a href="http://tadhg.com/wp/2008/01/21/sfmagicorg-rewrite-pod-division/">sfmagic.org Rewrite: Pod Division</a> <span class="related-post-date timestamp">Mon 21 Jan 2008</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>David Foster Wallace on Tennis</title>
		<link>http://tadhg.com/wp/2009/06/25/david-foster-wallace-on-tennis/</link>
		<comments>http://tadhg.com/wp/2009/06/25/david-foster-wallace-on-tennis/#comments</comments>
		<pubDate>Fri, 26 Jun 2009 06:51:19 +0000</pubDate>
		<dc:creator>Tadhg</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[sports]]></category>
		<category><![CDATA[tennis]]></category>
		<category><![CDATA[writing]]></category>

		<guid isPermaLink="false">http://tadhg.com/wp/?p=1834</guid>
		<description><![CDATA[The New York Times tennis blog mentioned DFW&#8217;s &#8220;String Theory&#8221; essay the other day, bringing to my attention the fact that it&#8217;s available online. I loved it when I read it in A Supposedly Fun Thing I&#8217;ll Never Do Again, and highly recommend it. David Foster Wallace wrote a number of truly excellent pieces on [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://straightsets.blogs.nytimes.com/2009/06/23/reading-list-string-theory-by-david-foster-wallace/#more-3305"><em>New York Times</em> tennis blog</a> mentioned DFW&#8217;s &#8220;String Theory&#8221; essay the other day, bringing to my attention the fact that it&#8217;s available online. I loved it when I read it in <em>A Supposedly Fun Thing I&#8217;ll Never Do Again</em>, and highly recommend it. David Foster Wallace wrote a number of truly excellent pieces on tennis, and all of them are absolutely worth reading. Here are those that I could find available online:<br />
<a href="http://www.esquire.com/features/sports/the-string-theory-0796">&#8216;The String Theory&#8217;</a><br />
<a href="http://www.harpers.org/media/pdf/dfw/HarpersMagazine-1991-12-0000710.pdf">&#8216;Tennis, Trigonometry, Tornadoes&#8217;</a><br />
<a href="http://www.nytimes.com/2006/08/20/sports/playmagazine/20federer.html">&#8216;Roger Federer as Religious Experience&#8217;</a></p>
<p>Unfortunately &#8216;How Tracy Austin Broke My Heart&#8217; doesn&#8217;t seem to be available online. It&#8217;s not about tennis in the way the others are, but it&#8217;s a fascinating look at the mentality of high-level athletes. It&#8217;s in <em>Consider the Lobster</em>, which is also full of other excellent essays.</p>
<p>Tags: <a href="http://tadhg.com/wp/tag/sports/" rel="tag">sports</a>, <a href="http://tadhg.com/wp/tag/tennis/" rel="tag">tennis</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/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/06/30/wimbledon-womens-tennis-and-sexism/">Wimbledon, Women's Tennis, and Sexism</a> <span class="related-post-date timestamp">Tue 30 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/28/wimbledon-2009-midpoint-notes/">Wimbledon 2009 Midpoint Notes</a> <span class="related-post-date timestamp">Sun 28 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/22/black-belt-tennis/">Black Belt Tennis?</a> <span class="related-post-date timestamp">Mon 22 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/19/nadal-not-playing-wimbledon/">Nadal Not Playing Wimbledon</a> <span class="related-post-date timestamp">Fri 19 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/07/fourteen-for-federer/">Fourteen for Federer</a> <span class="related-post-date timestamp">Sun 07 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/04/online-tennis-instruction/">Online Tennis Instruction</a> <span class="related-post-date timestamp">Thu 04 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/05/31/french-open-2009-midpoint-notes/">French Open 2009 Midpoint Notes</a> <span class="related-post-date timestamp">Sun 31 May 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/05/25/back-to-tennis/">Back to Tennis</a> <span class="related-post-date timestamp">Mon 25 May 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/05/17/federer-beats-nadal-in-madrid/">Federer Beats Nadal in Madrid</a> <span class="related-post-date timestamp">Sun 17 May 2009</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tadhg.com/wp/2009/06/25/david-foster-wallace-on-tennis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PyWebSF Site Update</title>
		<link>http://tadhg.com/wp/2009/06/23/pywebsf-site-update/</link>
		<comments>http://tadhg.com/wp/2009/06/23/pywebsf-site-update/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 23:46:01 +0000</pubDate>
		<dc:creator>Tadhg</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[web-development]]></category>
		<category><![CDATA[WordPress]]></category>

		<guid isPermaLink="false">http://tadhg.com/wp/?p=1831</guid>
		<description><![CDATA[I did some work on the PyWebSF site, so that it looks rather better than it did with the default WordPress theme. I altered a pretty good WordPress theme called Arras Theme, which I was fairly impressed with. As a reminder, the first meeting is tonight.
Tags: design, python, web-development, WordPressRelated PostsPython Syntax Highlighting for star-light [...]]]></description>
			<content:encoded><![CDATA[<p>I did some work on the <a href="http://www.pywebsf.org/">PyWebSF</a> site, so that it looks rather better than it did with the default WordPress theme. I altered a pretty good WordPress theme called <a href="http://www.arrastheme.com/">Arras Theme</a>, which I was fairly impressed with. As a reminder, the <a href="http://www.pywebsf.org/2009/06/17/py-web-sf-1-june-23rd-6pm-sf-main-public-librarys-stong-room/">first meeting</a> is tonight.</p>
<p>Tags: <a href="http://tadhg.com/wp/tag/design/" rel="tag">design</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>, <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/26/python-syntax-highlighting-for-star-light/">Python Syntax Highlighting for star-light</a> <span class="related-post-date timestamp">Fri 26 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/21/pywebsf-logo-attempt/">PyWebSF Logo Attempt</a> <span class="related-post-date timestamp">Sun 21 Jun 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/06/12/pylons-via-apache-port-issues/">Pylons Via Apache Port Issues</a> <span class="related-post-date timestamp">Fri 12 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/09/pywebsf-meetup-for-sf-area-python-web-developers/">PyWebSF: Meetup for SF-Area Python Web Developers</a> <span class="related-post-date timestamp">Tue 09 Jun 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/01/27/blog-move-steps-part-three-dns-change/">Blog Move Steps, Part Three: DNS Change</a> <span class="related-post-date timestamp">Tue 27 Jan 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/01/26/blog-move-steps-part-two/">Blog Move Steps, Part Two</a> <span class="related-post-date timestamp">Mon 26 Jan 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/01/25/blog-move-steps-part-one/">Blog Move Steps, Part One</a> <span class="related-post-date timestamp">Sun 25 Jan 2009</span></li><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></ul>]]></content:encoded>
			<wfw:commentRss>http://tadhg.com/wp/2009/06/23/pywebsf-site-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Black Belt Tennis?</title>
		<link>http://tadhg.com/wp/2009/06/22/black-belt-tennis/</link>
		<comments>http://tadhg.com/wp/2009/06/22/black-belt-tennis/#comments</comments>
		<pubDate>Tue, 23 Jun 2009 06:40:57 +0000</pubDate>
		<dc:creator>Tadhg</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[sports]]></category>
		<category><![CDATA[tennis]]></category>
		<category><![CDATA[video]]></category>

		<guid isPermaLink="false">http://tadhg.com/wp/?p=1825</guid>
		<description><![CDATA[Jelena Jankovi&#0263;  was the number one female tennis player in the world at the start of the year, but has fallen rapidly since (like her compatriot Ana Ivanovi&#0263; ). Jankovi&#0263;  is now number six, while Ivanovi&#0263;  is number twelve&#8230; but Jankovi&#0263; seems a tad more desperate, as rumor has it that she&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Jelena_Jankovi%C4%87">Jelena Jankovi&#0263; </a> was the number one female tennis player in the world at the start of the year, but has fallen rapidly since (like her compatriot <a href="http://en.wikipedia.org/wiki/Ana_Ivanovi%C4%87">Ana Ivanovi&#0263; </a>). Jankovi&#0263;  is now number six, while Ivanovi&#0263;  is number twelve&#8230; but Jankovi&#0263; seems a tad more desperate, as <a href="http://www.downthelinetennis.com/2009/06/low-down-new-coach-for-jj-at-wimbledon.html">rumor has it</a> that she&#8217;s considering a coaching switch to the guy behind this video:</p>
<p><object width="425" height="344"><param name="movie" value="http://www.youtube.com/v/zI2Vqh4RSEs&#038;hl=en&#038;fs=1&#038;ap=%2526fmt%3D18"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/zI2Vqh4RSEs&#038;hl=en&#038;fs=1&#038;ap=%2526fmt%3D18" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"></embed></object></p>
<p>I don&#8217;t think that can be a good sign.</p>
<p>Tags: <a href="http://tadhg.com/wp/tag/sports/" rel="tag">sports</a>, <a href="http://tadhg.com/wp/tag/tennis/" rel="tag">tennis</a>, <a href="http://tadhg.com/wp/tag/video/" rel="tag">video</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/12/29/federer-highlights-2008/">Federer Highlights 2008</a> <span class="related-post-date timestamp">Mon 29 Dec 2008</span></li><li class="related-post"><a href="http://tadhg.com/wp/2008/12/21/ridiculous-return-game/">Ridiculous Return Game</a> <span class="related-post-date timestamp">Sun 21 Dec 2008</span></li><li class="related-post"><a href="http://tadhg.com/wp/2008/09/30/dont-rile-the-federer/">Don't Rile the Federer</a> <span class="related-post-date timestamp">Tue 30 Sep 2008</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/30/wimbledon-womens-tennis-and-sexism/">Wimbledon, Women's Tennis, and Sexism</a> <span class="related-post-date timestamp">Tue 30 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/28/wimbledon-2009-midpoint-notes/">Wimbledon 2009 Midpoint Notes</a> <span class="related-post-date timestamp">Sun 28 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/25/david-foster-wallace-on-tennis/">David Foster Wallace on Tennis</a> <span class="related-post-date timestamp">Thu 25 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/19/nadal-not-playing-wimbledon/">Nadal Not Playing Wimbledon</a> <span class="related-post-date timestamp">Fri 19 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/07/fourteen-for-federer/">Fourteen for Federer</a> <span class="related-post-date timestamp">Sun 07 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/04/online-tennis-instruction/">Online Tennis Instruction</a> <span class="related-post-date timestamp">Thu 04 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/05/31/french-open-2009-midpoint-notes/">French Open 2009 Midpoint Notes</a> <span class="related-post-date timestamp">Sun 31 May 2009</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tadhg.com/wp/2009/06/22/black-belt-tennis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PyWebSF Logo Attempt</title>
		<link>http://tadhg.com/wp/2009/06/21/pywebsf-logo-attempt/</link>
		<comments>http://tadhg.com/wp/2009/06/21/pywebsf-logo-attempt/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 07:03:05 +0000</pubDate>
		<dc:creator>Tadhg</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[web-development]]></category>

		<guid isPermaLink="false">http://tadhg.com/wp/?p=1819</guid>
		<description><![CDATA[My brother asked me a while ago to design a logo for PyWebSF, and tonight I took a shot at it. Part of me thinks it has a certain something, and part of me thinks it&#8217;s exactly the sort of thing you get when you ask an engineer to do a designer&#8217;s job.


I created it [...]]]></description>
			<content:encoded><![CDATA[<p>My brother asked me a while ago to design a logo for <a href="http://www.pywebsf.org/">PyWebSF</a>, and tonight I took a shot at it. Part of me thinks it has a certain something, and part of me thinks it&#8217;s exactly the sort of thing you get when you ask an engineer to do a designer&#8217;s job.<br />
<span id="more-1819"></span><br />
<img src="/images/design/pywebsf2.png" title="PyWebSF logo" alt="PyWebSF logo" /></p>
<p>I created it using <a href="http://www.inkscape.org/">Inkscape</a>, a free software vector graphics editor. I haven&#8217;t used Inkscape much before this, and was pretty impressed with it. If you think the logo sucks, I can assure you that the reason it sucks is not Inkscape.</p>
<p>Tags: <a href="http://tadhg.com/wp/tag/coding/" rel="tag">coding</a>, <a href="http://tadhg.com/wp/tag/design/" rel="tag">design</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/2007/01/18/why-i-cant-stand-html-email/">Why I Can't Stand HTML Email</a> <span class="related-post-date timestamp">Thu 18 Jan 2007</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/26/python-syntax-highlighting-for-star-light/">Python Syntax Highlighting for star-light</a> <span class="related-post-date timestamp">Fri 26 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/23/pywebsf-site-update/">PyWebSF Site Update</a> <span class="related-post-date timestamp">Tue 23 Jun 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/06/12/pylons-via-apache-port-issues/">Pylons Via Apache Port Issues</a> <span class="related-post-date timestamp">Fri 12 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/09/pywebsf-meetup-for-sf-area-python-web-developers/">PyWebSF: Meetup for SF-Area Python Web Developers</a> <span class="related-post-date timestamp">Tue 09 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/03/12/yahoos-website-performance-rules/">Yahoo!'s Website Performance Rules</a> <span class="related-post-date timestamp">Thu 12 Mar 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/01/27/blog-move-steps-part-three-dns-change/">Blog Move Steps, Part Three: DNS Change</a> <span class="related-post-date timestamp">Tue 27 Jan 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/01/26/blog-move-steps-part-two/">Blog Move Steps, Part Two</a> <span class="related-post-date timestamp">Mon 26 Jan 2009</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tadhg.com/wp/2009/06/21/pywebsf-logo-attempt/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nadal Not Playing Wimbledon</title>
		<link>http://tadhg.com/wp/2009/06/19/nadal-not-playing-wimbledon/</link>
		<comments>http://tadhg.com/wp/2009/06/19/nadal-not-playing-wimbledon/#comments</comments>
		<pubDate>Sat, 20 Jun 2009 06:19:07 +0000</pubDate>
		<dc:creator>Tadhg</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[sports]]></category>
		<category><![CDATA[tennis]]></category>

		<guid isPermaLink="false">http://tadhg.com/wp/?p=1815</guid>
		<description><![CDATA[Three days before the tournament begins, defending champion Rafael Nadal withdraws. This isn&#8217;t too much of a surprise given that he skipped Queen&#8217;s, but it&#8217;s definitely bad news.

Like many tennis fans, I was hoping for another Federer/Nadal final, as last year&#8217;s was amazing.
I already considered Federer to be the favorite, and this doesn&#8217;t change that. [...]]]></description>
			<content:encoded><![CDATA[<p>Three days before the tournament begins, <a href="http://sports.espn.go.com/sports/tennis/news/story?id=4272537">defending champion Rafael Nadal withdraws</a>. This isn&#8217;t too much of a surprise given that he skipped Queen&#8217;s, but it&#8217;s definitely bad news.<br />
<span id="more-1815"></span><br />
Like many tennis fans, I was hoping for another Federer/Nadal final, as <a href="http://tadhg.com/wp/2008/07/07/greatest-wimbledon-final-ever/" title="Greatest Wimbledon Final Ever?">last year&#8217;s was amazing</a>.</p>
<p>I already considered Federer to be the favorite, and this doesn&#8217;t change that. According to how the seeding goes now, he&#8217;s set up to play Andy Murray in the final, which would be another matchup where Federer has poor head-to-head results. However, Federer is just different at Grand Slams, and while Nadal has beaten him at Slams rather a lot, Murray never has, and in fact went down in straight sets at the US Open. Incidentally, going into the US Open last year Murray had beaten Federer the last two times they&#8217;d played; going into this year&#8217;s Wimbledon he has a streak of four straight matches over Federer.</p>
<p>However, Federer is in my view a lot more likely to get to the final than Murray, just because he&#8217;s far more consistent, has a much better record on grass, and seems like he&#8217;ll be riding a lot of confidence after the French Open win. Murray has to deal with all the British hype, too.</p>
<p>I think that Roddick could do well, especially since he&#8217;s on the opposite side of the draw from Federer, assuming his ankle injury isn&#8217;t hampering him. I&#8217;m quite curious about how Robin Soderling, Fernando Verdasco, Fernando Gonzalez, and Juan Martin Del Potro do at it; Verdasco because I wonder if he can recover his early-season form on a faster surface, and the others because I wonder if they can build on their strong French Open results.</p>
<p>On the women&#8217;s side, I have a hard time seeing someone other than one of the Williams sisters winning it. Sharapova seems like she&#8217;s still struggling with her comeback a little too much, Kuznetsova hasn&#8217;t been great on grass in her career, and Safina has also been poor on grass and seems shaky. Dementieva could do well, but beating Serena or Venus seems unlikely. Ivanovic and Jankovic seem to be in free-fall, and it seems like outside of the Williams sisters it&#8217;s really unpredictable.</p>
<p>I don&#8217;t like grass court tennis as much as clay court tennis, but I&#8217;ll still be watching as much of this one as I can&#8230; of course, that&#8217;s true of all the Grand Slams at this point.</p>
<p>Tags: <a href="http://tadhg.com/wp/tag/sports/" rel="tag">sports</a>, <a href="http://tadhg.com/wp/tag/tennis/" rel="tag">tennis</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/30/wimbledon-womens-tennis-and-sexism/">Wimbledon, Women's Tennis, and Sexism</a> <span class="related-post-date timestamp">Tue 30 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/28/wimbledon-2009-midpoint-notes/">Wimbledon 2009 Midpoint Notes</a> <span class="related-post-date timestamp">Sun 28 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/25/david-foster-wallace-on-tennis/">David Foster Wallace on Tennis</a> <span class="related-post-date timestamp">Thu 25 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/22/black-belt-tennis/">Black Belt Tennis?</a> <span class="related-post-date timestamp">Mon 22 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/07/fourteen-for-federer/">Fourteen for Federer</a> <span class="related-post-date timestamp">Sun 07 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/04/online-tennis-instruction/">Online Tennis Instruction</a> <span class="related-post-date timestamp">Thu 04 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/05/31/french-open-2009-midpoint-notes/">French Open 2009 Midpoint Notes</a> <span class="related-post-date timestamp">Sun 31 May 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/05/25/back-to-tennis/">Back to Tennis</a> <span class="related-post-date timestamp">Mon 25 May 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/05/17/federer-beats-nadal-in-madrid/">Federer Beats Nadal in Madrid</a> <span class="related-post-date timestamp">Sun 17 May 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/05/15/s-l-price-on-federer-and-nadal/">S. L. Price on Federer and Nadal</a> <span class="related-post-date timestamp">Fri 15 May 2009</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tadhg.com/wp/2009/06/19/nadal-not-playing-wimbledon/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Passwords Please</title>
		<link>http://tadhg.com/wp/2009/06/18/passwords-please/</link>
		<comments>http://tadhg.com/wp/2009/06/18/passwords-please/#comments</comments>
		<pubDate>Fri, 19 Jun 2009 06:52:29 +0000</pubDate>
		<dc:creator>Tadhg</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[economics]]></category>
		<category><![CDATA[politics]]></category>
		<category><![CDATA[power]]></category>
		<category><![CDATA[privacy]]></category>
		<category><![CDATA[psychology]]></category>

		<guid isPermaLink="false">http://tadhg.com/wp/?p=1811</guid>
		<description><![CDATA[I know this has been on BoingBoing already, but it seems so ridiculous that I can&#8217;t resist posting it here too:

[The City of Bozeman]&#8217;s background check policy &#8230; states that to be considered for a job applicants must provide log-in information and passwords for social network sites in which they participate
(emphasis mine)
&#8212;&#8220;Bozeman City job requirement [...]]]></description>
			<content:encoded><![CDATA[<p>I know this <a href="http://www.boingboing.net/2009/06/17/city-in-montana-requ.html">has been on BoingBoing already</a>, but it seems so ridiculous that I can&#8217;t resist posting it here too:</p>
<blockquote><p>
[The City of Bozeman]&#8217;s background check policy &#8230; states that to be considered for a job applicants must provide log-in information <em>and passwords</em> for social network sites in which they participate<br />
(emphasis mine)<br />
&#8212;<a href="http://montanasnewsstation.com/Global/story.asp?S=10551414&#038;nav=menu227_3">&#8220;Bozeman City job requirement raises privacy concerns&#8221;</a>, Dan Boyce, <a href="http://montanasnewsstation.com/">montanasnewsstation.com</a>, 18 Jun 2009
</p></blockquote>
<p><span id="more-1811"></span><br />
That they ask for your username is one thing, and perhaps justifiable&#8212;after all, if someone can see information about you by using that username, the information is by definition public. It seems reasonable to ask for usernames if the city is already going to perform background checks of this kind, which is probably defensible.</p>
<p>Asking for the passwords, however, is completely ridiculous. I can&#8217;t really believe that they do that and try to defend it. I also wonder if the people who crafted the policy really understand what it means to have the username and password, what the potential for abuse is there, and that even if the policy were reasonable and executed in good faith (which I strongly doubt) they would have to have a fairly impressive infrastructure for keeping secure the information that applicants have given up.</p>
<p>Writing the passwords down on the application form doesn&#8217;t really strike me as a good start.</p>
<p>The city attorney claims that no-one has ever removed themselves from consideration upon reaching that point, but presumably a lot of people simply won&#8217;t fill out the section required. On the other hand, there may be enough people out there who think that blithely handing over what may effectively be the keys to your digital life to employees of the City of Bozeman is a perfectly fine thing to do.</p>
<p>This kind of overreach is becoming more and more common. There&#8217;s already the whole drug-testing thing, which I regard as an unconscionable invasion of privacy for the vast majority of positions, and I suspect that the people who scare employers into using their services for drug-testing are going to start pushing &#8220;online profiling&#8221; tools that will require similar pieces of information to what the City of Bozeman wants.</p>
<p>Personally, I have no reason to worry about either a drug test or about what a potential employer would find if given my Facebook (or whatever) usernames and passwords. But I would refuse to supply them, and I&#8217;d refuse a drug test. I wish more people had that option, and that more of the labor market could meaningfully resist this kind of thing&#8212;but the larger issue of power relations between labor and employers isn&#8217;t one I&#8217;m going to explore in this post.</p>
<p>Tags: <a href="http://tadhg.com/wp/tag/economics/" rel="tag">economics</a>, <a href="http://tadhg.com/wp/tag/politics/" rel="tag">politics</a>, <a href="http://tadhg.com/wp/tag/power/" rel="tag">power</a>, <a href="http://tadhg.com/wp/tag/privacy/" rel="tag">privacy</a>, <a href="http://tadhg.com/wp/tag/psychology/" rel="tag">psychology</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/2007/12/03/naked-racism/">Naked Racism</a> <span class="related-post-date timestamp">Mon 03 Dec 2007</span></li><li class="related-post"><a href="http://tadhg.com/wp/2007/04/10/political-turmoil-in-legotown/">Political Turmoil in Legotown</a> <span class="related-post-date timestamp">Tue 10 Apr 2007</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/05/spock-evil-regimes-and-tasers/">Spock, Evil Regimes, and Tasers</a> <span class="related-post-date timestamp">Fri 05 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/01/do-not-smile-at-the-machine/">Do Not Smile At The Machine</a> <span class="related-post-date timestamp">Mon 01 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2008/12/15/15-billion-in-biometrics/">$15 Billion in Biometrics</a> <span class="related-post-date timestamp">Mon 15 Dec 2008</span></li><li class="related-post"><a href="http://tadhg.com/wp/2008/12/02/sometimes-only-the-paranoid-resist/">Sometimes Only the Paranoid Resist</a> <span class="related-post-date timestamp">Tue 02 Dec 2008</span></li><li class="related-post"><a href="http://tadhg.com/wp/2008/11/25/controlling-public-opinion/">Controlling Public Opinion</a> <span class="related-post-date timestamp">Tue 25 Nov 2008</span></li><li class="related-post"><a href="http://tadhg.com/wp/2008/11/18/cheney-and-gonzales-indicted-by-texas-grand-jury/">Cheney and Gonzales Indicted by Texas Grand Jury</a> <span class="related-post-date timestamp">Tue 18 Nov 2008</span></li><li class="related-post"><a href="http://tadhg.com/wp/2008/10/03/safe-in-the-hands-of-henry-paulson/">Safe in the Hands of Henry Paulson</a> <span class="related-post-date timestamp">Fri 03 Oct 2008</span></li><li class="related-post"><a href="http://tadhg.com/wp/2008/10/02/bailout-en-route/">Bailout En Route?</a> <span class="related-post-date timestamp">Thu 02 Oct 2008</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tadhg.com/wp/2009/06/18/passwords-please/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Random Bay Area Photo 2</title>
		<link>http://tadhg.com/wp/2009/06/16/random-bay-area-photo-2/</link>
		<comments>http://tadhg.com/wp/2009/06/16/random-bay-area-photo-2/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 06:26:41 +0000</pubDate>
		<dc:creator>Tadhg</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[photos]]></category>
		<category><![CDATA[san-francisco]]></category>

		<guid isPermaLink="false">http://tadhg.com/wp/?p=1808</guid>
		<description><![CDATA[I like this shot despite the various crooked lines.

Tags: photos, san-franciscoRelated PostsFog and Sun around San Francisco Sun 19 Apr 2009Random SF Shot Tue 08 Apr 2008View from 575 Market Street Fri 07 Dec 2007Foggy Neighborhood Morning Sun 18 Nov 2007PyWebSF: Meetup for SF-Area Python Web Developers Tue 09 Jun 2009Random Bay Area Photo Fri [...]]]></description>
			<content:encoded><![CDATA[<p>I like this shot despite the various crooked lines.</p>
<p><a href="/images/photos/20090515_unionsquare/unionsquarenight.jpg" title="Union Square Night" class="thickbox" rel="gallery"><img src="/images/photos/20090515_unionsquare/tn_unionsquarenight.jpg" alt="Union Square Night" /></a></p>
<p>Tags: <a href="http://tadhg.com/wp/tag/photos/" rel="tag">photos</a>, <a href="http://tadhg.com/wp/tag/san-francisco/" rel="tag">san-francisco</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/04/19/fog-and-sun-around-san-francisco/">Fog and Sun around San Francisco</a> <span class="related-post-date timestamp">Sun 19 Apr 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2008/04/08/random-sf-shot/">Random SF Shot</a> <span class="related-post-date timestamp">Tue 08 Apr 2008</span></li><li class="related-post"><a href="http://tadhg.com/wp/2007/12/07/view-from-575-market-street/">View from 575 Market Street</a> <span class="related-post-date timestamp">Fri 07 Dec 2007</span></li><li class="related-post"><a href="http://tadhg.com/wp/2007/11/18/foggy-neighborhood-morning/">Foggy Neighborhood Morning</a> <span class="related-post-date timestamp">Sun 18 Nov 2007</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/09/pywebsf-meetup-for-sf-area-python-web-developers/">PyWebSF: Meetup for SF-Area Python Web Developers</a> <span class="related-post-date timestamp">Tue 09 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/05/29/random-bay-area-photo/">Random Bay Area Photo</a> <span class="related-post-date timestamp">Fri 29 May 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/04/05/point-lobos-photos/">Point Lobos Photos</a> <span class="related-post-date timestamp">Sun 05 Apr 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/02/24/rolling-poorly-on-the-random-bad-driving-encounter-table/">Rolling Poorly on the Random Bad Driving Encounter Table</a> <span class="related-post-date timestamp">Tue 24 Feb 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/02/08/comparative-costs-of-us-city-living/">Comparative Costs of US City Living</a> <span class="related-post-date timestamp">Sun 08 Feb 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2008/02/05/desultory-voting/">Desultory Voting</a> <span class="related-post-date timestamp">Tue 05 Feb 2008</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tadhg.com/wp/2009/06/16/random-bay-area-photo-2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>In Memoriam</title>
		<link>http://tadhg.com/wp/2009/06/15/in-memoriam/</link>
		<comments>http://tadhg.com/wp/2009/06/15/in-memoriam/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 19:56:15 +0000</pubDate>
		<dc:creator>Tadhg</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[grief]]></category>
		<category><![CDATA[personal]]></category>

		<guid isPermaLink="false">http://tadhg.com/wp/?p=1800</guid>
		<description><![CDATA[My father, Edward O&#8217;Higgins, RIP. I miss him.
Tags: grief, personalRelated PostsFuneral Speech Sun 22 Jun 2008Funeral Arrangements Tue 17 Jun 2008My Father Sun 15 Jun 2008A Month of CrossFit Thu 02 Jul 2009A Week of CrossFit Mon 08 Jun 2009Online Tennis Instruction Thu 04 Jun 2009Squash Miscellany Tue 02 Jun 20091000th Post Tue 26 May [...]]]></description>
			<content:encoded><![CDATA[<p>My father, Edward O&#8217;Higgins, RIP. I miss him.</p>
<p>Tags: <a href="http://tadhg.com/wp/tag/grief/" rel="tag">grief</a>, <a href="http://tadhg.com/wp/tag/personal/" rel="tag">personal</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/06/22/funeral-speech/">Funeral Speech</a> <span class="related-post-date timestamp">Sun 22 Jun 2008</span></li><li class="related-post"><a href="http://tadhg.com/wp/2008/06/17/funeral-arrangements/">Funeral Arrangements</a> <span class="related-post-date timestamp">Tue 17 Jun 2008</span></li><li class="related-post"><a href="http://tadhg.com/wp/2008/06/15/my-father/">My Father</a> <span class="related-post-date timestamp">Sun 15 Jun 2008</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/07/02/a-month-of-crossfit/">A Month of CrossFit</a> <span class="related-post-date timestamp">Thu 02 Jul 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/08/a-week-of-crossfit/">A Week of CrossFit</a> <span class="related-post-date timestamp">Mon 08 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/04/online-tennis-instruction/">Online Tennis Instruction</a> <span class="related-post-date timestamp">Thu 04 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/02/squash-miscellany/">Squash Miscellany</a> <span class="related-post-date timestamp">Tue 02 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><li class="related-post"><a href="http://tadhg.com/wp/2009/05/25/back-to-tennis/">Back to Tennis</a> <span class="related-post-date timestamp">Mon 25 May 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/05/21/second-crossfit-wod/">Second CrossFit WOD</a> <span class="related-post-date timestamp">Thu 21 May 2009</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tadhg.com/wp/2009/06/15/in-memoriam/feed/</wfw:commentRss>
		<slash:comments>6</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/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/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/06/26/python-syntax-highlighting-for-star-light/">Python Syntax Highlighting for star-light</a> <span class="related-post-date timestamp">Fri 26 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/12/pylons-via-apache-port-issues/">Pylons Via Apache Port Issues</a> <span class="related-post-date timestamp">Fri 12 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/09/pywebsf-meetup-for-sf-area-python-web-developers/">PyWebSF: Meetup for SF-Area Python Web Developers</a> <span class="related-post-date timestamp">Tue 09 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/03/12/yahoos-website-performance-rules/">Yahoo!'s Website Performance Rules</a> <span class="related-post-date timestamp">Thu 12 Mar 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/06/14/wordpress-2-8-upgrade/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pylons Via Apache Port Issues</title>
		<link>http://tadhg.com/wp/2009/06/12/pylons-via-apache-port-issues/</link>
		<comments>http://tadhg.com/wp/2009/06/12/pylons-via-apache-port-issues/#comments</comments>
		<pubDate>Sat, 13 Jun 2009 00:42:14 +0000</pubDate>
		<dc:creator>Tadhg</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[apache]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[pylons]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[web-development]]></category>

		<guid isPermaLink="false">http://tadhg.com/wp/?p=1792</guid>
		<description><![CDATA[I&#8217;ve been using Pylons (and, more recently, the Pylons-based TurboGears 2.0) for various projects for a while, and a few weeks ago ran into an annoying and specific problem: using Pylons via Apache made Pylons occasionally think it was running on a different port.
There&#8217;s a relatively easy answer to this, but until I was reading [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been using <a href="http://www.pylonshq.com/">Pylons</a> (and, more recently, the Pylons-based <a href="http://turbogears.org/2.0/">TurboGears 2.0</a>) for various projects for a while, and a few weeks ago ran into an annoying and specific problem: using Pylons via Apache made Pylons occasionally think it was running on a different port.</p>
<p>There&#8217;s a relatively easy answer to this, but until I was reading through TurboGears documentation, I didn&#8217;t find it.<br />
<span id="more-1792"></span><br />
The basic setup is this: I&#8217;m running my Pylons project on some arbitrary port, and I want to point some URL that Apache knows about from port 80 to that arbitrary port. I use a RewriteRule to do this, as follows.</p>
<p>Pylons development.ini:</p>
<pre class="php">
[server:main]
use = egg:Paste#http
host = sub.server.tld
port = 12345
</pre>
<p>apache.conf:</p>
<pre class="php">
&lt;VirtualHost *:80&gt;
ServerName sub.server.tld
RewriteEngine On
RewriteRule  ^/(.*) http://sub.server.tld:12345/$1 [P]
DocumentRoot /path/to/pylons/project
&lt;/VirtualHost&gt;
</pre>
<p>All that does is have Apache look for incoming port 80 requests to that subdomain and then pass them to that subdomain on port 12345, which is where the Pylons app is listening.</p>
<p>That works just fine until, for any reason, you have your Pylons project execute a local redirect, e.g. <code>redirect("/nextpage/")</code>. At this point Pylons will tell the browser to go to <code>http://sub.server.tld:12345/nextpage/</code>, which for me caused all kinds of problems.</p>
<p>Embarrassingly, I couldn&#8217;t find the answer to this problem, despite looking through everything I could find about where Pylons sets its host name and port in the environment, etc.</p>
<p>When I was setting up TurboGears 2, however, I noticed a reference to using TurboGears behind Apache as a reverse proxy, and instructions on doing that. The RewriteRule above is essentially doing exactly that, but I hadn&#8217;t thought of it in those terms. The reverse proxy instructions included how to deal with the port issues. There were a couple of further hiccups, but I ultimately got it working.</p>
<p>The Apache configuration stays the same, as does the <code>server:main</code> section of development.ini. Change the title of the <code>app:main</code> section to <code>app:pylons</code>. Then add the following to development.ini:</p>
<pre class="php">
[pipeline:main]
pipeline = proxy pylons

[filter:proxy]
use = egg:PasteDeploy#prefix
prefix = /
force_port:80
</pre>
<p>That&#8217;s it; <code>pipeline</code> tells it to run through proxy before running the pylons section (which is what used to be your <code>app:main</code> section), and the <code>filter:proxy</code> section tells it to force the port to 80.</p>
<p>The only other thing to remember is that now you have to run<br />
<code>paster setup-app development.ini#pylons</code><br />
instead of<br />
<code>paster setup-app development.ini</code></p>
<p>(Note that this is for small or in-development projects only&#8212;if you&#8217;re going to be running anything that requires better performance, paster behind an Apache Rewrite is probably not the way to go.)</p>
<p>Tags: <a href="http://tadhg.com/wp/tag/apache/" rel="tag">apache</a>, <a href="http://tadhg.com/wp/tag/coding/" rel="tag">coding</a>, <a href="http://tadhg.com/wp/tag/pylons/" rel="tag">pylons</a>, <a href="http://tadhg.com/wp/tag/python/" rel="tag">python</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></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/09/pywebsf-meetup-for-sf-area-python-web-developers/">PyWebSF: Meetup for SF-Area Python Web Developers</a> <span class="related-post-date timestamp">Tue 09 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/26/python-syntax-highlighting-for-star-light/">Python Syntax Highlighting for star-light</a> <span class="related-post-date timestamp">Fri 26 Jun 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/12/yahoos-website-performance-rules/">Yahoo!'s Website Performance Rules</a> <span class="related-post-date timestamp">Thu 12 Mar 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/2008/03/18/editable-google-maps/">Editable Google Maps</a> <span class="related-post-date timestamp">Tue 18 Mar 2008</span></li><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/14/sfmagicorg-rewrite-head-to-head-done/">sfmagic.org Rewrite: Head-to-Head Done</a> <span class="related-post-date timestamp">Mon 14 Jan 2008</span></li><li class="related-post"><a href="http://tadhg.com/wp/2008/01/13/sfmagicorg-rewrite-head-to-head-some-working-sqlalchemy/">sfmagic.org Rewrite: Head-to-Head Some Working SQLAlchemy</a> <span class="related-post-date timestamp">Sun 13 Jan 2008</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tadhg.com/wp/2009/06/12/pylons-via-apache-port-issues/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PyWebSF: Meetup for SF-Area Python Web Developers</title>
		<link>http://tadhg.com/wp/2009/06/09/pywebsf-meetup-for-sf-area-python-web-developers/</link>
		<comments>http://tadhg.com/wp/2009/06/09/pywebsf-meetup-for-sf-area-python-web-developers/#comments</comments>
		<pubDate>Wed, 10 Jun 2009 06:07:08 +0000</pubDate>
		<dc:creator>Tadhg</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[coding]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[san-francisco]]></category>
		<category><![CDATA[tech]]></category>
		<category><![CDATA[web-development]]></category>

		<guid isPermaLink="false">http://tadhg.com/wp/?p=1784</guid>
		<description><![CDATA[My brother is organizing what will hopefully become a regular web-centric Python meeting. The first meeting is planned for 18:00 Tue 23 Jun 2009 at the SF Public Library. I think a couple of speakers are lined up already, although I don&#8217;t have details on the talks. I&#8217;ll be there, and if you&#8217;re a Python [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://niallohiggins.com/">My brother</a> is organizing what will hopefully become a <a href="http://www.pywebsf.org/2009/06/08/pyweb-sf-a-monthly-python-web-technology-meet-up/">regular web-centric Python meeting</a>. The first meeting is planned for 18:00 Tue 23 Jun 2009 at the SF Public Library. I think a couple of speakers are lined up already, although I don&#8217;t have details on the talks. I&#8217;ll be there, and if you&#8217;re a Python developer with web interests, or a web developer into or curious about Python, you should attend too!</p>
<p>Tags: <a href="http://tadhg.com/wp/tag/coding/" rel="tag">coding</a>, <a href="http://tadhg.com/wp/tag/python/" rel="tag">python</a>, <a href="http://tadhg.com/wp/tag/san-francisco/" rel="tag">san-francisco</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></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/12/pylons-via-apache-port-issues/">Pylons Via Apache Port Issues</a> <span class="related-post-date timestamp">Fri 12 Jun 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/06/26/python-syntax-highlighting-for-star-light/">Python Syntax Highlighting for star-light</a> <span class="related-post-date timestamp">Fri 26 Jun 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/12/yahoos-website-performance-rules/">Yahoo!'s Website Performance Rules</a> <span class="related-post-date timestamp">Thu 12 Mar 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/2008/03/18/editable-google-maps/">Editable Google Maps</a> <span class="related-post-date timestamp">Tue 18 Mar 2008</span></li><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/14/sfmagicorg-rewrite-head-to-head-done/">sfmagic.org Rewrite: Head-to-Head Done</a> <span class="related-post-date timestamp">Mon 14 Jan 2008</span></li><li class="related-post"><a href="http://tadhg.com/wp/2008/01/13/sfmagicorg-rewrite-head-to-head-some-working-sqlalchemy/">sfmagic.org Rewrite: Head-to-Head Some Working SQLAlchemy</a> <span class="related-post-date timestamp">Sun 13 Jan 2008</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tadhg.com/wp/2009/06/09/pywebsf-meetup-for-sf-area-python-web-developers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Erfworld Book One</title>
		<link>http://tadhg.com/wp/2009/06/09/erfworld-book-one/</link>
		<comments>http://tadhg.com/wp/2009/06/09/erfworld-book-one/#comments</comments>
		<pubDate>Tue, 09 Jun 2009 21:24:34 +0000</pubDate>
		<dc:creator>Tadhg</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[comics]]></category>
		<category><![CDATA[reading]]></category>
		<category><![CDATA[reviews]]></category>

		<guid isPermaLink="false">http://tadhg.com/wp/?p=1787</guid>
		<description><![CDATA[I mentioned Erfworld last year, and I thought I&#8217;d plug it again now that it&#8217;s moved to its own website and the first book is finished. I remain extremely impressed with it, and am eagerly waiting for Book One to come out in print form. It starts here, and is definitely worth the read.

Book Two [...]]]></description>
			<content:encoded><![CDATA[<p>I mentioned <em>Erfworld</em> <a href="http://tadhg.com/wp/2008/05/04/the-order-of-the-stick-and-erfworld/">last year</a>, and I thought I&#8217;d plug it again now that it&#8217;s moved to its <a href="http://www.erfworld.com/">own website</a> and the first book is finished. I remain extremely impressed with it, and am eagerly waiting for Book One to come out in print form. It <a href="http://www.erfworld.com/book-1-archive/?px=%2F001.jpg">starts here</a>, and is definitely worth the read.<br />
<span id="more-1787"></span><br />
Book Two is slated to start in the fall, and in the interim the creators are putting up written pieces (paragraphs of text with one picture) to cover the happenings between the two books. I haven&#8217;t been so impressed with those so far, but that doesn&#8217;t take away from the strength of the comic proper.</p>
<p>Also, <em><a href="http://www.giantitp.com/comics/oots0001.html">The Order of the Stick</a></em> has been amazing over the past year. I&#8217;ve gone from rating it below <em>Erfworld</em> to considering the two about even. I can see how it would be tough for a non-gamer to get into, but it&#8217;s really got a lot more than jokes about D&#038;D mechanics and editions.</p>
<p>Tags: <a href="http://tadhg.com/wp/tag/comics/" rel="tag">comics</a>, <a href="http://tadhg.com/wp/tag/reading/" rel="tag">reading</a>, <a href="http://tadhg.com/wp/tag/reviews/" rel="tag">reviews</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/05/04/the-order-of-the-stick-and-erfworld/"><em>The Order of the Stick</em> and <em>Erfworld</em></a> <span class="related-post-date timestamp">Sun 04 May 2008</span></li><li class="related-post"><a href="http://tadhg.com/wp/2008/04/27/hellboy/"><em>Hellboy</em></a> <span class="related-post-date timestamp">Sun 27 Apr 2008</span></li><li class="related-post"><a href="http://tadhg.com/wp/2007/03/27/comics-planetary-and-others/">Comics: <em>Planetary</em> and Others</a> <span class="related-post-date timestamp">Tue 27 Mar 2007</span></li><li class="related-post"><a href="http://tadhg.com/wp/2006/08/26/some-comics/">Some Comics</a> <span class="related-post-date timestamp">Sat 26 Aug 2006</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/04/30/the-dispossessed-review/"><em>The Dispossessed</em> Review</a> <span class="related-post-date timestamp">Thu 30 Apr 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/03/31/2007-bookerpulitzerimpac-winners/">2007 Booker/Pulitzer/IMPAC Winners</a> <span class="related-post-date timestamp">Tue 31 Mar 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/03/27/2008-bookerpulitzerimpac-winners/">2008 Booker/Pulitzer/IMPAC Winners</a> <span class="related-post-date timestamp">Fri 27 Mar 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/03/22/the-gods-themselves-review/"><em>The Gods Themselves</em> Review</a> <span class="related-post-date timestamp">Sun 22 Mar 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/03/20/ringworld-review/"><em>Ringworld</em> Review</a> <span class="related-post-date timestamp">Fri 20 Mar 2009</span></li><li class="related-post"><a href="http://tadhg.com/wp/2009/01/02/book-summary-1/">Book Summary #1</a> <span class="related-post-date timestamp">Fri 02 Jan 2009</span></li></ul>]]></content:encoded>
			<wfw:commentRss>http://tadhg.com/wp/2009/06/09/erfworld-book-one/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
