<?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>BenjaminKeen.com</title>
	<atom:link href="http://www.benjaminkeen.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.benjaminkeen.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Sun, 05 Sep 2010 23:29:23 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Form Tools: Submission History module screenshots</title>
		<link>http://www.benjaminkeen.com/?p=364</link>
		<comments>http://www.benjaminkeen.com/?p=364#comments</comments>
		<pubDate>Sun, 05 Sep 2010 23:26:43 +0000</pubDate>
		<dc:creator>ben.keen</dc:creator>
				<category><![CDATA[Form Tools]]></category>

		<guid isPermaLink="false">http://www.benjaminkeen.com/?p=364</guid>
		<description><![CDATA[Here&#8217;s a few screenshots from the upcoming Submission History module for my Form Tools script. It&#8217;s pretty cool &#8211; I&#8217;ve been meaning to write this for a long, long time, Nice to see it almost out the door. From the module description:
The Submission History module keeps a log of all changes made to form submissions, [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a few screenshots from the upcoming Submission History module for my <a href="http://www.formtools.org">Form Tools</a> script. It&#8217;s pretty cool &#8211; I&#8217;ve been meaning to write this for a long, long time, Nice to see it almost out the door. From the module description:</p>
<p style="padding-left: 30px;"><em>The Submission History module keeps a log of all changes made to form submissions, provides a panel on the administrator&#8217;s Edit Submission page to browse the changes, and provides options to restore older versions and undelete submissions.</em></p>
<p>It&#8217;s about 95% written. Now it&#8217;s mostly tidying up the code and testing it.</p>
<p>Note: this module will only be compatible with 2.0.3 &#8211; and only the latest version (not out yet!). As mentioned in a previous post, the next Core release will move to MyISAM; I&#8217;ll be coming out with new versions of all the other modules to ensure compatibility and consistency.</p>
<table cellspacing="0" cellpadding="5">
<tr>
<td>
<a href="http://docs.formtools.org/screenshots/i160.gif"><img src="http://docs.formtools.org/screenshots/i160_th.gif" border="0" style="border:1px solid #cccccc" alt="" /></a>
</td>
<td>
<a href="http://docs.formtools.org/screenshots/i162.gif"><img style="border:1px solid #cccccc" src="http://docs.formtools.org/screenshots/i162_th.gif" border="0" alt="" /></a>
</td>
</tr>
<tr>
<td>
<a href="http://docs.formtools.org/screenshots/i163.gif"><img style="border:1px solid #cccccc" src="http://docs.formtools.org/screenshots/i163_th.gif" border="0" alt="" /></a>
</td>
<td>
<a href="http://docs.formtools.org/screenshots/i164.gif"><img style="border:1px solid #cccccc" src="http://docs.formtools.org/screenshots/i164_th.gif" border="0" alt="" /></a>
</td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.benjaminkeen.com/?feed=rss2&amp;p=364</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Google Chrome dev &#8211; context menu</title>
		<link>http://www.benjaminkeen.com/?p=361</link>
		<comments>http://www.benjaminkeen.com/?p=361#comments</comments>
		<pubDate>Tue, 24 Aug 2010 17:20:16 +0000</pubDate>
		<dc:creator>ben.keen</dc:creator>
				<category><![CDATA[Tech News]]></category>

		<guid isPermaLink="false">http://www.benjaminkeen.com/?p=361</guid>
		<description><![CDATA[Ah! &#8217;bout time! Now you can add your own menu items to the context navigation menu in Chrome (when you right-click on the page).
http://blog.chromium.org/2010/08/new-in-google-chrome-beta-more.html
This will be SODDING handy.
]]></description>
			<content:encoded><![CDATA[<p>Ah! &#8217;bout time! Now you can add your own menu items to the context navigation menu in Chrome (when you right-click on the page).<br />
<a href="http://blog.chromium.org/2010/08/new-in-google-chrome-beta-more.html">http://blog.chromium.org/2010/08/new-in-google-chrome-beta-more.html</a></p>
<p>This will be SODDING handy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.benjaminkeen.com/?feed=rss2&amp;p=361</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Entomology!</title>
		<link>http://www.benjaminkeen.com/?p=358</link>
		<comments>http://www.benjaminkeen.com/?p=358#comments</comments>
		<pubDate>Sat, 21 Aug 2010 21:54:13 +0000</pubDate>
		<dc:creator>ben.keen</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://www.benjaminkeen.com/?p=358</guid>
		<description><![CDATA[FINALLY, I enrolled in a course on Entomology at Iowa State &#8211; ENT 201. Insects are something which has interested me for longer than I can remember &#8211; and a subject of which I&#8217;ve comparatively little. I&#8217;ve probably been interested in it as far back as when I as in diapers and ate one, thinking [...]]]></description>
			<content:encoded><![CDATA[<p>FINALLY, I enrolled in a course on Entomology at Iowa State &#8211; ENT 201. Insects are something which has interested me for longer than I can remember &#8211; and a subject of which I&#8217;ve comparatively little. I&#8217;ve probably been interested in it as far back as when I as in diapers and ate one, thinking that it tasted &#8220;okay, considering&#8221;.</p>
<p>It&#8217;s a 5-week course. This is going to suck up some of my time otherwise spent on Form Tools and generatedata.com, but what the hell &#8211; it looks fun. :)</p>
<p>Just a heads up.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.benjaminkeen.com/?feed=rss2&amp;p=358</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Form Tools tutorial: checking for uniqueness</title>
		<link>http://www.benjaminkeen.com/?p=356</link>
		<comments>http://www.benjaminkeen.com/?p=356#comments</comments>
		<pubDate>Sun, 15 Aug 2010 05:50:56 +0000</pubDate>
		<dc:creator>ben.keen</dc:creator>
				<category><![CDATA[Form Tools]]></category>

		<guid isPermaLink="false">http://www.benjaminkeen.com/?p=356</guid>
		<description><![CDATA[I just completed a rather handy tutorial for Form Tools users. 
It checks incoming form submissions to ensure that the incoming information hasn&#8217;t already been added in the database. This lets you ensure that multiple submissions don&#8217;t get registered with the same email address or username, for example. The actual criteria for uniqueness is entirely [...]]]></description>
			<content:encoded><![CDATA[<p>I just completed a rather handy tutorial for Form Tools users. </p>
<p>It checks incoming form submissions to ensure that the incoming information hasn&#8217;t already been added in the database. This lets you ensure that multiple submissions don&#8217;t get registered with the same email address or username, for example. The actual criteria for uniqueness is entirely dependent on the form content.</p>
<p><a href="http://docs.formtools.org/tutorials/checking_for_uniqueness/">http://docs.formtools.org/tutorials/checking_for_uniqueness/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.benjaminkeen.com/?feed=rss2&amp;p=356</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>IE9 Preview</title>
		<link>http://www.benjaminkeen.com/?p=353</link>
		<comments>http://www.benjaminkeen.com/?p=353#comments</comments>
		<pubDate>Tue, 10 Aug 2010 23:52:11 +0000</pubDate>
		<dc:creator>ben.keen</dc:creator>
				<category><![CDATA[Tech News]]></category>

		<guid isPermaLink="false">http://www.benjaminkeen.com/?p=353</guid>
		<description><![CDATA[A recent discussion of IE9 from the IE Blog. 
From a JS point of view, what I find most exciting is that the new JS engine is embedded directly within the browser and can interact with the DOM &#8220;natively&#8221; (i.e. not through an API). Functionally, JS will work exactly the same way (of course), except [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blogs.msdn.com/b/ie/archive/2010/08/04/html5-modernized-fourth-ie9-platform-preview-available-for-developers.aspx">A recent discussion of IE9 from the IE Blog</a>. </p>
<p>From a JS point of view, what I find most exciting is that the new JS engine is embedded directly within the browser and can interact with the DOM &#8220;natively&#8221; (i.e. not through an API). Functionally, JS will work exactly the same way (of course), except that a lot of the bottlenecks that we get for interacting with the DOM will be lifted. Too cool.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.benjaminkeen.com/?feed=rss2&amp;p=353</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Queuing expensive DOM changes (avoiding timing problems with JS)</title>
		<link>http://www.benjaminkeen.com/?p=344</link>
		<comments>http://www.benjaminkeen.com/?p=344#comments</comments>
		<pubDate>Mon, 09 Aug 2010 18:43:10 +0000</pubDate>
		<dc:creator>ben.keen</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://www.benjaminkeen.com/?p=344</guid>
		<description><![CDATA[This is a re-write of an old post, written back in 2007. I recently re-used this code in another script and it's as useful today as it was then. Plus I understand it a little better now, so I thought it was time to re-discuss it.

As any client-side web developer knows, DOM scripting is inherently [...]]]></description>
			<content:encoded><![CDATA[<p>This is a re-write of an <a href="http://www.benjaminkeen.com/?p=136">old post</a>, written back in 2007. I recently re-used this code in another script and it's as useful today as it was then. Plus I understand it a little better now, so I thought it was time to re-discuss it.</p>
<hr size="1" />
<p>As any client-side web developer knows, DOM scripting is inherently slow. Accessing and manipulating the DOM requires the browser's javascript engine to interface with the DOM API - which in of itself is slow: any time you have two fundamentally different components talking to one another via an interface you're going to get a bit of a bottleneck. But also, accessing and especially changing the contents of the DOM can cause reflows (the re-creation of the internal representation of the visible page within the browser) and repaints (the actual re-rendering of the visible web page to the user). And this is <em>slow!</em></p>
<p>So what of it? </p>
<p>Well, here's a common scenario. Try dynamically inserting a large block of HTML into your page, then immediately accessing an element within it. Does it work? Well... sometimes it may, sometimes it may not - it can depend on the quality of the browser, how busy the CPU is, the OS, the volume of HTML inserted - a whole range of factors. From a coding standpoint (and this is what *I* find interesting!), it looks fine: on one line you insert the content, on the next you access it. What could be wrong with that? Well, this is one of those <em>baaaad</em> instances where you need to have an understanding of what's going on within the browser. You shouldn't, but you do. </p>
<p>So here's how to get around it. The following code lets you queue your DOM changes. It only proceeds to the next item in the queue when a custom assertion (e.g. "does element X exist?") is confirmed. This can ensure that regardless of browser, environment, etc. your code will execute in a sequential manner where in every step you can rely on the DOM containing the content that you expect.</p>
<h4>The code</h4>
<div class="syntax_hilite">
<div id="javascript-3">
<div class="javascript"><span style="color: #003366; font-weight: bold;">var</span> $Q = <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #009900; font-style: italic;">// each index should be an array with two indexes, both functions:</span><br />
&nbsp; &nbsp; <span style="color: #009900; font-style: italic;">// 0: the code to execute</span><br />
&nbsp; &nbsp; <span style="color: #009900; font-style: italic;">// 1: boolean test to determine completion</span><br />
&nbsp; &nbsp; queue: <span style="color: #66cc66;">&#91;</span><span style="color: #66cc66;">&#93;</span>,<br />
&nbsp; &nbsp; run: <span style="color: #003366; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #66cc66;">&#40;</span>!$Q.<span style="color: #006600;">queue</span>.<span style="color: #006600;">length</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">return</span>;</p>
<p>&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #009900; font-style: italic;">// if this code hasn't begun being executed, start 'er up</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #66cc66;">&#40;</span>!$Q.<span style="color: #006600;">queue</span><span style="color: #66cc66;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #CC0000;">2</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $Q.<span style="color: #006600;">queue</span><span style="color: #66cc66;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $Q.<span style="color: #006600;">queue</span><span style="color: #66cc66;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #CC0000;">2</span><span style="color: #66cc66;">&#93;</span> = window.<span style="color: #006600;">setInterval</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">"$Q.process()"</span>, <span style="color: #CC0000;">50</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span>,<br />
&nbsp; &nbsp; process: <span style="color: #003366; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">if</span> <span style="color: #66cc66;">&#40;</span>$Q.<span style="color: #006600;">queue</span><span style="color: #66cc66;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #CC0000;">1</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span><span style="color: #66cc66;">&#41;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; window.<span style="color: #006600;">clearInterval</span><span style="color: #66cc66;">&#40;</span>$Q.<span style="color: #006600;">queue</span><span style="color: #66cc66;">&#91;</span><span style="color: #CC0000;">0</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#91;</span><span style="color: #CC0000;">2</span><span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $Q.<span style="color: #006600;">queue</span>.<span style="color: #006600;">shift</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; $Q.<span style="color: #006600;">run</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;<br />
&nbsp; &nbsp; &nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span> <br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><br />
<span style="color: #66cc66;">&#125;</span></div>
</div>
</div>
<p></p>
<h4>Usage</h4>
<p>It works very simply. Any time you have something that could take up lots of time, just add it to the queue. When you're ready to run that code, just run() it. </p>
<div class="syntax_hilite">
<div id="javascript-4">
<div class="javascript">$Q.<span style="color: #006600;">push</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#91;</span><br />
&nbsp; <span style="color: #003366; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #009900; font-style: italic;">// do expensive stuff here...</span><br />
&nbsp; <span style="color: #66cc66;">&#125;</span>,<br />
&nbsp; <span style="color: #003366; font-weight: bold;">function</span> <span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #009900; font-style: italic;">// do our test here and stash it in $boolean</span><br />
&nbsp; &nbsp; ...<br />
&nbsp; &nbsp; <span style="color: #000066; font-weight: bold;">return</span> $boolean;<br />
&nbsp; <span style="color: #66cc66;">&#125;</span><br />
<span style="color: #66cc66;">&#93;</span><span style="color: #66cc66;">&#41;</span>;</p>
<p>$Q.<span style="color: #006600;">run</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span>;</div>
</div>
</div>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://www.benjaminkeen.com/?feed=rss2&amp;p=344</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Form Tools: Client Audit Module</title>
		<link>http://www.benjaminkeen.com/?p=341</link>
		<comments>http://www.benjaminkeen.com/?p=341#comments</comments>
		<pubDate>Sun, 08 Aug 2010 07:06:44 +0000</pubDate>
		<dc:creator>ben.keen</dc:creator>
				<category><![CDATA[Form Tools]]></category>

		<guid isPermaLink="false">http://www.benjaminkeen.com/?p=341</guid>
		<description><![CDATA[I've just finished the first version of a new module for Form Tools, written specifically for a client. Not sure if I'm allowed to say who it is (I suspect not), so I'll just say that it's one of the largest companies in the world. Very cool that they're using Form Tools. 
The Client Audit [...]]]></description>
			<content:encoded><![CDATA[<p>I've just finished the first version of a new module for Form Tools, written specifically for a client. Not sure if I'm allowed to say who it is (I suspect not), so I'll just say that it's one of the largest companies in the world. Very cool that they're using Form Tools. </p>
<p>The Client Audit module provides Form Tools administrators with a way to track key events / actions that occur on client accounts, such as when the clients accounts are logging in and out, when they're updated and what permission changes occur and at what time. This, coupled with a very simple but powerful search tool, provides an invaluable tool for security and auditing purposes. </p>
<p>Read more about the module here:<br />
<a href="http://modules.formtools.org/client_audit/">http://modules.formtools.org/client_audit/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.benjaminkeen.com/?feed=rss2&amp;p=341</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Script Updates</title>
		<link>http://www.benjaminkeen.com/?p=336</link>
		<comments>http://www.benjaminkeen.com/?p=336#comments</comments>
		<pubDate>Thu, 05 Aug 2010 05:32:30 +0000</pubDate>
		<dc:creator>ben.keen</dc:creator>
				<category><![CDATA[Data Generator]]></category>
		<category><![CDATA[Form Tools]]></category>

		<guid isPermaLink="false">http://www.benjaminkeen.com/?p=336</guid>
		<description><![CDATA[generatedata.com 2.3.8 beta 
- Now offers country-specific data for Belgium. Thanks to Kob in the generatedata forums for providing the data!
- the SQL export type now includes a “DROP TABLE” option
See: http://beta.generatedata.com

Form Tools 2.0.3 beta
The main focus on this release is security. 2.0.3 adds the following security options for client passwords (all of these features [...]]]></description>
			<content:encoded><![CDATA[<p><strong>generatedata.com 2.3.8 beta </strong></p>
<p>- Now offers country-specific data for Belgium. Thanks to Kob in the generatedata forums for providing the data!<br />
- the SQL export type now includes a “DROP TABLE” option</p>
<p>See: <a href="http://beta.generatedata.com">http://beta.generatedata.com</a></p>
<hr size="1" />
<p><strong>Form Tools 2.0.3 beta</strong></p>
<p>The main focus on this release is security. 2.0.3 adds the following security options for client passwords (all of these features are disabled by default).</p>
<p>   1. Control over the password content: minimum length, must contain upper case char, must contain number, must contain ~!@#$%^&#038;.<br />
   2. Password history: prevents you from re-using a recent password<br />
   3. Auto-disable an account after an unbroken sequence of unsuccessful login attempts. You can choose the number (between 3 and 10).</p>
<p>See: <a href="http://www.formtools.org">http://www.formtools.org</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.benjaminkeen.com/?feed=rss2&amp;p=336</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Data Generator 2.3.6</title>
		<link>http://www.benjaminkeen.com/?p=333</link>
		<comments>http://www.benjaminkeen.com/?p=333#comments</comments>
		<pubDate>Mon, 19 Jul 2010 05:05:51 +0000</pubDate>
		<dc:creator>ben.keen</dc:creator>
				<category><![CDATA[Data Generator]]></category>

		<guid isPermaLink="false">http://www.benjaminkeen.com/?p=333</guid>
		<description><![CDATA[Another update. I've added a "custom XML structure" option to the XML export type. This allows you to generate XML content with any node structure you like.
http://beta.generatedata.com
Unfortunately, it's entirely lacking in documentation right now so all you have to go on is the example in the page. After I install Django tonight (for an OSCON [...]]]></description>
			<content:encoded><![CDATA[<p>Another update. I've added a "custom XML structure" option to the XML export type. This allows you to generate XML content with any node structure you like.<br />
<a href="http://beta.generatedata.com">http://beta.generatedata.com</a></p>
<p>Unfortunately, it's entirely lacking in documentation right now so all you have to go on is the example in the page. After I install Django tonight (for an OSCON tutorial tomorrow) I'm going to start on the documentation. </p>
<p>- Ben</p>
]]></content:encoded>
			<wfw:commentRss>http://www.benjaminkeen.com/?feed=rss2&amp;p=333</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>More thoughts on Portland / OSCON 2010</title>
		<link>http://www.benjaminkeen.com/?p=327</link>
		<comments>http://www.benjaminkeen.com/?p=327#comments</comments>
		<pubDate>Mon, 19 Jul 2010 00:51:22 +0000</pubDate>
		<dc:creator>ben.keen</dc:creator>
				<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://www.benjaminkeen.com/?p=327</guid>
		<description><![CDATA[From the toilets of the convention center. Nerds!
http://twitgoo.com/198gp3
There is *MONEY* here. I picked up my welcome package (includes a new nerd mug!). I've never seen such a level of sponsorship and advertising. It's nuts! This conference is clearly representing the right-wing side of open source of which I'm not yet familiar. I'm more of the [...]]]></description>
			<content:encoded><![CDATA[<p>From the toilets of the convention center. Nerds!<br />
<a href="http://twitgoo.com/198gp3">http://twitgoo.com/198gp3</a></p>
<p>There is *MONEY* here. I picked up my welcome package (includes a new nerd mug!). I've never seen such a level of sponsorship and advertising. It's nuts! This conference is clearly representing the right-wing side of open source of which I'm not yet familiar. I'm more of the ilk of the poor, the downtrodded, the huddled masses - programmers doing everything for free and being spat in the face for it. My impression so far is that this is more like Fuck-The-Hippies Open Source In-Your-Face FUCK YEAH! perspective. Should be interesting.</p>
<p><strong>More observations on Portland</strong><br />
- It's really, really green. I think it's the greenest town I've ever seen. There's plants EVERYWHERE. Seriously.<br />
- It kind of reminds me of the portrayal of Cleveland in 30 Rock. Nice people, very up-beat, with a kind of a prevailing atmosphere as though the town is under-appreciated.</p>
<p><strong>More observations on my hotel</strong><br />
- Remember the scene in Barton Fink where the camera pans down the steaming-hot hotel hallway, showing the wallpaper peeling off the walls while John Goodman is going insane? I think that was based on my hotel.<br />
- Remember the scene in The Shining where the little boy runs into the two twin girls who try to convince him to play with them forever? I think that was also based on my hotel.</p>
<p>Okay. I'm going to do a little work (generatedata.com v2.3.6) then go see <em>Predators</em>. FUCK YEAH!!!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.benjaminkeen.com/?feed=rss2&amp;p=327</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
