<?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>PatternWeaver</title>
	<atom:link href="http://patternweaver.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://patternweaver.com/blog</link>
	<description>&#34;Gleaming the Tubes&#34;</description>
	<lastBuildDate>Mon, 19 Dec 2011 19:26:23 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>XeLaTeX Section Modifications</title>
		<link>http://patternweaver.com/blog/2011/12/xelatex-section-modifications/</link>
		<comments>http://patternweaver.com/blog/2011/12/xelatex-section-modifications/#comments</comments>
		<pubDate>Mon, 19 Dec 2011 18:42:24 +0000</pubDate>
		<dc:creator>khrome</dc:creator>
				<category><![CDATA[XeLaTeX]]></category>

		<guid isPermaLink="false">http://patternweaver.com/blog/?p=148</guid>
		<description><![CDATA[Back in college I was working in a group project where we produced a document which was quite large, as well as deep&#8230; and we had a need for a subsubsubsection. One of the group members, Ruslan Hristov (who was also the project leader where I worked on Skipper) cobbled together an early version of [...]]]></description>
		<wfw:commentRss>http://patternweaver.com/blog/2011/12/xelatex-section-modifications/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>DOM Manipulation additions</title>
		<link>http://patternweaver.com/blog/2011/07/dom-manipulation-additions/</link>
		<comments>http://patternweaver.com/blog/2011/07/dom-manipulation-additions/#comments</comments>
		<pubDate>Thu, 21 Jul 2011 17:07:49 +0000</pubDate>
		<dc:creator>khrome</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[MooTools]]></category>

		<guid isPermaLink="false">http://patternweaver.com/blog/?p=139</guid>
		<description><![CDATA[So at times I find myself needing to do some simple neighbor selection and summing in the DOM and I don&#8217;t have the tools I need so I wind up doing tedious, repetitive logic in loops, so I built a few useful utility functions: Element.siblingsBefore() and Element.siblingsAfter() return a new Elements instance containing all the [...]]]></description>
		<wfw:commentRss>http://patternweaver.com/blog/2011/07/dom-manipulation-additions/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Function.whenTrue</title>
		<link>http://patternweaver.com/blog/2011/07/function-whentrue/</link>
		<comments>http://patternweaver.com/blog/2011/07/function-whentrue/#comments</comments>
		<pubDate>Fri, 01 Jul 2011 16:29:54 +0000</pubDate>
		<dc:creator>khrome</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[MooTools]]></category>

		<guid isPermaLink="false">http://patternweaver.com/blog/?p=138</guid>
		<description><![CDATA[Sometimes you&#8217;re in JS and you want to perform some task once something else returns (as is reasonable in an asynchronous world), but if you just fire off a bunch of intervals, you&#8217;ll eventually choke the browser. My solution is to add geometric timer falloff and a maximum timeout. this way the longer the task [...]]]></description>
		<wfw:commentRss>http://patternweaver.com/blog/2011/07/function-whentrue/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>String.entityEncode, String.entityDecode and String.regexEncode</title>
		<link>http://patternweaver.com/blog/2011/06/string-entityencode-string-entitydecode-and-string-regexencode/</link>
		<comments>http://patternweaver.com/blog/2011/06/string-entityencode-string-entitydecode-and-string-regexencode/#comments</comments>
		<pubDate>Tue, 28 Jun 2011 06:11:20 +0000</pubDate>
		<dc:creator>khrome</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[MooTools]]></category>

		<guid isPermaLink="false">http://patternweaver.com/blog/?p=137</guid>
		<description><![CDATA[So as I do all this nifty client side content generation I found the need for a clean entity encode/decode process. I was pretty shocked I couldn&#8217;t find anything to suit my needs so I built one. It builds it&#8217;s reverse lookup on load to minimize the total size, then generates the regex to encode/decode. [...]]]></description>
		<wfw:commentRss>http://patternweaver.com/blog/2011/06/string-entityencode-string-entitydecode-and-string-regexencode/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>String.whenInDOM</title>
		<link>http://patternweaver.com/blog/2011/06/string-whenindom/</link>
		<comments>http://patternweaver.com/blog/2011/06/string-whenindom/#comments</comments>
		<pubDate>Mon, 27 Jun 2011 06:34:09 +0000</pubDate>
		<dc:creator>khrome</dc:creator>
				<category><![CDATA[Javascript]]></category>
		<category><![CDATA[MooTools]]></category>

		<guid isPermaLink="false">http://patternweaver.com/blog/?p=135</guid>
		<description><![CDATA[I haven&#8217;t really had the time to make a post lately, as my conspicuous absence indicates. I&#8217;ve got an awesome gig at StylePage which keeps me busy and a number of side projects which steal the fleeting moments I can spare. While I&#8217;m not ready to peel back the curtains on any of my big [...]]]></description>
		<wfw:commentRss>http://patternweaver.com/blog/2011/06/string-whenindom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ImageBooth Recap: Multilayered ImageEditor in pure Javascript</title>
		<link>http://patternweaver.com/blog/2010/08/imagebooth-recap-multilayered-imageeditor-in-pure-javascript/</link>
		<comments>http://patternweaver.com/blog/2010/08/imagebooth-recap-multilayered-imageeditor-in-pure-javascript/#comments</comments>
		<pubDate>Mon, 02 Aug 2010 12:29:24 +0000</pubDate>
		<dc:creator>khrome</dc:creator>
				<category><![CDATA[Datalus]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://patternweaver.com/blog/?p=134</guid>
		<description><![CDATA[As I&#8217;ve been finishing features, I&#8217;ve just been updating what the new stuff is&#8230; but now that I have a working implementation of layers (though save isn&#8217;t yet linked to layers), I figure it&#8217;s time to stop and give an overall view of the ImageBooth Demo app and what it does. When you open it [...]]]></description>
		<wfw:commentRss>http://patternweaver.com/blog/2010/08/imagebooth-recap-multilayered-imageeditor-in-pure-javascript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ImageBooth Updates: 07/30/10</title>
		<link>http://patternweaver.com/blog/2010/07/imagebooth-updates-073010/</link>
		<comments>http://patternweaver.com/blog/2010/07/imagebooth-updates-073010/#comments</comments>
		<pubDate>Fri, 30 Jul 2010 15:40:05 +0000</pubDate>
		<dc:creator>khrome</dc:creator>
				<category><![CDATA[Datalus]]></category>

		<guid isPermaLink="false">http://patternweaver.com/blog/?p=132</guid>
		<description><![CDATA[Lots of changes: all line stroking is now done with a queue, which means if a line&#8217;s thread gets cancelled pre-draw, it will get picked up by the next thread and so on. This results in much smoother drawing and less &#8216;stepping&#8217; on round edges. Also, tools may now provide controls in the &#8216;tool palette&#8217; [...]]]></description>
		<wfw:commentRss>http://patternweaver.com/blog/2010/07/imagebooth-updates-073010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ImageBooth Updates: 07/26/10</title>
		<link>http://patternweaver.com/blog/2010/07/imagebooth-updates-072610/</link>
		<comments>http://patternweaver.com/blog/2010/07/imagebooth-updates-072610/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 16:24:50 +0000</pubDate>
		<dc:creator>khrome</dc:creator>
				<category><![CDATA[Datalus]]></category>

		<guid isPermaLink="false">http://patternweaver.com/blog/?p=131</guid>
		<description><![CDATA[So after an arduous weekend of coding, I come from high on the mount bearing tablets with the following features: You may now export the saved image (AKA download), also there&#8217;ve been numerous corrections to the convolver, as well as adding a filter settings dialog with a built-in preview. I added an eyedropper to help [...]]]></description>
		<wfw:commentRss>http://patternweaver.com/blog/2010/07/imagebooth-updates-072610/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SplatterPlot 1.1 Adding Images into the Mix</title>
		<link>http://patternweaver.com/blog/2010/07/splatterplot-1-1-adding-images-into-the-mix/</link>
		<comments>http://patternweaver.com/blog/2010/07/splatterplot-1-1-adding-images-into-the-mix/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 16:06:55 +0000</pubDate>
		<dc:creator>khrome</dc:creator>
				<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://patternweaver.com/blog/?p=129</guid>
		<description><![CDATA[So I was asked a few times if the splatter plot could support images, and I&#8217;d explain how you could extend the node class to do that, but my guess is people would find it useful if it did that out of the box. SVG&#8217;s Image rendering uses really poor pixel resampling algorithms, so scaled [...]]]></description>
		<wfw:commentRss>http://patternweaver.com/blog/2010/07/splatterplot-1-1-adding-images-into-the-mix/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ImageBooth Beta: HTML5 + JS Image Editor</title>
		<link>http://patternweaver.com/blog/2010/07/imagebooth-beta-html5-js-image-editor/</link>
		<comments>http://patternweaver.com/blog/2010/07/imagebooth-beta-html5-js-image-editor/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 15:24:28 +0000</pubDate>
		<dc:creator>khrome</dc:creator>
				<category><![CDATA[Datalus]]></category>
		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://patternweaver.com/blog/?p=127</guid>
		<description><![CDATA[I&#8217;ve done raster graphics editors in a number of environments and after the ImageBooth JS experiments went so well, I decided to do a little cleanup in Datalus to create a simple backend to turn the demo into something useful. The save component of this was actually a little difficult to sort out. In order [...]]]></description>
		<wfw:commentRss>http://patternweaver.com/blog/2010/07/imagebooth-beta-html5-js-image-editor/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

