<?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>Push cx &#187; work</title>
	<atom:link href="http://push.cx/tag/work/feed" rel="self" type="application/rss+xml" />
	<link>http://push.cx</link>
	<description>A tea-drinking web geek's coffee-flavored blog</description>
	<lastBuildDate>Fri, 09 Jul 2010 12:37:05 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Washington Post Update</title>
		<link>http://push.cx/2009/washington-post-update</link>
		<comments>http://push.cx/2009/washington-post-update#comments</comments>
		<pubDate>Wed, 14 Jan 2009 16:01:55 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Django]]></category>
		<category><![CDATA[politics]]></category>
		<category><![CDATA[Washington Post]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://push.cx/?p=432</guid>
		<description><![CDATA[It&#8217;s been a long time since I&#8217;ve written about what I&#8217;ve been up to at the Washington Post, so let me run down the apps I&#8217;ve worked on since September 2007 in roughly linear order. Lots of these apps link different places, so if you don&#8217;t see projects.washingtonpost.com at the start of the URL, you&#8217;ve [...]]]></description>
			<content:encoded><![CDATA[<p>
It&#8217;s been a <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3B1c2guY3gvMjAwNy9wb3N0LXBvbGl0aWNzLWdsb3NzYXJ5">long</a> <a
href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3B1c2guY3gvMjAwNy9jaG9vc2UteW91ci1jYW5kaWRhdGU=">time</a> since I&#8217;ve written
about what I&#8217;ve been up to at the Washington Post, so let me run down the apps
I&#8217;ve worked on since September 2007 in roughly linear order. Lots of these apps link different places,
so if you don&#8217;t see <kbd>projects.washingtonpost.com</kbd> at the start of the
URL, you&#8217;ve probably wandered off something I directly worked on.
</p>

<dl>

<dt><a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS8yMDA4LXByZXNpZGVudGlhbC1jYW5kaWRhdGVzL3RyYWNrZXIv">Campaign Tracker</a></dt>
<dd>I made it possible to browse events <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS8yMDA4LXByZXNpZGVudGlhbC1jYW5kaWRhdGVzL3RyYWNrZXIvdHlwZXMv">by type</a>. I&#8217;ve also gotten data to academic researchers who&#8217;ve requested copies of this (I think) unique data.</dd>

<dt><a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS92b3RlcnNndWlkZS8=">Voters Guide</a></dt>
<dd>The 2006-8 Metro Voters Guide is probably the clunkiest app I worked on. Lots of confusion between producing a one-off site and a maintained app, as well as between primaries and generals. 2009 will be better because we&#8217;ve settled those issues and we&#8217;ve built a nice database schema for dealing with elections as part of the 2008 Presidential race.</dd>

<dt><a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS9jb25ncmVzcy8=">Congress Votes</a></dt>
<dd>I loaded the new info for the current and previous sessions of Congress, added the ability to view just current members of Congress (as some join or leave during the term), added JSON feeds that power the <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5sZXNzaWcub3JnL2Jsb2cvMjAwOC8xMi9hcHR1cmUuaHRtbA==">Apture</a> displays (yes, I know about the <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL29wZW4uYmxvZ3Mubnl0aW1lcy5jb20vMjAwOS8wMS8wOC9pbnRyb2R1Y2luZy10aGUtY29uZ3Jlc3MtYXBpLw==">NYT Congress API</a>, I&#8217;m getting the signoffs to publicize the machine-readable pages).</dd>

<dt><a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS9zdGFmZi9lbWFpbC9nZW5lK3dlaW5nYXJ0ZW4v">Staff E-Mail Form</a></dt>
<dd>Mostly just maintenance, but some generalization for <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS9zdGFmZi9lbWFpbC9yZWFkZXIrcGlja3Mv">shared mailboxes</a>.</dd>

<dt><a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS9jaGFsbGVuZ2VpbmRleC8=">Challenge Index</a></dt>
<dd>Formerly the clunkiest app, we fixed it by refocusing it on local schools (dropping <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5uZXdzd2Vlay5jb20vaWQvMzkzODA=">national</a>) and I rebuilt it in Dec 2008 to clean up the code. Then we imported data back to 1996, and it&#8217;s a really nice little app. Also the source of my 3rd rule of database apps (watch for the post).</dd>

<dt><a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS8yMDA4LXByZXNpZGVudGlhbC1jYW5kaWRhdGVzL2VuZG9yc2VtZW50cy8=">Presidential Endorsements</a></dt>
<dd>During the primaries, we tracked endorsements from public figures, mostly politicians. The app is interesting today: the front page only mentions the last few candidates like Clinton, Obama, and McCain because we stopped advertising the candidates as they dropped, but their data is all still in the db. We&#8217;ve been meaning to resurface them now that the election is settled, but it&#8217;s hard to remember to find the time to be an archive instead of just news.</dd>

<dt><a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS8yMDA3L3NlbGxvdXQtc29uZ3Mv">Sellout Songs</a></dt>
<dd>This went along with a cute piece in the Sunday Style section. Fun fact: Python has one constant for pi, the graphic used another, and the example songs used a third. If you play with the app, you&#8217;ll see it matches the examples (because that&#8217;s the only discrepancy folks might notice). This project is where I started dreading the Sunday paper: because there&#8217;s a Saturday edition (the &#8220;bulldog&#8221; edition), things have to be ready late Friday evening. And print folks are under a daily pressure that has driven them all a bit mad, so they tend to finish projects right up against the deadline. Since this project we&#8217;ve managed projects better to avoid the &#8220;OK, now that it&#8217;s 7 PM on Friday, here&#8217;s everything you need to build the web app&#8221; problem, and I&#8217;ve noticed the web has gotten more consideration in the print newsroom over time.</dd>

<dt><a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS8yMDA4LXByZXNpZGVudGlhbC1jYW5kaWRhdGVzL2ZpbmFuY2Uvc2VhcmNoLw==">Campaign Finance Search</a></dt>
<dd>Candidates are required to report contributions over $200 to the <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2ZlYy5nb3Y=">FEC</a> and we pull that data from them. We were showing state, city, and zip code totals, then I built a search engine to expose the individual records. (And we also track <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS8yMDA4LXByZXNpZGVudGlhbC1jYW5kaWRhdGVzL2ZpbmFuY2Uvc2VhcmNoLz9ub3Rld29ydGh5PTEmIzAzODtyZWNpcGllbnQ9YmFyYWNrLW9iYW1h">noteworthy donors</a>.) Take a good look at the search page and results table so you know it as you continue reading this list.</dd>

<dt><a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS9kb2dwYXJrcy8=">Dog Parks</a></dt>
<dd>A small app showing off Dog Parks in the DC Metro area. We&#8217;ve talked about adding more features, but it&#8217;s never climbed high enough up the priorities ladder.</dd>

<dt><a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5jbGVhcnNwcmluZy5jb20vd2lkZ2V0cy80NzNjYTI1Njg3Yjk5ZTY4">Recipes of the Day widget</a></dt>
<dd>The only (technically) interesting thing about this project was preloading a month&#8217;s worth of season-appropriate recipes at a time, because it&#8217;d grind down a producer to have to update this by hand every day. It&#8217;s a nice toy.</dd>

<dt><a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS8yMDA3L3NpbGVudGluanVzdGljZS8=">Silent Injustice</a></dt>
<dd>The FBI used to analyze the content of lead in bullets to match a bullet in a victim to bullets owned by a defendant. Trouble is, the science didn&#8217;t really work, and they quietly dropped it without notifying people convicted in whole or in part on this unreliable evidence. I helped put all the case files we could find online. This was a really rewarding project: it may have only mattered to a few hundred defendants and their loves ones, but it meant a lot to them.</dd>

<dt><a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy53YXNoaW5ndG9ucG9zdC5jb20vd3Atc3J2L3BvbGl0aWNzL2ludGVyYWN0aXZlcy9jYW1wYWlnbjA4L3ByaW1hcmllcy8=">Primary Pages</a></dt>
<dd>They showed live news and election results on election nights, and our database server struggled a little to keep up that first Iowa night. Postgresql doesn&#8217;t have good replication options like MySQL, so we beefed up the hardware before Super Tuesday and have been running great since. On some of the election nights, traffic to the projects server accounted for more than 10% of all WashingtonPost.com traffic.</dd>

<dt><a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS8yMDA4LXByZXNpZGVudGlhbC1jYW5kaWRhdGVzL3ByaW1hcmllcy9leGl0LXBvbGxzLw==">Primary Exit Polls</a></dt>
<dd>Lots of fun breakdowns of data by demographic, location, response, etc. One thing I noticed on this project is that it&#8217;s hard for humans to talk about breaking down data in more than three dimensions (and three itself can be tricky). Funny how our visual and spatial skills affect the rest of our cognition.</dd>

<dt><a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS9wb3N0MjAwLzIwMDgv">Post 200</a></dt>
<dd>The Post 200 showcases 200 prominent local businesses; apparently it&#8217;s been a yearly staple for a few decades. In 2008 we built a site we could continuously update, rather than just drop a little data once a year. I&#8217;d still like to grow this app to encompass all local companies, or all publicly traded companies (because more data makes everything better, right?). The Post doesn&#8217;t do a whole lot of business coverage, though, so we may not be able to add enough value to make that all worthwhile.</dd>

<dt><a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS8yMDA4L2NsaW50b24tc2NoZWR1bGUv">Clinton&#8217;s Schedule</a></dt>
<dd>In the 2008 primaries, Hillary Clinton supported her claim of being more experienced with her time as First Lady, and eventually acquiesced to the call to release her schedule so people could judge her time. I found out the day before (while chatting at the water cooler) that her campaign would be dropping it off at the National Archives. Seemed like it might be fun to do something with the data, but we had no idea what format it would take. The next morning a courier picked up a CD from the Archives and we saw it in all its glory: a 17,481 page PDF that looked like it had been scanned from the fax of a photcopied inkjet printout. If you look at the news stories written that day (2008-03-19) you&#8217;ll notice they all take the form of &#8220;What was Clinton doing on this important date?&#8221; because reporters couldn&#8217;t search, just page through it chronologically. I used 200 Amazon EC2 instances to break up and OCR the entire PDF in a few hours and we put the searchable database online (and it became an <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2F3cy5hbWF6b24uY29tL3NvbHV0aW9ucy9jYXNlLXN0dWRpZXMvd2FzaGluZ3Rvbi1wb3N0Lw==">AWS Case Study</a> (note: PR people wrote that thing)). The project was an absolute blast: making interesting data available by applying cutting-edge tools on a tight deadline.</dd>

<dt><a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS8yMDA4L29iZXNpdHkvc2VhcmNoLw==">Young Lives At Risk</a></dt>
<dd>I pulled nutritional data on 11k foods from the USDA (in tilde-delimited format, weird) and it powered an <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy53YXNoaW5ndG9ucG9zdC5jb20vd3Atc3J2L2hlYWx0aC9jaGlsZGhvb2RvYmVzaXR5L3N0b3JlLw==">interactive shopping cart</a>. Over the few weeks of this project, the USDA called me nearly daily to chat about nutritional data. I respect their commitment to nutritional data, but by the end of it I just wanted to buy them all puppies so my phone would stop ringing.</dd>

<dt><a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy53YXNoaW5ndG9ucG9zdC5jb20vd3Atc3J2L25hdGlvbi9pbnRlcmFjdGl2ZXMvcGVudGFnb25tZW1vcmlhbC9pbmRleC5odG1s">Sacred Ground</a></dt>
<dd>I didn&#8217;t work on the (very nice) Flash app, I updated the <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS9mYWxsZW4v">Faces of the Fallen</a> app to user-submitted tributes and the &#8220;Sacred Ground&#8221; templates for Pentagon victims. This looks really nice if you&#8217;re surfing from this story on the opening of the Pentagon Memorial, but it&#8217;s hugely confusing if you&#8217;re visiting from the main Fallen app. It&#8217;s one of those last-minute compromises that sometimes happen, and I plan to repair the damage.</dd>

<dt><a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS9idXNpbmVzcy1nbG9zc2FyeS8=">Business Glossary</a></dt>
<dd>When the CDO market finally had to face reality and cratered, the business dept. asked if it would be possible to build a resource for all the (unfortunately) new terms readers were confused by. Working from the <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS9wb2xpdGljc2dsb3NzYXJ5Lw==">Politics Glossary</a> (gee, eerily similar), we were able to respond with an entire application instead of just a promise to build one.</dd>

<dt><a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy53YXNoaW5ndG9ucG9zdC5jb20vd3AtZHluL2NvbnRlbnQvcG9saXRpY3MvZmVkcGFnZS8=">Thrift Savings Plan data</a></dt>
<dd>The iframe near the bottom of the page with TSP market information (sort of a 401k for government employees) is a small app that pulls data from the <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3RzcC5nb3Y=">TSP</a>.</dd>

<dt><a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS8yMDA4L3ZvdGUtbW9uaXRvci8=">Vote Monitor</a></dt>
<dd>Our team kept some empty space in our schedule because we knew the Politics team would surely come up with a last-minute idea for an election app, and they did. After some debate about whether to stay local or open up to national reports, we built a great app to allow people to report their voting experiences. I wish we&#8217;d had the idea sooner to better advertise it and work closer with other organizations that monitored the elections. Note for 2010 to-do list&#8230;</dd>

<dt><a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS8yMDA5L3RyYW5zaXRpb24tZG9ub3JzLw==">Obama Transition Donations</a></dt>
<dd>Hey, remember that table with donations presidential candidates table from back when? Obama, big on transparency, has released information on the donations to his presidential transition and we&#8217;re presenting a fairly familiar view of it. I believe they&#8217;ll release the data on January donors in about two weeks, so we&#8217;ll be updating then.</dd>

<dt><a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS8yMDA4L2NsaW50b24tZG9ub3JzLw==">Clinton Foundation Donations</a></dt>
<dd>Hey, remember that table with donations&#8230; yeah, you remember. As part of Hillary Clinton&#8217;s confirmation process as Secretary of State, the Obama team required the Clinton Foundation to release previously-private donation information. They grudgingly posted it to their website, which crashed under the load. We scraped what we could as the site was intermittently up and presented it.</dd>

<dt><a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy53YXNoaW5ndG9ucG9zdC5jb20vd3Atc3J2L3BvbGl0aWNzL2J1c2gvbGVnYWN5L3RpbWVsaW5lLw==">Bush Legacy Timeline</a></dt>
<dd>Finally, reaching a project that went live two days ago, the Bush Legacy Timeline graphs key indicators against important events. I created the database to store events and helped out with the Flash coding.</dd>

</dl>

<p>
Some other projects that I haven&#8217;t done much more than bugfix are <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS9sb2NhbC1ibG9nLWRpcmVjdG9yeS8=">Local Blog Directory</a>, <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy53YXNoaW5ndG9ucG9zdC5jb20vd3Atc3J2L2FydHNhbmRsaXZpbmcvZm9vZGFuZGRpbmluZy9yZWNpcGVzL3NlYXJjaC9pbmRleC5odG1s">Recipes</a>, <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS9kY3NjaG9vbHMvbGlzdC8=">DC Schools</a>, <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS9wb2xpdGljYWxhZHMv">Political Ads</a>, <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hnaW50b25wb3N0LmNvbS9mYWxsZW4v">Faces of the Fallen</a>, <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS9oc3MvcmVjcnVpdHMv">High School Recruiting</a>, and <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy53YXNoaW5ndG9ucG9zdC5jb20vd3AtZHluL2NvbnRlbnQvYXJ0aWNsZS8yMDA5LzAxLzA5L0FSMjAwOTAxMDkwMjIyMy5odG1s">Inauguration Alerts</a>. I&#8217;ve also built a few internal tools to automate or streamline the editorial process, but they don&#8217;t make for compelling reading and this post is already plenty long.
</p>

<p>
In case you&#8217;ve wondered why I&#8217;ve called the Post the best job I&#8217;ve ever had, scroll back up and read it again. Tons of interesting, meaningful projects with more talented professionals than I could manage to list, but let me try so this post doesn&#8217;t make me look like a braggart:
</p>

<p>
The foundation was laid by <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2hvbG92YXR5LmNvbQ==">Adrian Holovaty</a> and <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3RoZXNjb29wLm9yZw==">Derek Willis</a>. It&#8217;s the nicest codebase I&#8217;ve ever inherited. Almost every one of the apps I listed is well-designed because of <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5hbHlzb25odXJ0LmNvbS8=">Alyson Hurt</a>. Several of these data sets came from Sarah Cohen. I&#8217;ve worked a bit with the developers Dan Berko and Ed Holzinger. Ryan O&#8217;Neil is the other developer on the Tools Team who builds all these fun apps with me, and he occasionally saves me from my bugs and design decisions. There&#8217;s also all all the news producers who created and managed apps: Jason Manning, Sarah Lovenheim, Paul Volpe, Andrea Caumont, Amy Kovac, Tanya Ballard, Amanda McGrath, Jacqueline Dupree, Alicia Cypress, and Amanda Zamora. Last, it&#8217;s been possible because of great bosses Bob Greiner, Karl Eisenhower, Jim Brady, and Dave Baker.
</p>

<p>
More TK.
</p> <img src="http://push.cx/wp-content/plugins/feed-statistics.php?view=1&post_id=432" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2009/washington-post-update/feed</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
		<item>
		<title>Don&#8217;t Play Hurt</title>
		<link>http://push.cx/2008/dont-play-hurt</link>
		<comments>http://push.cx/2008/dont-play-hurt#comments</comments>
		<pubDate>Wed, 15 Oct 2008 13:13:59 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[environment]]></category>
		<category><![CDATA[motivation]]></category>
		<category><![CDATA[work]]></category>
		<category><![CDATA[workplaces]]></category>

		<guid isPermaLink="false">http://push.cx/?p=160</guid>
		<description><![CDATA[I love the c2 wiki. At least once a year I&#8217;ll dive in for a day or two and read a swath through its accumulated wisdom. As I learn and experience colors my perspective, I always find new things. One of the most important articles I&#8217;ve read on the c2 wiki wasn&#8217;t about a programming [...]]]></description>
			<content:encoded><![CDATA[<p>
I love the <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2MyLmNvbS9jZ2kvd2lraQ==">c2 wiki</a>. At least once a year I&#8217;ll dive in for a day or two and read a swath through its accumulated wisdom. As I learn and experience colors my perspective, I always find <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2MyLmNvbS9jZ2kvd2lraT9SZWFsbHlWYWx1YWJsZVBhZ2Vz">new things</a>.
</p>

<p>
One of the most important articles I&#8217;ve read on the c2 wiki wasn&#8217;t about a programming technique. It was <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2MyLmNvbS9jZ2kvd2lraT9QbGF5SHVydA==">PlayHurt</a>. The core debate of the page is whether software developers can produce good code even when their hearts are not in it. Because development is a creative mental activity, it&#8217;s profoundly affected by the developer&#8217;s mental state. When I first read the page, one comment on it really caught my attention:
</p>

<blockquote>
Is it possible that few of us have ever done anything but programming for a company while playing hurt? Companies seem to put most programmers into unproductive situations most of the time. Without properly supporting a technical developer, then developers PlayHurt and probably fail (the 95% of software projects fail rule again). For example if the marketing is not in place and we don&#8217;t have and never will have any real customers then we are playing hurt no matter how good a job we do on the code. 
</blockquote>

<p>
I was working on a product that was unrelated to the rest of the company&#8217;s business. It had originally been built in a hurry by inexperienced developers in an unfamiliar language, and no one inside or outside the company had a complete understanding of the product (self included). The CEO set the goal to increase sales 10,000% percent by the year&#8217;s end without creating a marketing budget (10% growth would have been lucky). The company culture was built around churning recent college graduates, so there were low standards and no professional criticism.
</p>

<p>
I don&#8217;t often read things and think they speak exactly to my situation, but that comment sure did. It put a name to what I was feeling. I felt terrible because I didn&#8217;t understand why I didn&#8217;t want to go to work in the mornings and why I had to push myself to fix every bug and complete every feature. I didn&#8217;t have the perspective or experience to recognize all the things I just listed that had gone wrong, so I felt like a failure because I couldn&#8217;t develop on command. I found some of that understanding on the wiki. I couldn&#8217;t Play Hurt anymore. I was just plain tired of being hurt. I quit that month.
</p>

<p>
If you want to write good code, you can&#8217;t play hurt. If you want to be proud of your work, you can&#8217;t play hurt. If you want to feel you&#8217;re making something of your life, you can&#8217;t play hurt. The best work is powered by passion and meaning, not obligation. Play hurt if you&#8217;re getting through the occasional frustrations that every job has, if you need to pay the bills, if you&#8217;re setting up someone you like to do motivated work. But don&#8217;t play hurt if you can avoid it. Find something you love. Create something meaningful. Encourage an environment that allows people to work at their full potential. And take risks to do it.
</p> <img src="http://push.cx/wp-content/plugins/feed-statistics.php?view=1&post_id=160" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2008/dont-play-hurt/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Post: The Moby Quotient</title>
		<link>http://push.cx/2007/post-the-moby-quotient</link>
		<comments>http://push.cx/2007/post-the-moby-quotient#comments</comments>
		<pubDate>Tue, 16 Oct 2007 16:46:43 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Biz]]></category>
		<category><![CDATA[Washington Post]]></category>
		<category><![CDATA[WashingtonPost.com]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://push.cx/2007/post-the-moby-quotient</guid>
		<description><![CDATA[On Friday I put up an app to let folks calculate and share the Moby Quotient of songs &#8212; a measurement of how much an artist sold out by allowing their work to be used in a commercial. The app is a companion to a story in the Post. The article ran in the Sunday [...]]]></description>
			<content:encoded><![CDATA[<p>
On Friday I put up an app to let folks <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS8yMDA3L3NlbGxvdXQtc29uZ3M=">calculate and share the Moby Quotient</a> of songs &mdash; a measurement of how much an artist sold out by allowing their work to be used in a commercial. The app is a companion to <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy53YXNoaW5ndG9ucG9zdC5jb20vd3AtZHluL2NvbnRlbnQvYXJ0aWNsZS8yMDA3LzEwLzEyL0FSMjAwNzEwMTIwMDQ5Ni5odG1s">a story in the Post</a>.
</p>

<p>
The article ran in the Sunday paper and we were hoping folks would take it in to work and argue with coworkers about what numbers to assign to which band and we&#8217;ve been happy with how much traffic we saw. And a few hours ago a <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5tZXRhZmlsdGVyLmNvbS82NTU5OC9TZWxsaW5nLW91dA==">Metafilter</a> story went up about it, which is pretty dang cool.
</p> <img src="http://push.cx/wp-content/plugins/feed-statistics.php?view=1&post_id=268" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2007/post-the-moby-quotient/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Post: Politics Glossary</title>
		<link>http://push.cx/2007/post-politics-glossary</link>
		<comments>http://push.cx/2007/post-politics-glossary#comments</comments>
		<pubDate>Thu, 20 Sep 2007 23:31:06 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Biz]]></category>
		<category><![CDATA[politics]]></category>
		<category><![CDATA[Washington Post]]></category>
		<category><![CDATA[WashingtonPost.com]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://push.cx/2007/post-politics-glossary</guid>
		<description><![CDATA[Today the first project I built launched, the Politics Glossary. It&#8217;s a small site cataloging political jargon and all the writing is done by the Politics department. Actually, one of the best things about this job is getting to meet folks at all levels and departments in the Post.]]></description>
			<content:encoded><![CDATA[<a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS9wb2xpdGljc2dsb3NzYXJ5Lw=="><img class="decoration" src="http://push.cx/wp-content/uploads/2007/09/politics-glossary.gif" alt="Politics Glossary logo" /></a>
<p>
Today the first project I built launched, the <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS9wb2xpdGljc2dsb3NzYXJ5Lw==">Politics Glossary</a>. It&#8217;s a small site cataloging political jargon and all the writing is done by the Politics department. Actually, one of the best things about this job is getting to meet folks at all levels and departments in the Post.
</p> <img src="http://push.cx/wp-content/plugins/feed-statistics.php?view=1&post_id=261" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2007/post-politics-glossary/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>WashingtonPost.com</title>
		<link>http://push.cx/2007/washingtonpostcom</link>
		<comments>http://push.cx/2007/washingtonpostcom#comments</comments>
		<pubDate>Mon, 10 Sep 2007 23:01:26 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Biz]]></category>
		<category><![CDATA[Washington Post]]></category>
		<category><![CDATA[WashingtonPost.com]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://push.cx/2007/washingtonpostcom</guid>
		<description><![CDATA[Today I added code to the Washington Post&#8217;s 2007 Presidential Field to show campaign events by type. I&#8217;ve joined Washington Post/Newsweek Interactive as a web developer (Python with Django) and this is my first code to go live. I build and maintain website projects that support stories from the paper or play to the unique [...]]]></description>
			<content:encoded><![CDATA[<p>
Today I added code to the Washington Post&#8217;s <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS8yMDA4LXByZXNpZGVudGlhbC1jYW5kaWRhdGVz">2007 Presidential Field</a> to show <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS8yMDA4LXByZXNpZGVudGlhbC1jYW5kaWRhdGVzL3RyYWNrZXIvdHlwZXMv">campaign events by type</a>. I&#8217;ve joined Washington Post/Newsweek Interactive as a web developer (Python with Django) and this is my first code to go live.
</p>

<p>
I build and maintain website projects that support stories from the paper or play to the unique strengths of the web as a medium. As examples, <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS9mYWxsZW4=">Faces of the Fallen</a> can be seen as an expansion of obituaries and the <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3Byb2plY3RzLndhc2hpbmd0b25wb3N0LmNvbS9jb25ncmVzcw==">U.S. Congress Votes Database</a> is a large database that wouldn&#8217;t work in print. There are several dozen of these projects. The two I just linked are the two largest and most-frequently updated, though most are small and not constantly updated after their initial launch. This team is experimenting a lot
with what it means to do journalism on the web and I&#8217;m proud to be part of it.
</p>

<p>
Obligatory Official Disclaimer: &#8220;My comments are entirely personal and do not represent the views of Washingtonpost.Newsweek Interactive or any other Washington Post Company affiliate.&#8221;
</p> <img src="http://push.cx/wp-content/plugins/feed-statistics.php?view=1&post_id=258" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2007/washingtonpostcom/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Good Timing</title>
		<link>http://push.cx/2007/good-timing</link>
		<comments>http://push.cx/2007/good-timing#comments</comments>
		<pubDate>Mon, 02 Jul 2007 12:58:53 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[Hostway]]></category>
		<category><![CDATA[RegistryPro]]></category>
		<category><![CDATA[sleep]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://push.cx/2007/good-timing</guid>
		<description><![CDATA[This morning, at about 4:30 AM, I awoke and just knew the Right Way to rebuild RegistryPro to be completely reliable, even more compact, and provide meaningful reporting. It would take less than two weeks of coding time and the pitfalls are well-demarcated and avoidable. It would be really great if I&#8217;d thought of it [...]]]></description>
			<content:encoded><![CDATA[<p>
This morning, at about 4:30 AM, I awoke and just <i>knew</i> the Right Way to rebuild <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3JlZ2lzdHJ5cHJvLnBybw==">RegistryPro</a> to be completely reliable, even more compact, and provide meaningful reporting. It would take less than two weeks of coding time and the pitfalls are well-demarcated and avoidable. It would be really great if I&#8217;d thought of it two years ago when I still worked there. Thanks, brain.
</p> <img src="http://push.cx/wp-content/plugins/feed-statistics.php?view=1&post_id=248" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2007/good-timing/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Leaving Hostway</title>
		<link>http://push.cx/2006/leaving-hostway</link>
		<comments>http://push.cx/2006/leaving-hostway#comments</comments>
		<pubDate>Mon, 10 Jul 2006 15:40:30 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Biz]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://push.cx/2006/leaving-hostway</guid>
		<description><![CDATA[Earlier today I gave my two weeks&#8217; notice to Hostway. I&#8217;ve worked at Hostway since April 2005 as a maintenence coder on RegistryPro and, since last month, part-time on the web frontend of an internal monitoring system. I&#8217;m not going to be posting about why. There&#8217;s no exciting scandal, it&#8217;s just a case of mismatched [...]]]></description>
			<content:encoded><![CDATA[<p>
Earlier today I gave my two weeks&#8217; notice to <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2hvc3R3YXkuY29t">Hostway</a>. I&#8217;ve worked at Hostway since April 2005 as a maintenence coder on <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5yZWdpc3RyeXByby5wcm8=">RegistryPro</a> and, since last month, part-time on the web frontend of an internal monitoring system. I&#8217;m not going to be posting about why. There&#8217;s no exciting scandal, it&#8217;s just a case of mismatched needs and goals.
</p>

<p>
I&#8217;ll post about my new job when I have one. Thanks to my friends and family for all their support.
</p> <img src="http://push.cx/wp-content/plugins/feed-statistics.php?view=1&post_id=158" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2006/leaving-hostway/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Cambrian House Party</title>
		<link>http://push.cx/2006/cambrian-house-party</link>
		<comments>http://push.cx/2006/cambrian-house-party#comments</comments>
		<pubDate>Tue, 27 Jun 2006 18:09:59 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Biz]]></category>
		<category><![CDATA[Cambrian House]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://push.cx/2006/cambrian-house-party</guid>
		<description><![CDATA[Cambrian House, the startup I snuck a peek at and got a hat-tip from has opened for a public beta test. They&#8217;re sort of an open-source business incubator: folks submit ideas, the best of which become projects; folks submit code, art, and copy, the best of which go into the finished project. Cambrian House (or [...]]]></description>
			<content:encoded><![CDATA[<p>
<img class="decoration" src="http://push.cx/wp-content/uploads/2006/06/graphic-avatar.gif" alt="Cambrian House default avatar" height="75" width="75" />
<a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2NhbWJyaWFuaG91c2UuY29t">Cambrian House</a>, the startup I <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3B1c2guY3gvMjAwNi9wcmUtY2FtYnJpYW4taG91c2U=">snuck a peek at</a> and <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3B1c2guY3gvMjAwNi9jYW1icmlhbi1kZXZlbG9wbWVudA==">got a hat-tip from</a> has opened for a public beta test. They&#8217;re sort of an open-source business incubator: folks submit ideas, the best of which become projects; folks submit code, art, and copy, the best of which go into the finished project. Cambrian House (or a spinoff company, perhaps) runs the project as an online business, paying royalties back to the folks who contributed.
</p>

<p>
It&#8217;s a darn clever idea and I want to see them succeed. Go easy on the site&#8217;s rough edges, it&#8217;s truly beta, not that faux-beta that Google sticks finished products in for years to avoid doing support.
</p>

<p>
<img class="decoration" src="http://push.cx/wp-content/uploads/2006/06/Peter-Pwned-Us.gif" alt="Cambrian House &quot;9&quot; Award" height="33" width="33" />
True to their CEO&#8217;s mail, I&#8217;m still user number 9. I&#8217;d link to my profile, but I can&#8217;t find a URL for *any* profiles. (Just one of those rough edges that true beta products have.) Contributors can earn cute little awards (think of Boy Scout badges) for sending in ideas and such. I&#8217;ve got a &#8220;9&#8243; award with the text &#8220;Peter will always be #9 to us.&#8221; 
</p>

<p>
I&#8217;ve poked around the site and even <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5jYW1icmlhbmhvdXNlLmNvbS9pZGVhLXdhcnovaWRlYS1zdW1tYXJ5L2lkZWFzX2lkLyVCOHolMDIlRjQlQUElOTIlRDMlQkY=">submitted an idea</a> (I sniffed out the link for my idea, but it&#8217;s an uuugly URL and unfortunately doesn&#8217;t link to my profile). It&#8217;s like a fun project and I&#8217;m already a fan, so I&#8217;ll contribute to a project or two and blog about it.
</p> <img src="http://push.cx/wp-content/plugins/feed-statistics.php?view=1&post_id=144" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2006/cambrian-house-party/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>TECHcocktail</title>
		<link>http://push.cx/2006/techcocktail</link>
		<comments>http://push.cx/2006/techcocktail#comments</comments>
		<pubDate>Fri, 09 Jun 2006 16:35:56 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Biz]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://push.cx/2006/techcocktail</guid>
		<description><![CDATA[Despite its odd capitalization, I&#8217;ll be attending TECHcocktail, a technology/business mixer on July 6, 2006. I found out about it via Jon Wolter, who mentioned it at last night&#8217;s ChiPy meeting and at TechSocial.com, which is a nearly indispensible resource for Chicago geeks.]]></description>
			<content:encoded><![CDATA[<p>
Despite its odd capitalization, I&#8217;ll be attending <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL1RFQ0hjb2NrdGFpbC5jb20=">TECHcocktail</a>, a technology/business mixer on July 6, 2006.
</p>

<p>
I found out about it via Jon Wolter, who mentioned it at last night&#8217;s <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2NoaXB5Lm9yZw==">ChiPy</a> meeting and at <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3RlY2hzb2NpYWwuY29t">TechSocial.com</a>, which is a nearly indispensible resource for Chicago geeks.
</p> <img src="http://push.cx/wp-content/plugins/feed-statistics.php?view=1&post_id=128" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2006/techcocktail/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Pre-Cambrian House</title>
		<link>http://push.cx/2006/pre-cambrian-house</link>
		<comments>http://push.cx/2006/pre-cambrian-house#comments</comments>
		<pubDate>Thu, 01 Jun 2006 23:41:11 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Biz]]></category>
		<category><![CDATA[Apache]]></category>
		<category><![CDATA[Cambrian House]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://push.cx/2006/pre-cambrian-house</guid>
		<description><![CDATA[I was poking around reddit and followed a link to CambrianCode.com, an all-Flash (ugh!) puzzle game. There&#8217;s a few of these &#8220;guess how to get to next level&#8221; games online and they all just annoy me. Yes, you&#8217;re so clever. No, I find patronization alluring. Yes, I&#8217;ll spend my time on this for no discernable [...]]]></description>
			<content:encoded><![CDATA[<p>
I was poking around reddit and followed a link to <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5jYW1icmlhbmNvZGUuY29t">CambrianCode.com</a>, an all-Flash (ugh!) puzzle game. There&#8217;s a few of these &#8220;guess how to get to next level&#8221; games online and they all just annoy me. Yes, you&#8217;re so clever. No, I find patronization alluring. Yes, I&#8217;ll spend my time on this for no discernable reward.
</p>

<p>
The puzzle is run by <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2NhbWJyaWFuaG91c2UuY29t">Cambrian House</a>, a mysteeeeerious <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL29uc3RhcnR1cHMuY29tL0hvbWUvdGFiaWQvMzMzOS9hcnRpY2xlVHlwZS9BcnRpY2xlVmlldy9hcnRpY2xlSWQvNTk3L1N0ZWFsdGhNb2RlU2NobWVhbHRoTW9kZVRoZVJlYWxSZWFzb25zV2h5U3RhcnR1cHNEb250VGFsay5hc3B4">stealth startup</a> that has only a teaser page online. If there&#8217;s one thing that annoys me more than Flash puzzle-level games, it&#8217;s stealth startups. 
</p>

<p>
So I went poking around some more and found a development copy of their website. And much to my surprise, it&#8217;s actually a darn cool business idea. So cool that after I wrote a whole &#8220;Mwaha, I&#8217;m raising the curtain early!&#8221; post I thought better of it and am only going to post this for now. It was clever and fun, there&#8217;s going to be a ridiculous amount of buzz around this company when it launches. And I got to register as user #9, which was damn funny when I noticed their &#8220;About Us&#8221; page lists 17 employees.
</p>

<p>
Confidential to CH in Calgary: it&#8217;s really tacky to litter your URLs with &#8220;.php&#8221; and get variables. Put the following in your .htaccess file and have index.php take apart the URL with the PHP code below and route to your different pages. URLs like &#8220;/community/member/Harkins&#8221; look much nicer than &#8220;/community/member-profile.php?users_id=9&#8243;. (Or ask me about mod_rewrite.)
</p>

<pre>
&lt;Location /secret_development_environment&gt;
    Order Deny,Allow
    Deny from all
    Allow from 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 .cambrianhouse.com
&lt;/Location&gt;

RewriteEngine On
RewriteCond    %{REQUEST_FILENAME}  -d [OR]
RewriteCond    %{REQUEST_FILENAME}  -f
RewriteRule     ^(.*)$  - [L]

RewriteRule ^(index.*) - [QSA,L]
RewriteRule ^([^.]*)$ /index.php [QSA,L]
</pre>

<pre>&nbsp;
<span style="color: #000000; font-weight: bold;">function</span> url_parse<span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span>
        <span style="color: #0000ff;">$url</span> = <span style="color: #0000ff;">$_SERVER</span><span style="color: #66cc66;">&#91;</span><span style="color: #ff0000;">'REQUEST_URI'</span><span style="color: #66cc66;">&#93;</span>;
&nbsp;
        <span style="color: #808080; font-style: italic;">// we don't want to pass get vars or anchor tags on to the script</span>
        <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5waHAubmV0L3N0cnBvcw=="><span style="color: #000066;">strpos</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$url</span>, <span style="color: #ff0000;">'?'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
                <span style="color: #0000ff;">$url</span> = <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5waHAubmV0L3N1YnN0cg=="><span style="color: #000066;">substr</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$url</span>, <span style="color: #cc66cc;">0</span>, <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5waHAubmV0L3N0cnBvcw=="><span style="color: #000066;">strpos</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$url</span>, <span style="color: #ff0000;">'?'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5waHAubmV0L3N0cnBvcw=="><span style="color: #000066;">strpos</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$url</span>, <span style="color: #ff0000;">'#'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>
                <span style="color: #0000ff;">$url</span> = <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5waHAubmV0L3N1YnN0cg=="><span style="color: #000066;">substr</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$url</span>, <span style="color: #cc66cc;">0</span>, <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5waHAubmV0L3N0cnBvcw=="><span style="color: #000066;">strpos</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$url</span>, <span style="color: #ff0000;">'#'</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span>;
&nbsp;
        <span style="color: #808080; font-style: italic;">//remove leading slash and possible trailing slash, store in $url</span>
        <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5waHAubmV0L3N1YnN0cg=="><span style="color: #000066;">substr</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$url</span>, <span style="color: #cc66cc;">0</span>, <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span> == <span style="color: #ff0000;">'/'</span><span style="color: #66cc66;">&#41;</span>
                <span style="color: #0000ff;">$url</span> = <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5waHAubmV0L3N1YnN0cg=="><span style="color: #000066;">substr</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$url</span>, <span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5waHAubmV0L3N1YnN0cg=="><span style="color: #000066;">substr</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$url</span>, -<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span> == <span style="color: #ff0000;">'/'</span><span style="color: #66cc66;">&#41;</span>
                <span style="color: #0000ff;">$url</span> = <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5waHAubmV0L3N1YnN0cg=="><span style="color: #000066;">substr</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$url</span>, <span style="color: #cc66cc;">0</span>, -<span style="color: #cc66cc;">1</span><span style="color: #66cc66;">&#41;</span>;
        <span style="color: #b1b100;">if</span> <span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$url</span> == <span style="color: #ff0000;">'/'</span><span style="color: #66cc66;">&#41;</span>
                <span style="color: #0000ff;">$url</span> = <span style="color: #ff0000;">''</span>;
        <span style="color: #0000ff;">$url</span> = <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5waHAubmV0L2V4cGxvZGU="><span style="color: #000066;">explode</span></a><span style="color: #66cc66;">&#40;</span><span style="color: #ff0000;">'/'</span>, <span style="color: #0000ff;">$url</span><span style="color: #66cc66;">&#41;</span>;
        
        <span style="color: #b1b100;">return</span><span style="color: #66cc66;">&#40;</span><span style="color: #0000ff;">$url</span><span style="color: #66cc66;">&#41;</span>;
<span style="color: #66cc66;">&#125;</span></pre>

<div class="update">
Cambrian House house <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3B1c2guY3gvMjAwNi9jYW1icmlhbi1kZXZlbG9wbWVudA==">responded</a> to me.
</div> <img src="http://push.cx/wp-content/plugins/feed-statistics.php?view=1&post_id=121" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2006/pre-cambrian-house/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>NDAs: Fear and Shame</title>
		<link>http://push.cx/2006/ndas-fear-and-shame</link>
		<comments>http://push.cx/2006/ndas-fear-and-shame#comments</comments>
		<pubDate>Wed, 10 May 2006 18:03:40 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Biz]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://push.cx/2006/ndas-fear-and-shame</guid>
		<description><![CDATA[The two fundamental reasons NDAs exist are fear and shame, and that&#8217;s only halfway a bad thing. You want a little healthy fear in your life, it keeps you from trying to pet those cute little bear cubs. In business, it keeps you paying attention to things like what the competition is up to, to [...]]]></description>
			<content:encoded><![CDATA[<p>
The two fundamental reasons NDAs exist are fear and shame, and that&#8217;s only halfway a bad thing.
</p>

<p>
You want a little healthy fear in your life, it keeps you from trying to pet those cute little bear cubs. In business, it keeps you paying attention to things like what the competition is up to, to if your burn rate is sustainable, and <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5yYW5kc2lucmVwb3NlLmNvbS9hcmNoaXZlcy8yMDA0LzA0LzE5L2hlaW5vdXMuaHRtbA==">how important those last few bugs are</a>.
</p>

<p>
Most NDAs exist because of two different and worthwhile fears: early competition and secret sauce. If you and two buddies have read <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cHM6Ly9nZXR0aW5ncmVhbC4zN3NpZ25hbHMuY29t">Getting Real</a> and struck out on your own to start a web-based business, you&#8217;d like to delay the day that knockoffs start appearing. Alternatively, if you&#8217;re Google, you have hordes of resourceful competitors and abusers who&#8217;d love to mine the offhand comments of your engineers.
</p>

<p>
But the nearly-as-common motivator behind NDAs is shame. You could call it fear of being found incompetent, but the word for that is shame. A shame-powered NDA will invariably be described as an important security measure, but the business is covering up that it runs everything in a slipshod, last-minute, &#8220;this is good for now and we need it&#8221; manner. Most organizations just barely work and spend their time lurching between crises, which is mildly disconcerting in an interdependent society but handy for breaking the spirit of idealistic young college graduates.
</p>

<p>
An NDA easily slips from being protection against competitors to being protection against customers, so companies have to be regularly act introverted, maybe stare into a candle while holding a crystal, and make sure they&#8217;re being honest with themselves about why they have an NDA. 
</p>

<p>
So think about yours. If you&#8217;re not thinking about how to balance tipping your hand and bragging about how cool you are, something&#8217;s terribly wrong.
</p> <img src="http://push.cx/wp-content/plugins/feed-statistics.php?view=1&post_id=106" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2006/ndas-fear-and-shame/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>GoJobby Launches &#8211; Web 2.0 Job Site</title>
		<link>http://push.cx/2006/gojobby-launches</link>
		<comments>http://push.cx/2006/gojobby-launches#comments</comments>
		<pubDate>Tue, 28 Mar 2006 04:23:51 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Biz]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://push.cx/2006/gojobby-launches</guid>
		<description><![CDATA[<p>
Found a neat job site <a href="http://ajaxian.com/archives/jobby-brings-job-hunting-into-a-web-20-world">through  Ajaxian</a> and filled out a profile to check it out. It's a neat site, but I've got a few concerns/suggestions and a big warning.
</p>]]></description>
			<content:encoded><![CDATA[<p>
I found <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2dvam9iYnkuY29t">GoJobby</a> via <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2FqYXhpYW4uY29tL2FyY2hpdmVzL2pvYmJ5LWJyaW5ncy1qb2ItaHVudGluZy1pbnRvLWEtd2ViLTIwLXdvcmxk">Ajaxian</a> and filled out a profile to check it out. It&#8217;s a neat site, but I&#8217;ve got a few concerns/suggestions and a big warning.
</p>

<ul>
  <li>Tags you&#8217;ve applied to yourself still appear in the tag cloud.</li>
  <li>Tags don&#8217;t always get marked with a number correctly.</li>
  <li>The numbers are 1, 2, 3 but the categories are Newbie, Skilled, Advanced.</li>
  <li>Clicking a tag adds a border to it, often moving it out from under your mouse.</li>
  <li>Clicking multiple times to move between boxes is <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2RhbmdhLmNvbS93b3Jkcy8yMDA0X29zY29uL29zY29uMjAwNC5wZGY=">n * lame</a>.</li>
  <li>Drag and drop would have solved all of these.</li>
  <li>Never send or store cleartext passwords!</li>
  <li>Tags are global, so I can&#8217;t fix wrong case.</li>
  <li>Can&#8217;t use HTML in the &#8220;about me&#8221; blurb (&#8220;10,000 ft view&#8221;).</li>
  <li>Searching for candidates, the 1, 2, 3 are back. It&#8217;d work nicer with a little box you could click to switch between off, newbie, skilled, and advanced.</li>
</ul>

<p>
Last, the warning: you can have 64 tags (total between all categories). GoJobby doesn&#8217;t tell you this anywhere, you&#8217;ll just notice a tag randomly disappear every time you try to add a 65th. I noticed this because I started adding tags for all the fun odd stuff I&#8217;ve learned and then noticed things kept disappearing. You&#8217;ll have to sit there and count your tags to know how many you have, GoJobby is very young yet.
</p>

<p>
Despite my nitpicking and the couple small bugs, GoJobby is great to use and will pick up tons of job seekers. Unlike Dice and Monster, registration is easy and filling in a profile is dead easy. And you can actually upload your resume as a file &#8212; how 1995! It&#8217;s not just a little nicer for seekers, it&#8217;s worlds better.
</p>

<p>
Anyone else have suggestions or know of other web 2.0 job sites? I&#8217;m trying to think of others, and <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2luZGVlZC5jb20=">Indeed</a> is the closest I can get.
</p> <img src="http://push.cx/wp-content/plugins/feed-statistics.php?view=1&post_id=95" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2006/gojobby-launches/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Think Outside the Euclidean Universe</title>
		<link>http://push.cx/2006/think-outside</link>
		<comments>http://push.cx/2006/think-outside#comments</comments>
		<pubDate>Tue, 21 Mar 2006 16:31:20 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[graphics]]></category>
		<category><![CDATA[humor]]></category>
		<category><![CDATA[math]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://push.cx/2006/think-outside</guid>
		<description><![CDATA[<p>
You've probably all seen the brain-teaser that's a perennial favorite with uncreative managers the world over. (Why an exercise in creative thinking is really only loved by incredibly boring people is a discussion beyond the scope of this blog post.)
</p>]]></description>
			<content:encoded><![CDATA[<p>
You&#8217;ve probably all seen the brain-teaser that&#8217;s a perennial favorite with uncreative managers the world over. (Why an exercise in creative thinking is really only loved by incredibly boring people is a discussion beyond the scope of this blog post.) The brain-teaser goes like this:
</p>

<img class="content" src="http://push.cx/wp-content/uploads/2006/02/fourdots.png" alt="Four dots in a square"  width="120" height="120" />

<p>
Connect all four dots: draw three straight lines without lifting your pencil from the paper, and finish where you started. At first it looks impossible, but after your manager gets done chortling they&#8217;ll say your problem is that you need to &#8220;Think Outside the Box!&#8221;, show you <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3B1c2guY3gvd3AtY29udGVudC91cGxvYWRzLzIwMDYvMDIvZm91cmRvdHMtc29sdmVkLnBuZw==">the answer</a>, and then go on to make tenous and tedious metaphors about creativity.
</p>

<p>
And that&#8217;s bullshit. An important part of creativity is <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy4zN3NpZ25hbHMuY29tL3N2bi9hcmNoaXZlczIvY29uc3RyYWludHNfYnJlZWRfYnJlYWt0aHJvdWdoX2NyZWF0aXZpdHkucGhw">working within constraints</a>, such as the box pictured above, especially when they&#8217;re entirely arbitrary constraints on a meaningless project imposed by management fiat.
</p>

<p>
To truly solve this puzzle, we only need one straight line and the kind of mental agility that MBAs didn&#8217;t learn in a business marketing class. The correct answer looks like this:
</p>

<img class="content" src="http://push.cx/wp-content/uploads/2006/02/fourdots-solved-right.png" alt="Four dots connected by a circle" width="120" height="120" />

<p>
You may, at this very moment, be thinking I am also bullshitting because that is <i>so</i> not a straight line. Your problem is that you need to Think Outside the Euclidean Universe!
</p>

<p>
<a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9JbWFnZTpTcGFjZXRpbWVfY3VydmF0dXJlLnBuZw=="><img class="decoration" src="http://push.cx/wp-content/uploads/2006/02/curvature.png" alt="Space grid deformed by a planet" width="111" height="70" /></a>When we look at life, it seems that it takes place in a flat 3d space where two parallel lines will go on being parallel for their entire length. But Einstein&#8217;s Theory of Relativity showed our universe is way less boring and predictable than that. Gravity bends spacetime, allowing cool things like <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2VuLndpa2lwZWRpYS5vcmcvd2lraS9HcmF2aXRhdGlvbmFsX2xlbnM=">gravitational lenses</a> where light (normally travelling in a straight line from our perspective) passes by a massive object like a galaxy or a black hole and bends towards it. We don&#8217;t notice it as we sit in go about our lives because we don&#8217;t spend a lot of time very near black holes.
</p>

<p>
So, when you recognize the four dots appear in a non-Euclidean space, the answer is obvious. There&#8217;s a massive object warping spacetime between the four points, and because they&#8217;re only an inch or so apart it must be a black hole. If you were to represent the geometry of this distortion, the solution would look be even clearer:
</p>

<img class="content" src="http://push.cx/wp-content/uploads/2006/03/sphere.thumbnail.png" alt="Solved from side" width="180" height="180"/>

<p>
So there we are: our manager&#8217;s problem is trivially solved when precipitously near to a black hole, so you&#8217;d better hope that the poor bastard your manager picks to implement this solution isn&#8217;t you.
</p>

<p class="aside">
Thanks to <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3NhbmRhbGwudXMvfnNhbmRhbGxlLw==">Eric Sandalle</a> for the 3d render.
</p> <img src="http://push.cx/wp-content/plugins/feed-statistics.php?view=1&post_id=29" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2006/think-outside/feed</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>XmlHttpThrottleRequest</title>
		<link>http://push.cx/2006/xmlhttpthrottlerequest</link>
		<comments>http://push.cx/2006/xmlhttpthrottlerequest#comments</comments>
		<pubDate>Tue, 07 Mar 2006 17:39:12 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[humor]]></category>
		<category><![CDATA[web]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://push.cx/2006/xmlhttpthrottlerequest</guid>
		<description><![CDATA[<p>
Today in <a href="http://luni.org/">#luni</a> we ranted a bit about developers. (I'm "Malaprop" in the exchange.)
</p>]]></description>
			<content:encoded><![CDATA[<p>
Today in <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2x1bmkub3JnLw==">#luni</a> we ranted a bit about developers. (I&#8217;m &#8220;Malaprop&#8221; in the exchange.)
</p>

<p>
&lt;mewyn&gt; i&#8217;m gonna throttle one of our developers<br />
&lt;mewyn&gt; we had to reboot a server because his crappy code leaked ALL the server&#8217;s memory, pys was 99% and swap was 99%<br />
&lt;SmooveB&gt; heh<br />
&lt;Malaprop&gt; mewyn: As long as you&#8217;re throttling devs, can I give you a list?<br />
&lt;Malaprop&gt; Hm, I want someone to start a Web2.0 company, ThrottleYourDevs.com. Internet-enabled developer throttling, delivered right to your door.<br />
&lt;SmooveB&gt; XmlHttpThrottleRequest.com<br />
&lt;Malaprop&gt; I could add my list of throttled devs to my feed-reader to keep up with my order status.<br />
&lt;SmooveB&gt; feeds, xmlhttprequest, mashups&#8230; perhaps some sort of google maps integration<br />
&lt;SmooveB&gt; and realtime SVG tracking.<br />
&lt;Sketch&gt; you can&#8217;t be web2.0 without google maps integration<br />
&lt;Malaprop&gt; Totally. Beowulf clusters of throttled developers are so Web 1.0.<br />
</p>

<p>
Note: No developers were actually throttled in the making of this post. But we wish some were.
</p> <img src="http://push.cx/wp-content/plugins/feed-statistics.php?view=1&post_id=60" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2006/xmlhttpthrottlerequest/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Best Filler Ever Written</title>
		<link>http://push.cx/2006/the-best-filler-ever-written</link>
		<comments>http://push.cx/2006/the-best-filler-ever-written#comments</comments>
		<pubDate>Mon, 06 Mar 2006 15:53:44 +0000</pubDate>
		<dc:creator>Peter Harkins</dc:creator>
				<category><![CDATA[Biz]]></category>
		<category><![CDATA[humor]]></category>
		<category><![CDATA[work]]></category>

		<guid isPermaLink="false">http://push.cx/2006/the-best-filler-in-the-metaverse</guid>
		<description><![CDATA[<p>
If you're building a website and don't have filler text for "About" pages or product descriptions, don't use lorem ipsum.
</p>
]]></description>
			<content:encoded><![CDATA[<p>
If you&#8217;re building a website and don&#8217;t have filler text for &#8220;About&#8221; pages or product descriptions, don&#8217;t use lorem ipsum.
</p>

<p>
Instead, write the most overblown ad copy you can imagine. Don&#8217;t just lavish praise on whatever you&#8217;re describing, lay it down with a firehose. After <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy5nb29nbGUuY29tL3NlYXJjaD9xPSUyMnNlZXMrKitjb21tZXJjaWFscytieSthZ2UrKiUyMg==">seeing enough commercials</a> it&#8217;s dead easy to spew this crap, and it&#8217;s way more fun than <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL2xpcHN1bS5jb20=">lorem ipsum</a>. Here&#8217;s an example:
</p>

<blockquote>
Bill Lumberg, CEO of Initech, is the only person to ever have earned doctoral degrees from every American college. He bats .400 for the Chicago Cubs and dug the Panama Canal with a bent teaspoon while on sabbatical from neurosurgery. He can also fly and shoot laser beams from his eyes.
</blockquote>

<p>
Your clients are not only unfamiliar with what  lorem ipsum means, using it will confuse them and distract them from evaluating your design and code. Lorem ipsum can just go die for <a href="http://push.cx/wp-content/plugins/feed-statistics.php?url=aHR0cDovL3d3dy4zN3NpZ25hbHMuY29tL3N2bi9hcmNoaXZlcy8wMDEwODMucGhw">several reasons</a>. This reason&#8217;s just good fun, and it&#8217;s not like it hurts to have clients who&#8217;re smiling while they evaluate your work.
</p>

<p>
If you hate this idea and think your clients would too, you&#8217;re probably wearing a tie.
</p> <img src="http://push.cx/wp-content/plugins/feed-statistics.php?view=1&post_id=58" width="1" height="1" style="display: none;" />]]></content:encoded>
			<wfw:commentRss>http://push.cx/2006/the-best-filler-ever-written/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
