<?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</title>
	<atom:link href="http://www.crccheck.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.crccheck.com/blog</link>
	<description>And change this tagline too</description>
	<lastBuildDate>Sat, 24 Jul 2010 04:20:15 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>CodebaseHQ Tickets+ for FireFox</title>
		<link>http://www.crccheck.com/blog/2010/07/codebasehq-tickets-for-firefox/</link>
		<comments>http://www.crccheck.com/blog/2010/07/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/2010/07/codebasehq-tickets-for-firefox/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Made another site: lazyalarm.com</title>
		<link>http://www.crccheck.com/blog/2010/07/made-another-site-lazyalarm-com/</link>
		<comments>http://www.crccheck.com/blog/2010/07/made-another-site-lazyalarm-com/#comments</comments>
		<pubDate>Thu, 22 Jul 2010 17:00:26 +0000</pubDate>
		<dc:creator>crccheck</dc:creator>
				<category><![CDATA[pics plz]]></category>

		<guid isPermaLink="false">http://www.crccheck.com/blog/?p=143</guid>
		<description><![CDATA[I actually made this site a few months ago. I just forgot to announce it. No, I lied. I actually made this in 2007, but back then it was a Konfabulator widget.
LazyAlarm is a simple alarm/timer/countdown site. You just type when you want an alarm and it does it. You can add messages, make them [...]]]></description>
			<content:encoded><![CDATA[<p>I actually made this site a few months ago. I just forgot to announce it. No, I lied. I actually made this in 2007, but back then it was a Konfabulator widget.</p>
<p><a href="http://lazyAlarm.com" target="_blank">LazyAlarm</a> is a simple alarm/timer/countdown site. You just type when you want an alarm and it does it. You can add messages, make them repeat, and change the alarm level all through natural English. And bet best part is you don&#8217;t have to endlessly click to make it do what you want, as opposed to every-alarm/timer-site-I&#8217;ve-ever-found-and-tried-to-use. It was dealing with these frustrating sites that got me to re-make my old widget for the web.</p>
<p>I&#8217;ve got it set up as a desktop web application myself.</p>
<p>There are of course a few bugs/features I haven&#8217;t gotten around to implementing:</p>
<ul>
<li>&#8216;0&#8242; (zero) should trigger a countdown, not &#8216;0s&#8217;</li>
<li>changing alarm levels and adding repeat shouldn&#8217;t reset countdowns</li>
<li>some time parsing could be improved</li>
</ul>
<p><a href="http://www.crccheck.com/blog/wp-content/uploads/2010/07/lazyAlarm.jpg"><img class="aligncenter size-full wp-image-144" title="lazyAlarm Screenshot" src="http://www.crccheck.com/blog/wp-content/uploads/2010/07/lazyAlarm.jpg" alt="" width="404" height="278" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.crccheck.com/blog/2010/07/made-another-site-lazyalarm-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A simple htaccess line for microsites</title>
		<link>http://www.crccheck.com/blog/2010/07/a-simple-htaccess-line-for-microsites/</link>
		<comments>http://www.crccheck.com/blog/2010/07/a-simple-htaccess-line-for-microsites/#comments</comments>
		<pubDate>Wed, 21 Jul 2010 21:13:29 +0000</pubDate>
		<dc:creator>crccheck</dc:creator>
				<category><![CDATA[Mental Note: Add Category]]></category>
		<category><![CDATA[apache]]></category>

		<guid isPermaLink="false">http://www.crccheck.com/blog/?p=139</guid>
		<description><![CDATA[If you&#8217;re running a simple site, you may find that using even one sub-directory is overkill. You have one CSS, one JS, and one HTML for the entire site, and name them after your project. If you&#8217;re like me, and end up working on multiple sites at a time, it helps if the file names [...]]]></description>
			<content:encoded><![CDATA[<p>If you&#8217;re running a simple site, you may find that using even one sub-directory is overkill. You have one CSS, one JS, and one HTML for the entire site, and name them after your project. If you&#8217;re like me, and end up working on multiple sites at a time, it helps if the file names are simple and named after the project. Where that fails is your main &#8220;index.html&#8221;. I&#8217;ve played with redirecting to a project.html file, or having a splash page index.html that redirected. But my solution-de-jour is adding a line to my .htaccess file:</p>
<p style="padding-left: 30px;"><code>DirectoryIndex my_awesome_project.html<br />
</code></p>
<p>which tells apache to serve my project html when looking for an index file. This is basically a very specific redirect, but you don&#8217;t have to serve any possibly sketchy 301 or 302 redirects.</p>
<p>Now I don&#8217;t have to guess which of the four &#8220;index.html&#8221; files I&#8217;m working on go to what.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crccheck.com/blog/2010/07/a-simple-htaccess-line-for-microsites/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Announcing lazyCSS.com</title>
		<link>http://www.crccheck.com/blog/2010/07/announcing-lazycss-com/</link>
		<comments>http://www.crccheck.com/blog/2010/07/announcing-lazycss-com/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 03:07:13 +0000</pubDate>
		<dc:creator>crccheck</dc:creator>
				<category><![CDATA[Mental Note: Add Category]]></category>

		<guid isPermaLink="false">http://www.crccheck.com/blog/?p=132</guid>
		<description><![CDATA[I took a few hours today to make a tool to help me convert CSS snippets betwen single-line and multi-line.
lazyCSS.com
Right now it&#8217;s just a bare-bones site but I hope to flesh it out within the next week&#8230; month&#8230; year? One neat little feature I threw in there for this &#8220;alpha&#8221; version is that CSS properties [...]]]></description>
			<content:encoded><![CDATA[<p>I took a few hours today to make a tool to help me convert CSS snippets betwen single-line and multi-line.</p>
<p><a href="http://lazyCSS.com">lazyCSS.com</a></p>
<p>Right now it&#8217;s just a bare-bones site but I hope to flesh it out within the next week&#8230; month&#8230; year? One neat little feature I threw in there for this &#8220;alpha&#8221; version is that CSS properties are sorted alphabetically. If you have a vendor prefix, it ignores it. I hope to have the app remember settings between uses, automatically detect if the input is single or multi-line, and handle comments, and automatically collimate multi-line css.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crccheck.com/blog/2010/07/announcing-lazycss-com/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Announcing allbfcards.com</title>
		<link>http://www.crccheck.com/blog/2010/04/announcing-allbfcards-com/</link>
		<comments>http://www.crccheck.com/blog/2010/04/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/2010/04/announcing-allbfcards-com/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A new canvas demo</title>
		<link>http://www.crccheck.com/blog/2010/02/a-new-canvas-demo/</link>
		<comments>http://www.crccheck.com/blog/2010/02/a-new-canvas-demo/#comments</comments>
		<pubDate>Mon, 08 Feb 2010 07:25:43 +0000</pubDate>
		<dc:creator>crccheck</dc:creator>
				<category><![CDATA[Neato!]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://www.crccheck.com/blog/?p=123</guid>
		<description><![CDATA[I finally got around to updating my canvas / sql visualization code. Interacting with the map is now much easier.
And I&#8217;ve posted a live demo of it here: http://crccheck.com/demo02
It&#8217;s not as refined as google maps, but it&#8217;s still pretty fancy. Navigation is done in the minimap, and you can draw on the large map with [...]]]></description>
			<content:encoded><![CDATA[<p>I finally got around to updating my canvas / sql visualization code. Interacting with the map is now much easier.</p>
<p><a href="http://www.crccheck.com/blog/wp-content/uploads/2010/02/http-_crccheck.com_demo02.jpg"><img class="aligncenter size-full wp-image-124" title="Screenshot" src="http://www.crccheck.com/blog/wp-content/uploads/2010/02/http-_crccheck.com_demo02.jpg" alt="" width="400" height="395" /></a>And I&#8217;ve posted a live demo of it here: <a class="linkification-ext" title="Linkification: http://crccheck.com/demo02" href="http://crccheck.com/demo02">http://crccheck.com/demo02</a></p>
<p>It&#8217;s not as refined as google maps, but it&#8217;s still pretty fancy. Navigation is done in the minimap, and you can draw on the large map with your mouse pointer.</p>
<p>This time, I made it work in FireFox and Chrome/Safari</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crccheck.com/blog/2010/02/a-new-canvas-demo/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How I survived a fresh Windows 7 install</title>
		<link>http://www.crccheck.com/blog/2009/12/how-i-survived-a-fresh-windows-7-install/</link>
		<comments>http://www.crccheck.com/blog/2009/12/how-i-survived-a-fresh-windows-7-install/#comments</comments>
		<pubDate>Tue, 08 Dec 2009 02:44:59 +0000</pubDate>
		<dc:creator>crccheck</dc:creator>
				<category><![CDATA[Mental Note: Add Category]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://www.crccheck.com/blog/?p=119</guid>
		<description><![CDATA[A couple days ago, I tried cloning my Windows Vista drive in preparation for upgrading to Windows 7. Something went wrong though, and my original drive wouldn&#8217;t boot anymore because of the infamous winload.exe. So I got rushed into upgrading to Windows 7 earlier and unprepared. But luckily, to a large degree I was prepared:
1) [...]]]></description>
			<content:encoded><![CDATA[<p>A couple days ago, I tried cloning my Windows Vista drive in preparation for upgrading to Windows 7. Something went wrong though, and my original drive wouldn&#8217;t boot anymore because of the infamous winload.exe. So I got rushed into upgrading to Windows 7 earlier and unprepared. But luckily, to a large degree I was prepared:</p>
<p>1) Maintain plenty of free space. I did a fresh install of Windows 7 on my old Windows Vista drive. The installer moved all my old users, documents, programs, and system directories into a safe place so you won&#8217;t get anymore strangely named system folders like Windows.1 anymore. Because I had plenty of space, I could just move my old files instead of going to a slower external backup.</p>
<p>2) FireFox.  To get FireFox up and running, all you need to do is install it, then move your old profile to the new. You have to make sure you get both the Local and Roaming data, and Google Gears is an external install that won&#8217;t transfer along. If you can&#8217;t do that, use Weave, which will sync your bookmarks, passwords, history, etc. This trick will work for the majority of the programs you use. Step 1) Install a program. Step 2) copy old profile data over.</p>
<p>3) DropBox. I keep small useful files, and small portable apps in my DropBox. That means I have a lot of functionality the moment my DropBox is synced. You should grab the 0.7 betas from the forums instead of the main 0.6 version because the 0.7 series has Lan Sync.</p>
<p>4) Have multiple computers, use all of them. This is the best way to minimize downtime. Plus, with lan sync enabled DropBox, rebuilding a DropBox from scratch is a lot faster.</p>
<p>5) Use free software. This gets you back on your feet faster. Free software is usually small, easily available, and fast to install. One trick I do is I bookmark the download pages of software I like and tag it &#8220;installthis&#8221;.</p>
<p>6) Use &#8220;portable&#8221; software. If you have the option, get programs to run in portable mode. All the datafiles are contained, and not spread out in 4 random hidden corners of your hard drive. They don&#8217;t depend on the Windows registry. I use keepass, putty, notepad++, foobar2000, and some other small utilities in portable mode.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crccheck.com/blog/2009/12/how-i-survived-a-fresh-windows-7-install/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Next adventure in HTML Canvas</title>
		<link>http://www.crccheck.com/blog/2009/11/next-adventure-in-html-canvas/</link>
		<comments>http://www.crccheck.com/blog/2009/11/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 label [...]]]></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/2009/11/next-adventure-in-html-canvas/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>PDF viewer roundup</title>
		<link>http://www.crccheck.com/blog/2009/09/pdf-viewer-roundup/</link>
		<comments>http://www.crccheck.com/blog/2009/09/pdf-viewer-roundup/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 17:02:47 +0000</pubDate>
		<dc:creator>crccheck</dc:creator>
				<category><![CDATA[Mental Note: Add Category]]></category>

		<guid isPermaLink="false">http://www.crccheck.com/blog/?p=106</guid>
		<description><![CDATA[Trying to navigate a PDF version of a map is a frustrating experience. Based on the recommendations of LifeHacker, I tried three PDF viewers:

Adobe Acrobat : well supported, tons of features, too many features, bloated, slow, poor navigation, automatically launches auxiliary programs in the background.
Tracker PDF-XChanger Viewer : free version is just spam for the [...]]]></description>
			<content:encoded><![CDATA[<p>Trying to navigate a PDF version of a map is a frustrating experience. Based on the recommendations of <a href="http://lifehacker.com/5328211/five-best-pdf-readers">LifeHacker</a>, I tried three PDF viewers:</p>
<ol>
<li>Adobe Acrobat : well supported, tons of features, too many features, bloated, slow, poor navigation, automatically launches auxiliary programs in the background.</li>
<li>Tracker PDF-XChanger Viewer : free version is just spam for the Pro version. Bloated, horrible web site, poor documentation, poor support, poor navigation. There&#8217;s no way I would pay for a Pro version when the website looks like a spam front.</li>
<li>Sumatra : crashed and wouldn&#8217;t render PDF.</li>
</ol>
<p>I was just looking for a PDF viewer that had:</p>
<ul>
<li>instant pan (the hand tool) via mouse or spacebar. All the PDF viewers I tried had this. And also an</li>
<li>instant zoom either through a keyboard shortcut or mousewheel support, none of these had that except Sumatra, which wouldn&#8217;t even render the PDF.</li>
</ul>
<p>As far as usability, for this application, I&#8217;m going to stick with Adobe Acrobat. It&#8217;s navigation is better than PDF-XChanger, and I&#8217;ve already gotten used to all its annoyances.</p>
<p>[UPDATE] I found a setting in Adobe Acrobat in the General setting called &#8220;Make Hand tool use mouse-wheel zooming&#8221; that&#8217;s working out for me.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crccheck.com/blog/2009/09/pdf-viewer-roundup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Teaching Myself the HTML Canvas Element</title>
		<link>http://www.crccheck.com/blog/2009/09/teaching-myself-the-html-canvas-element/</link>
		<comments>http://www.crccheck.com/blog/2009/09/teaching-myself-the-html-canvas-element/#comments</comments>
		<pubDate>Thu, 17 Sep 2009 05:25:10 +0000</pubDate>
		<dc:creator>crccheck</dc:creator>
				<category><![CDATA[Nerd]]></category>

		<guid isPermaLink="false">http://www.crccheck.com/blog/?p=101</guid>
		<description><![CDATA[I rewrote some JavaScript of mine to use &#60;canvas&#62; instead of a &#60;pre&#62; block to display some data from a database scraped from a webpage. So far, it&#8217;s looking a lot nicer:
I can do all sorts of other cool visualizations of the data too. Some things I learned that weren&#8217;t in the Mozilla documentation:
save(), restore(), [...]]]></description>
			<content:encoded><![CDATA[<p>I rewrote some JavaScript of mine to use &lt;canvas&gt; instead of a &lt;pre&gt; block to display some data from a database scraped from a webpage. So far, it&#8217;s looking a lot nicer:<br />
<img class="aligncenter size-medium wp-image-102" title="CanvasTest1" src="http://www.crccheck.com/blog/wp-content/uploads/2009/09/CanvasTest1-300x300.png" alt="CanvasTest1" width="300" height="300" />I can do all sorts of other cool visualizations of the data too. Some things I learned that weren&#8217;t in the Mozilla documentation:</p>
<p>save(), restore(), scale(), and translate() are useful, but when you want to do operations about a point other than the origin, setTransform() does a much nicer job when you use a point other 0,0 for the origin. I could have sworn there was a way that didn&#8217;t involve me doing math to do it, but I couldn&#8217;t find it and ended up just doing the math to get setTransform to work.</p>
<p>scale() does a really horrible job. I abandoned using tiled images and scaled Text. As you can see, I went with a solid background, and in that picture I removed for aesthetics &#8212; but I ended up writing my own custom method for scaling text (I had to do more math!).</p>
<p>I&#8217;m not sure how far I&#8217;ll take this, or in what direction, but I&#8217;ll have fun along the way.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.crccheck.com/blog/2009/09/teaching-myself-the-html-canvas-element/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
