<?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>Mental Note: Change This Title &#187; Portfolio</title>
	<atom:link href="http://www.crccheck.com/blog/category/portfolio/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.crccheck.com/blog</link>
	<description>And change this tagline too</description>
	<lastBuildDate>Mon, 06 Jun 2011 03:48:33 +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>CodebaseHQ Tickets+ for FireFox</title>
		<link>http://www.crccheck.com/blog/146/codebasehq-tickets-for-firefox/</link>
		<comments>http://www.crccheck.com/blog/146/codebasehq-tickets-for-firefox/#comments</comments>
		<pubDate>Sat, 24 Jul 2010 04:20:15 +0000</pubDate>
		<dc:creator>crccheck</dc:creator>
				<category><![CDATA[Nerd]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[greasemonkey]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[xpath]]></category>

		<guid isPermaLink="false">http://www.crccheck.com/blog/?p=146</guid>
		<description><![CDATA[What&#8217;s this? Another release already? Well yes. I&#8217;ve been working on this project, and we use Codebase for project management. And the whole time, I kept thinking, &#8220;Why can&#8217;t I sort these tickets?!&#8221;. Apparently, I&#8217;m not the only one, because I overheard some other people say the same thing so I decided to make a [...]]]></description>
			<content:encoded><![CDATA[<p>What&#8217;s this? Another release already? Well yes. I&#8217;ve been working on this project, and we use Codebase for project management. And the whole time, I kept thinking, &#8220;Why can&#8217;t I sort these tickets?!&#8221;. Apparently, I&#8217;m not the only one, because I overheard some other people say the same thing so I decided to make a <a href="http://userscripts.org/scripts/show/82151" target="_blank">Greasemonkey script</a>.</p>
<p>While there is a mechanism to sort, it requires modifying your search query and a page refresh. My script not only does all that live, but it also turns the search box into a live-search, which makes finding a particular ticket fast. To accompany all this, I also de-paginate the results so all the tickets are in one page. This could potentially cause problems, because some projects might have thousands of tickets; but that&#8217;s a problem for another day.</p>
<p>While I have been on a jQuery spree recently, I made sure not to use it for this Greasemonkey script. Even though there is a lot of DOM manipulation, I rely on Xpath and JavaScript 1.6 Arrays. The script is simple enough where it&#8217;s easy enough to convert to jQuery if needed.</p>
<p>If you use FireFox, Greasemonkey, and CodebaseHQ, Give <a href="http://userscripts.org/scripts/show/82151" target="_blank">CodebaseHQ Tickets+</a> a shot.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crccheck.com/blog/146/codebasehq-tickets-for-firefox/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Announcing allbfcards.com</title>
		<link>http://www.crccheck.com/blog/129/announcing-allbfcards-com/</link>
		<comments>http://www.crccheck.com/blog/129/announcing-allbfcards-com/#comments</comments>
		<pubDate>Fri, 09 Apr 2010 01:12:55 +0000</pubDate>
		<dc:creator>crccheck</dc:creator>
				<category><![CDATA[Life=Boring]]></category>
		<category><![CDATA[Mental Note: Add Category]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[jquery]]></category>
		<category><![CDATA[xml]]></category>

		<guid isPermaLink="false">http://www.crccheck.com/blog/?p=129</guid>
		<description><![CDATA[So I&#8217;ve been playing this game called BattleForge, and there are a handful of websites that exist just to display information about these cards you can collect in the game (think Magic: The Gathering or Pokemon). People have also made Adobe AIR applications and Microsoft Access databases. So, naturally I thought I would pollute the [...]]]></description>
			<content:encoded><![CDATA[<p>So I&#8217;ve been playing this game called BattleForge, and there are a handful of websites that exist just to display information about these cards you can collect in the game (think Magic: The Gathering or Pokemon). People have also made Adobe AIR applications and Microsoft Access databases. So, naturally I thought I would pollute the web with another website.</p>
<p>At first, I was going to use xml + xslt to make it. I actually got a proof of concept working nicely. But once I tried using javascript, it got weird on me because it was XML instead of HTML. Then I changed it to plain HTML + an XHR request to get the XML file and got basic realtime filters working. Then someone pointed out that there was some google docs with the information I wanted so I switched from XML to JSONP.</p>
<p>Anyways, this is the limit of my attention span so I&#8217;ll paste the URL now. http://allbfcards.com/</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crccheck.com/blog/129/announcing-allbfcards-com/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Next adventure in HTML Canvas</title>
		<link>http://www.crccheck.com/blog/112/next-adventure-in-html-canvas/</link>
		<comments>http://www.crccheck.com/blog/112/next-adventure-in-html-canvas/#comments</comments>
		<pubDate>Fri, 13 Nov 2009 03:21:15 +0000</pubDate>
		<dc:creator>crccheck</dc:creator>
				<category><![CDATA[Mental Note: Add Category]]></category>
		<category><![CDATA[Nerd]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[canvas]]></category>
		<category><![CDATA[html5]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.crccheck.com/blog/?p=112</guid>
		<description><![CDATA[This one comes with a live demo! One of the biggest problems with my  last Canvas experiment is that if you put text labels over points of interest, they quickly clutter up and become difficult to read. In this demo, I take a list of labels and the coordinates they belong, then I treat each [...]]]></description>
			<content:encoded><![CDATA[<p>This one comes with a <a href="http://crccheck.com/demo01">live demo</a>!</p>
<p style="text-align: center;"><a href="http://crccheck.com/demo01"><img class="aligncenter size-full wp-image-113" title="demo01" src="http://www.crccheck.com/blog/wp-content/uploads/2009/11/demo01.png" alt="demo01" width="378" height="240" /></a></p>
<p>One of the biggest problems with my  last <a href="http://www.crccheck.com/blog/2009/09/teaching-myself-the-html-canvas-element/">Canvas experiment</a> is that if you put text labels over points of interest, they quickly clutter up and become difficult to read. In this demo, I take a list of labels and the coordinates they belong, then I treat each label as a like-charged ion and they automatically repel each other and find their own non-overlapping positions. I also put a spring force between each label (visualized by the red line) to its original position so they don&#8217;t stray too far. There are also some visual embellishments specific for the application.</p>
<p>In my next iteration, I&#8217;m going to try and properly attach events to each particle. I have rudimentary drag and drop now, but it&#8217;s not robust enough for other ideas I want to add. I also want to be able to add uncharged particles and have wind and gravity. So I can make the whole thing a proper particle playground.</p>
<p>Note: since the code was ripped from a Greasemonkey script, it&#8217;s FireFox only.</p>
<p>Update 18  July, 2010: I&#8217;ve made it a little more interactive, re-ported a more up to date version of the code, and made it somewhat compatible with Safari and Chrome.</p>
<p><img id="myFxSearchImg" style="border: medium none; position: absolute; z-index: 2147483647; opacity: 0.6; display: none;" src="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABgAAAAYCAYAAADgdz34AAADsElEQVR4nK2VTW9VVRSGn33OPgWpYLARbKWhQlCHTogoSkjEkQwclEQcNJEwlfgD/AM6NBo1xjhx5LyJ0cYEDHGkJqhtBGKUpm3SFii3vb2956wPB/t+9raEgSs52fuus89613rftdcNH8/c9q9++oe/Vzb5P+3McyNcfm2CcPj9af9w6gwjTwzvethx3Bx3x8xwd1wNM8dMcTNUHTfFLPnX6nVmZpeIYwf3cWD/PhbrvlPkblAzVFurKS6GmmGqqComaS+qmBoTI0Ncu3mXuGvWnrJ+ZSxweDgnkHf8ndVTdbiT3M7cQp2Z31dRTecHAfqydp4ejhwazh6Zezfnu98E1WIQwB3crEuJ2Y45PBTAQUVR9X4At66AppoEVO1Q8sgAOKJJjw6Am6OquDmvHskZ3R87gW+vlHz98zpmiqphkkRVbQtsfPTOC30lJKFbFTgp83bWh7Zx/uX1B6w3hI3NkkZTqEpBRDBRzG2AQHcwcYwEkOGkTERREbLQ/8HxJwuW7zdYrzfZ2iopy4qqEspKaDYravVm33k1R91Q69FA1VBRzFIVvXbx5AgXT44A8MWP81yfu0utIR2aVK3vfCnGrcUNxp8a7gKYKiLCvY2SUvo/aNtnM3e49ucK9S3p0aDdaT0UAVsKi2tVi6IWwNL9JvdqTdihaz79/l+u/rHMxmaJVMLkS2OoKKLWacdeE3IsSxctc2D5Qcl6vUlVVgNt+fkPPcFFmTw1xruvT7SCd7nuVhDQvECzJH90h0azRKoKFRkAmP5lKTWAGRdefoZL554FQNUxB92WvYeA5UN4PtSqwB2phKqsqMpBgAunRhFR3j49zuU3jnX8k6fHEQKXzh1jbmGDuYU6s4t1rt6socUeLLZHhYO2AHSHmzt19ihTZ48O8Hzl/AmunD/BjTvrvPfNX3hWsNpwJCvwYm+ngug4UilSCSq6k8YPtxDwfA+WRawIWFbgscDiULcCEaWqBFOlrLazurupOSHLqGnEKJAY8TwBEHumqUirAjNm52vEPPRV4p01XXMPAQhUBjcWm9QZwijwokgAeYHlHYA06KR1cT6ZvoV56pDUJQEjw0KeaMgj1hPEY4vz2A4eW0/e1qA7KtQdsxTYAG0H3iG4xyK1Y+xm7XmEPOJZDiENzLi2WZHngeOjj2Pe+sMg4GRYyLAsx7ME4FnsyTD9pr0PEc8zPGRAwKXBkYOPEd96cZRvf11g9MDe7e3R4Z4Q+vyEnn3P4t0XzK/W+ODN5/kPfRLewAJVEQ0AAAAASUVORK5CYII%3D" alt="" width="24" height="24" /></p>
]]></content:encoded>
			<wfw:commentRss>http://www.crccheck.com/blog/112/next-adventure-in-html-canvas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Secret Stash script</title>
		<link>http://www.crccheck.com/blog/72/secret-stash-script/</link>
		<comments>http://www.crccheck.com/blog/72/secret-stash-script/#comments</comments>
		<pubDate>Wed, 22 Jul 2009 05:47:10 +0000</pubDate>
		<dc:creator>crccheck</dc:creator>
				<category><![CDATA[Case Study]]></category>
		<category><![CDATA[Portfolio]]></category>
		<category><![CDATA[php]]></category>

		<guid isPermaLink="false">http://www.crccheck.com/blog/?p=72</guid>
		<description><![CDATA[I started writing my &#8220;Secret Stash&#8221; php script as a simple DirectoryIndex skin and evolved it to a full-featured entity of its own. My client needed an aesthetic way of showing their assets. Previously, they would either send them to an open directory on their web server, or write a new HTML page every time [...]]]></description>
			<content:encoded><![CDATA[<p>I started writing my &#8220;Secret Stash&#8221; php script as a simple DirectoryIndex skin and evolved it to a full-featured entity of its own. My client needed an aesthetic way of showing their assets. Previously, they would either send them to an open directory on their web server, or write a new HTML page every time they needed something more. Even though they had their workflow down to a series of copy and pastes, it was a lot of work every time there was a change. Especially compared to the system I gave them.</p>
<p>What I did was create a php script that created a parallel version of the open directory. The script used the same CSS and design cues from the main site, scraped the open directory and its subdirectories, and presented the clients files in a context-appropriate way. Subdirectories were grouped together, there was a widget to play audio files from the browser, videos could be played in-line, and images were thumbnailed and loaded in a lightbox. And the best part is that just maintaining the files was all it took to create the corresponding client site.</p>
<p>I added more features beyond that–  like simple file maintenance through the web interface, and the ability to add comments to each file.</p>
<p>The script was flexible enough to be used for different kind of clients, significantly reduced the maintenance time, and also made it possible for anyone with an FTP client to create client sites.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crccheck.com/blog/72/secret-stash-script/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

