<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" version="2.0">

<channel>
	<title>patorjk.com</title>
	
	<link>http://patorjk.com/blog</link>
	<description>web apps, programming talk, and random thoughts</description>
	<pubDate>Tue, 07 Jul 2009 17:38:38 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/patorjk" type="application/rss+xml" /><feedburner:emailServiceId xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">patorjk</feedburner:emailServiceId><feedburner:feedburnerHostname xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">http://feedburner.google.com</feedburner:feedburnerHostname><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
		<title>New Keyboard Layout Analyzer, Less Lines of Code</title>
		<link>http://patorjk.com/blog/2009/07/07/new-keyboard-layout-analyzer-less-lines-of-code/</link>
		<comments>http://patorjk.com/blog/2009/07/07/new-keyboard-layout-analyzer-less-lines-of-code/#comments</comments>
		<pubDate>Tue, 07 Jul 2009 17:38:38 +0000</pubDate>
		<dc:creator>patorjk</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://patorjk.com/blog/?p=404</guid>
		<description><![CDATA[I&#8217;ve uploaded a new version of my Keyboard Layout Analyzer. You can see a full screen capture of the output page below. The new version has a layout similar to the one I discussed in my last post, and has a different chart set up, as well as a hand full of other small new [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve uploaded a new version of my <a href="http://www.patorjk.com/keyboard-layout-analyzer/">Keyboard Layout Analyzer</a>. You can see a full screen capture of the output page below. The new version has a layout similar to the one I discussed in my last post, and has a different chart set up, as well as a hand full of other small new features.</p>
<div class="wp-caption alignleft" style="width: 210px"><img alt="The New Layout For Keyboard Layout Analyzer Output" src="http://patorjk.com/images/blog-2009/keyboard-layout-analyzer-1-0-0.png" title="New Layout" width="200" height="542" /><p class="wp-caption-text">The New Layout For Keyboard Layout Analyzer Output</p></div>
<p>This new version is essentially a complete re-write of the old version. I had been making mental notes of features I thought would make the program a lot more useful, and after thinking about how I&#8217;d implement these new features, I realized I&#8217;d be better off just re-writing the application instead of modifying the old one. </p>
<p>This re-write was also a way for me to &#8220;pay down&#8221; my <a href="http://www.codinghorror.com/blog/archives/001230.html">&#8220;technical debt&#8221;</a> (I think I like that term), as I was able to more efficiently implement certain things to make them a lot more flexible. When I write stuff for fun, a lot of the time I just go with the first or second implementation I think of and then get to work. This re-write will probably serve as a good lesson learned, since the re-write was a little more painful than I expected. Only one of the new features that I thought up is in the program right now (the new chart set up), I didn&#8217;t have time to get to the rest of them, though I hope to implement them in the next couple of weeks.</p>
<p>Here&#8217;s an overview of what&#8217;s in this version:</p>
<ul style="list-style-position: inside;">
<li>Updated interface.</li>
<li>Able to view charts of different layouts all at once.</li>
<li>Able to select what pieces of information you want to factor into the charts.</li>
<li>Addition of the <a href="http://www.geocities.com/smozoma/projects/keyboard/?20096">Capewell</a> and <a href="http://www.pvv.org/~hakonhal/keyboard/">Arensito (Simplified)</a> layouts. However, this set up isn&#8217;t final. These layouts will still be in the next version, but the options will be a little different.</li>
<li>&#8220;Personal Layout&#8221; factored into the statistics.</li>
<li>A layout recommendation is made based on what you typed.</li>
</ul>
<p>This new implementation also consists of 26% fewer lines of code. <img src='http://patorjk.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>This new version was tested out in Firefox 3.0 and 3.5, Chrome, and IE8. Unfortunately, the new IE8 messed up my install of IE6Eolas, so I&#8217;m not sure how the app works in IE6 or IE7. Oh, and I hate to rehash the cliché of bashing IE, but IE8 is actually a lot slower than IE6 and IE7 when it comes to executing JavaScript. Enough so that I was actually a little dismayed. I had been hearing mostly positive things about IE8, but I just didn&#8217;t see anything that I thought was that impressive. </p>
<p>Anyway, if you have any suggestions for the Keyboard Layout Analyzer or find any bugs in it let me know.</p>
<img src="http://feeds.feedburner.com/~r/patorjk/~4/Ds0tFKwR870" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://patorjk.com/blog/2009/07/07/new-keyboard-layout-analyzer-less-lines-of-code/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Evolving Layout Of The Typing Speed Test</title>
		<link>http://patorjk.com/blog/2009/06/22/the-evolving-layout/</link>
		<comments>http://patorjk.com/blog/2009/06/22/the-evolving-layout/#comments</comments>
		<pubDate>Mon, 22 Jun 2009 06:22:26 +0000</pubDate>
		<dc:creator>patorjk</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://patorjk.com/blog/?p=390</guid>
		<description><![CDATA[Coming up with a good looking, easy-to-use design is hard. Sometimes I feel like I spend more time trying to design an application&#8217;s layout than I do programming its back end, and most of the time the resulting layout isn&#8217;t that impressive. I think I&#8217;m just better at creating functionality than I am at making [...]]]></description>
			<content:encoded><![CDATA[<p>Coming up with a good looking, easy-to-use design is hard. Sometimes I feel like I spend more time trying to design an application&#8217;s layout than I do programming its back end, and most of the time the resulting layout isn&#8217;t that impressive. I think I&#8217;m just better at creating functionality than I am at making something that looks pretty. However, no one&#8217;s going to look at something if it looks like crap, and people tend to give applications more of a fair shake if they look nice, so I think the time I spend trying to become a better designer is worth it.</p>
<p>Recently I&#8217;ve taken to trying to improve the look of my <a href="http://patorjk.com/typing-speed-test/">Typing Speed Test</a>. Below you can see the initial design, a design I put up last month, and the most recent design, which I put up this past weekend.</p>
<div class="wp-caption aligncenter" style="width: 510px"><img alt="Initial Design" src="http://patorjk.com/images/blog-2009/typing-speed-test-layout-v1.png" title="Layout 1" width="500" height="236" /><p class="wp-caption-text">Initial Design</p></div>
<div class="wp-caption aligncenter" style="width: 510px"><img alt="Second Layout" src="http://patorjk.com/images/blog-2009/typing-speed-test-layout-v2.png" title="Layout 2" width="500" height="236" /><p class="wp-caption-text">Second Layout</p></div>
<div class="wp-caption aligncenter" style="width: 510px"><img alt="Current Layout" src="http://patorjk.com/images/blog-2009/typing-speed-test-layout-v3.png" title="Layout 3" width="500" height="236" /><p class="wp-caption-text">Current Layout</p></div>
<p>I made the initial design with the idea of keeping things as simple as possible, however, in retrospect, the page looks kind of unbalanced and the big yellow explanation box at the top kind of comes off as a little bit of an eye sore. The second layout was made with the aim of being a bit more stylish. I got ride of the yellow explanation box, threw in some small gifs, added a keyboard reference, and put in a header bar to make it seem a little less plain.</p>
<p>The third, and current layout, was made with the aim of trying to make something that, in my mind, looked good. I don&#8217;t think I quiet accomplished that, but I think I came up with something better than what I had. The interface seems cleaner and more balanced, and I like the additional color at the top of the page. The only thing I&#8217;m not sure I like are the header images, they seem a little cheesy. So I&#8217;ll probably keep tweaking the layout. My goal is to come up with something I can re-use on future (and existing) applications.</p>
<img src="http://feeds.feedburner.com/~r/patorjk/~4/_5t0HqNmMrc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://patorjk.com/blog/2009/06/22/the-evolving-layout/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Dogs Days of Summer and Web App Versioning</title>
		<link>http://patorjk.com/blog/2009/06/17/web-app-versioning/</link>
		<comments>http://patorjk.com/blog/2009/06/17/web-app-versioning/#comments</comments>
		<pubDate>Wed, 17 Jun 2009 05:22:30 +0000</pubDate>
		<dc:creator>patorjk</dc:creator>
		
		<category><![CDATA[Personal]]></category>

		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://patorjk.com/blog/?p=382</guid>
		<description><![CDATA[I can&#8217;t remember a time when I was so exhausted. I&#8217;ve moved into my new townhouse, though it still feels like there&#8217;s a ton of stuff to do for it. I also got engaged recently, and even though the date is a year away it seems like there is a lot to do for it. [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption aligncenter" style="width: 510px"><img alt="Rising Sun" src="http://patorjk.com/images/blog-2009/clip-art-rising-sun.png" title="Rising Sun" width="500" height="154" /><p class="wp-caption-text">Rising Sun</p></div>
<p>I can&#8217;t remember a time when I was so exhausted. I&#8217;ve moved into my new townhouse, though it still feels like there&#8217;s a ton of stuff to do for it. I also got engaged recently, and even though the date is a year away it seems like there is a lot to do for it. I&#8217;ve also been working 50-55 hour weeks at work the past few weeks, usually leaving work around 10pm. That last one isn&#8217;t too bad, since I&#8217;m getting overtime and I know people who&#8217;ve done much worse (I have a friend who told me he once did a 27 hour a day). However, it&#8217;s all left me a little worn out. However, I&#8217;ve still kept this site in my thoughts.</p>
<p>One behind the scenes thing I decided to look into was web app versioning. Sometimes I want to make a small update a program like <a href="http://patorjk.com/software/taag/">Text Ascii Art Generator (TAAG)</a>, where I might need to change 3 or 4 files, yet if the user has certain files cached, the mish-mash of certain new and old files could cause the program not to work. There may be some obvious way of doing versioning that I&#8217;m just not aware of, but its something that&#8217;s bugged me for a while. I had been getting around this issue by naming the files I wanted to update something different (ex: font-settings-v1.htm became font-settings-v2.htm, etc), however, this seemed a rather messy way of doing it. </p>
<p>Recently I decided to put the whole app except for its index.htm file under a directory representing its version, and having the index.htm point to the sub-directories under the latest version. So the apps contents would be placed in a structure like this:</p>
<p>patorjk.com/software/taag/1.0.0/pages/ - Pages for the app<br />
patorjk.com/software/taag/1.0.0/css/ - CSS files<br />
patorjk.com/software/taag/1.0.0/scripts/ - Scripts<br />
patorjk.com/software/taag/ - Where the index.htm file would go</p>
<p>This is nice because it allows me to go back in time if I screw something up. For example, if I decided I didn&#8217;t like version 1.0.1 of the app, I could go back to version 1.0.0 by just changing the index.htm file. This method also prevents any kind of awkward file combination due to cached files. However, it&#8217;s down sides are that I have to upload a whole new version of the app every time I update and I need to make sure users aren&#8217;t linking to or bookmarking pages underneath the version sub-folder. The app has to be set up so that the version folder is invisible - everything has to happen through the page at the base directory. This is so search engines wont index every single little version of the app.</p>
<p>So far this system seems to work pretty well, however, if anyone has any suggestions let me know.</p>
<p>In the weeks to come&#8230;</p>
<p>I imagine my free time to be kind of scarce for a while, but I have some ideas I want to work on, so updates will keep coming, but probably in a more sporadic manner.</p>
<img src="http://feeds.feedburner.com/~r/patorjk/~4/c-H61xhbaUg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://patorjk.com/blog/2009/06/17/web-app-versioning/feed/</wfw:commentRss>
		</item>
		<item>
		<title>patorjk.com Goes On One Month Hiatus (Updated June 2nd)</title>
		<link>http://patorjk.com/blog/2009/05/01/patorjkcom-goes-on-one-month-hiatus/</link>
		<comments>http://patorjk.com/blog/2009/05/01/patorjkcom-goes-on-one-month-hiatus/#comments</comments>
		<pubDate>Fri, 01 May 2009 05:54:18 +0000</pubDate>
		<dc:creator>patorjk</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://patorjk.com/blog/?p=368</guid>
		<description><![CDATA[I try to make sure this site is updated at least once a week. Often times I let it slip to every other week. When it goes past that, I usually get kind of upset with myself.
With that said, I&#8217;m a little embarrassed that I&#8217;ve been slacking on the update front, however, a lot is [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignright" style="width: 160px"><img title="Sleepy Moon" src="http://patorjk.com/images/sleepy-moon.png" alt="The Moon, Right Before Its About To Go On Break" width="150" height="187" /><p class="wp-caption-text">Tired Moon</p></div>
<p>I try to make sure this site is updated at least once a week. Often times I let it slip to every other week. When it goes past that, I usually get kind of upset with myself.</p>
<p>With that said, I&#8217;m a little embarrassed that I&#8217;ve been slacking on the update front, however, a lot is going on in my life right now and I just haven&#8217;t had the time I&#8217;ve wanted to work on stuff. I currently have some new updates to the <a href="http://patorjk.com/typing-speed-test/">Typing Speed Test</a> in the works and I&#8217;m about to start work on a new app for this site. However, since I&#8217;ve been pressed for time, I haven&#8217;t really gotten much done during the last few weeks. So rather than string people along who regularly check in, or make subscribers wonder why there haven&#8217;t been any updates, I figured I&#8217;d just take an official break. I&#8217;ll still be working on stuff over the next month (when I get the time), I just wont update until the start June.</p>
<p>If anyone has any update requests for the Typing Speed Test let me know. I&#8217;m leaning towards reworking it to be more oriented towards typing correct characters instead of typing correct words, but I don&#8217;t know yet. It seems like there are a lot of different ways to give a typing speed test and no one way really jumps out at me as the best way.</p>
<p><strong>June 2nd Update:</strong> I&#8217;m still in the process of moving into my new place and I&#8217;m currently in &#8220;crunch mode&#8221; at work, so it&#8217;ll be a little while longer.</p>
<img src="http://feeds.feedburner.com/~r/patorjk/~4/kcEsJaCCiHM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://patorjk.com/blog/2009/05/01/patorjkcom-goes-on-one-month-hiatus/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Lots of Typing Speed Test Updates Today</title>
		<link>http://patorjk.com/blog/2009/04/06/lots-of-typing-speed-test-updates-today/</link>
		<comments>http://patorjk.com/blog/2009/04/06/lots-of-typing-speed-test-updates-today/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 04:58:46 +0000</pubDate>
		<dc:creator>patorjk</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://patorjk.com/blog/?p=347</guid>
		<description><![CDATA[Last time I said I had two more major features that I wanted to add into my Typing Speed Test. That number has since ballooned quiet bit and now I&#8217;m not really sure when I&#8217;ll be done with it. 
The biggest change you&#8217;ll notice today is that the input text is now in a 3-line [...]]]></description>
			<content:encoded><![CDATA[<p>Last time I said I had two more major features that I wanted to add into my <a href="http://patorjk.com/typing-speed-test/">Typing Speed Test</a>. That number has since ballooned quiet bit and now I&#8217;m not really sure when I&#8217;ll be done with it. </p>
<div class="wp-caption alignright" style="width: 110px"><img alt="Om Nom Nom" src="http://patorjk.com/images/firefox-biting-ie.jpg" width="100" height="100" /><p class="wp-caption-text">Random Pro-FF Image</p></div>
<p>The biggest change you&#8217;ll notice today is that the input text is now in a 3-line format that scrolls once you&#8217;ve typed to the end of the second line. I like this change a lot sense I think it allows for a more simple user experience. </p>
<p>Another reason I like it is that it allowed me to find my first undocumented (for the most part) bug in IE (well, the first one that I&#8217;ve taken the time to examine).  It appears IE has issues with returning the correct offsetTop position of span tags in certain situations. I&#8217;ve set up a test page <a href="http://www.patorjk.com/tests/span-offsettop.htm">here</a> that&#8217;ll show you different offsetTop values when you use IE as opposed to other browsers. <a href="http://kirblog.idetalk.com/2007/10/problem-with-offsettop-and-element.html">This guy</a> had similar issues, though he couldn&#8217;t reproduce his problem via a test case. Luckily for me, his offsetTop span solution also worked for what I was doing (just set the span&#8217;s position property to relative).</p>
<div class="wp-caption alignright" style="width: 411px"><img alt="My hot spot visualization after 1000 words of Moby Dick. I got kind of tired." src="http://patorjk.com/images/keyboard-1000-words-of-moby-dick.png" width="401" height="134" /><p class="wp-caption-text">My hot spot visualization after 1000 words of Moby Dick. I got kind of tired.</p></div>
<p>Since the input text can now be scrolled in a smaller area, I&#8217;ve also added in some additional test time options. You can now run the test for up to 5 minutes or up to 1000 words. I will warn you though, typing the 1000 word version of the test more than twice in a row will leave you kind of sore.</p>
<p>A lot of the other changes I made were under the hood changes. To decrease loading time, I&#8217;m now using the <a href="http://developer.yahoo.com/yui/get/">YUI Get Utility</a> for certain script files. This utility allows developers to grab script and css files at run time and integrate them into their code. Right now I&#8217;m using it to grab unloaded script files that contain functions that return input text for the typing test. I figured that most users aren&#8217;t going to try every possible test input, so there&#8217;s no reason to load them all each time. It doesn&#8217;t improve loading time a whole lot right now, but it&#8217;ll keep the loading time from growing once I start adding lots of different test inputs.</p>
<p>I&#8217;ve made a bunch of other minor changes and fixes, but I wont bore you with all the little details (unless you want me to). If you find any problems in this new version please let me know.</p>
<img src="http://feeds.feedburner.com/~r/patorjk/~4/hLCQKvasN9U" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://patorjk.com/blog/2009/04/06/lots-of-typing-speed-test-updates-today/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How Fast Do You Press Each Key When You Type?</title>
		<link>http://patorjk.com/blog/2009/03/24/keyboard-hot-spot-visualization/</link>
		<comments>http://patorjk.com/blog/2009/03/24/keyboard-hot-spot-visualization/#comments</comments>
		<pubDate>Wed, 25 Mar 2009 03:16:07 +0000</pubDate>
		<dc:creator>patorjk</dc:creator>
		
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://patorjk.com/blog/?p=337</guid>
		<description><![CDATA[I&#8217;ve updated my Typing Speed Test with a new feature that lets you see how fast you typed each key on the keyboard. Once you finish the test, you&#8217;re presented with a visualization of the keyboard where the keys that were typed faster are more red and the keys that were typed slower are less [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve updated my <a href="http://patorjk.com/typing-speed-test/">Typing Speed Test</a> with a new feature that lets you see how fast you typed each key on the keyboard. Once you finish the test, you&#8217;re presented with a visualization of the keyboard where the keys that were typed faster are more red and the keys that were typed slower are less red. Keys that are completely white were not typed at all and grey keys aren&#8217;t factored into the calculations. To see stats about an individual key, all you have to do is mouse over the key you&#8217;re interested in. Below you can see a screen capture of the feature.</p>
<div class="wp-caption aligncenter" style="width: 510px"><img alt="A screen capture of the Hot Spot Visualization feature. The mouse was hovering over the W key when this shot was taken." src="http://patorjk.com/images/hot_spot_keyboard_march24_2009.png" title="Hot Spot Visualization" width="500" height="232" /><p class="wp-caption-text">A screen capture of the Hot Spot Visualization feature. The mouse was hovering over the &quot;W&quot; key when this shot was taken.</p></div>
<p>Let me know if you see any problems. I still have two major features I want to add into this app before I move onto my next project.</p>
<p><strong>EDIT March 26, 2009:</strong> I&#8217;ve updated the visualization. Blue now represents key that were typed slowly and red represents keys that were typed quickly.</p>
<img src="http://feeds.feedburner.com/~r/patorjk/~4/O6ttJPFV5g4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://patorjk.com/blog/2009/03/24/keyboard-hot-spot-visualization/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Two Years Since The Relaunch…</title>
		<link>http://patorjk.com/blog/2009/03/21/two-years-since-the-relaunch/</link>
		<comments>http://patorjk.com/blog/2009/03/21/two-years-since-the-relaunch/#comments</comments>
		<pubDate>Sat, 21 Mar 2009 05:22:10 +0000</pubDate>
		<dc:creator>patorjk</dc:creator>
		
		<category><![CDATA[Introspective]]></category>

		<category><![CDATA[Personal]]></category>

		<guid isPermaLink="false">http://patorjk.com/blog/?p=315</guid>
		<description><![CDATA[As of March 21st, it&#8217;s officially been two years since I decided to relaunch this website. On the opening day there wasn&#8217;t any hype and the site had been down for 2 months - and before that, I think I&#8217;d only updated twice in the previous two years. Plus, on this new day, all I [...]]]></description>
			<content:encoded><![CDATA[<p>As of March 21st, it&#8217;s officially been two years since I decided to relaunch this website. On the opening day there wasn&#8217;t any hype and the site had been down for 2 months - and before that, I think I&#8217;d only updated twice in the previous two years. Plus, on this new day, all I had up was a message saying I&#8217;d be back. I couldn&#8217;t post up anything because my previous host had deleted all of my content and my hard drive had just recently crashed, taking with it everything I had saved. Other than being a lesson in routinely backing up files, this gave me a chance to start fresh.<div class="wp-caption alignright" style="width: 260px"><img alt="This site, shortly before being deleted" src="http://patorjk.com/images/patorjk_online_2006.png" title="This site, shortly before being deleted" width="250" height="133" /><p class="wp-caption-text">This site, shortly before being deleted</p></div></p>
<p>It&#8217;s been two years and I think this site is currently as successful as its ever been. I don&#8217;t have a community like I used to, but I do have a decent amount of traffic and links coming in. The site, as a whole, currently gets around 2,700 visitors a day. So I feel good that I&#8217;ve been able to come back with something that people (hopefully) find useful and/or entertaining. I suppose it&#8217;s just a different site now than it used to be. I&#8217;m still steering the ship, and I&#8217;m still programming, but I&#8217;m using different tools and doing different things.</p>
<p>I think the thing I&#8217;ve enjoyed the most over the past two years is seeing the stuff I make or post up actually being used. When working in a big company, sometimes you program something up, hand it in, and then move onto your next assignment. You don&#8217;t really get to find out the experiences of the end user or what they thought of the program. You don&#8217;t know if they struggled to understand what you did or if they loved it. Well, sometimes you find out, but not always.</p>
<p>The cool thing about the web is that anyone can see the stuff you make. And to get feed back one can just google around or look at their referral logs and see where people are coming from. Sometimes this leads to some interesting info about how people are preciviing and using what you have up. Check out these Stumbleupon reviews I found of my <a href="http://patorjk.com/misc/chainletters/179waystoannoypeople.htm">179 Ways to Annoy People</a> chain letter page:</p>
<div class="wp-caption aligncenter" style="width: 430px"><img alt="Annoyed Visitors" src="http://patorjk.com/images/annoy_people_stumbleupon_reviews.png" title="Stumbleupon Reviews" width="420" height="304" /><p class="wp-caption-text">Annoyed Visitors</p></div>
<p>I think a certain number of visitors were thinking it was a real list. I thought it was obviously a joke, but you never really know what people are thinking when they come across your site, so I added in note at the top of the page letting people know it was just a joke list. Though I suppose some of the reviewers might have realized it was a joke and were just plain offended by it, however, calling a joke list &#8220;Asshole Training&#8221; seems a bit odd. [As a side note: I'm thinking of getting rid of this page entirely, since it doesn't really go with the rest of the site, though maybe I just wont link to it and let its only source of traffic be 3rd party services like search engines and Stumbleupon]</p>
<p>Another interesting observation I was able to make, this time via my stats, was that a decent number of people were going to my <a href="http://patorjk.com/software/taag/">Text Ascii Art Generator</a> program and then just exiting via one of the out going links on the About page. This seemed like a rather strange behavior so I changed the program to automatically display the message &#8220;Type Something&#8221; once the page was loaded. This ended up causing a big increase in the usage of the program. My guess is that people were visiting the app&#8217;s main page and then getting confused as to what they were looking at, so they&#8217;d just skim the page and click on one of the out going links. It&#8217;s stuff like this, as a developer, that I&#8217;d never catch unless I had access to usage stats or user feed back.</p>
<p>Anyway, for those of you who&#8217;ve decided to follow this site for whatever reason, I thank you for checking in every so often. It definitely is nice to see stuff I make being used and to get feed back on it.</p>
<img src="http://feeds.feedburner.com/~r/patorjk/~4/XRQK_DaAMrI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://patorjk.com/blog/2009/03/21/two-years-since-the-relaunch/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How Fast Do Your Individual Fingers Type?</title>
		<link>http://patorjk.com/blog/2009/03/16/how-fast-do-your-individual-fingers-type/</link>
		<comments>http://patorjk.com/blog/2009/03/16/how-fast-do-your-individual-fingers-type/#comments</comments>
		<pubDate>Mon, 16 Mar 2009 04:59:02 +0000</pubDate>
		<dc:creator>patorjk</dc:creator>
		
		<category><![CDATA[Random Ideas]]></category>

		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://patorjk.com/blog/?p=300</guid>
		<description><![CDATA[Some big updates were made to my Typing Speed Test. I&#8217;ve spent the last two weeks brainstorming and implementing ideas I thought would make it more useful. Once I found I could easily capture the speed at which the keys were typed I realized that this also meant I could deduce how fast each finger [...]]]></description>
			<content:encoded><![CDATA[<p>Some big updates were made to my <a href="http://patorjk.com/typing-speed-test/">Typing Speed Test</a>. I&#8217;ve spent the last two weeks brainstorming and implementing ideas I thought would make it more useful. Once I found I could easily capture the speed at which the keys were typed I realized that this also meant I could deduce how fast each finger was moving.</p>
<p>However, to be able to accommodate Dvorak and Colemak users, I had to make the user&#8217;s keyboard layout one of the configuration items. I also realized that not everyone types according to the standard fingering positions, including myself. I noticed this back when I was learning the Dvorak layout. My right pinky kept getting really sore. When I switched back to the QWERTY layout, I noticed that the only keys I used my Right Pinky for were the &#8220;Enter&#8221; key and the &#8220;Right Shift&#8221; key. To accommodate the people who deviate from the norm, I also made it so users could manually set which fingers they used for each key.</p>
<p>Allowing users to change the normal Finger-to-Key mapping lead to some hard user interface decisions. What I ended up creating was a keyboard map where the user changed a key&#8217;s mapping by clicking it one or more times. When it&#8217;s clicked, its mapping goes to the next finger in the legend. I initially had a design that used radio buttons, but I didn&#8217;t like all of the back and forth movement it caused with the mouse. I&#8217;m still not sure I have the best design, but for now I think what I have works fine. Below you can see an picture of the user interface. The keys are set with the finger positions I typically use.</p>
<div class="wp-caption aligncenter" style="width: 510px"><img alt="My Custom Keyboard Finger Positions" src="http://patorjk.com/images/custom_keyboard_layout_pat.png" title="My Custom Keyboard Layout" width="500" height="140" /><p class="wp-caption-text">My custom keyboard finger positions.</p></div>
<p>Once you finish the test you&#8217;ll now be presented with stats on how well you typed and stats on how fast your individual fingers were. To make the test more blog friendly, I also decided to present the user with the HTML code for the output tables. Below you can see two of my tables from a run I did.</p>
<p><center><br />
<table style="font-face:Verdana, arial, helvetica, sans-serif;font-size:14px;background-color:white;border-width:1px;border-style: solid;border-color: black;">
<tr>
<td cellpadding="4px">
<table>
<tr>
<td style="background-color:#7F9DB9;color:white;font-weight:bold;line-height:1.3;" colspan="2" align="center">Typing Stats</td>
</tr>
<tr>
<td align="left">Words Per Minute (WPM): </td>
<td align="right" > 76</td>
</tr>
<tr>
<td align="left">Characters Per Minute (CPM): </td>
<td align="right"> 378</td>
</tr>
<tr>
<td align="left">Words Correct: </td>
<td align="right"> 32</td>
</tr>
<tr>
<td align="left">Words Incorrect: </td>
<td align="right"> 0</td>
</tr>
<tr>
<td align="left">Fastest Finger: </td>
<td align="right"> Left Pinky</td>
</tr>
<tr>
<td align="left">Slowest Finger: </td>
<td align="right"> Left Ring</td>
</tr>
<tr>
<td align="left">Keyboard Layout: </td>
<td align="right"> QWERTY</td>
</tr>
<tr>
<td align="left">Test Duration: </td>
<td align="right"> 30 Seconds</td>
</tr>
</table>
</td>
</tr>
</table>
<div style="font-face:Verdana, arial, helvetica, sans-serif;font-size:14px;">Stats From PAT or JK&#8217;s <a href="http://patorjk.com/typing-speed-test/">Typing Speed Test</a></div>
<p></center></p>
<p><center><br />
<table style="font-face:Verdana, arial, helvetica, sans-serif;font-size:14px;background-color:white;border-width:1px;border-style: solid;border-color: black;">
<tr>
<td cellpadding="4px">
<table style="width:300px;">
<tr>
<td style="background-color:#7F9DB9;color:white;font-weight:bold;line-height:1.3;" colspan="2" align="center">Average Finger Response Time</td>
</tr>
<tr>
<td align="left">Left Pinky: </td>
<td align="right"> 119 milliseconds</td>
</tr>
<tr>
<td align="left">Left Ring: </td>
<td align="right"> 228 milliseconds</td>
</tr>
<tr>
<td align="left">Left Middle: </td>
<td align="right"> 158 milliseconds</td>
</tr>
<tr>
<td align="left">Left Index: </td>
<td align="right"> 206 milliseconds</td>
</tr>
<tr>
<td align="left">Right Index: </td>
<td align="right"> 135 milliseconds</td>
</tr>
<tr>
<td align="left">Right Middle: </td>
<td align="right"> 128 milliseconds</td>
</tr>
<tr>
<td align="left">Right Ring: </td>
<td align="right"> 188 milliseconds</td>
</tr>
<tr>
<td align="left">Right Pinky: </td>
<td align="right"> N/A</td>
</tr>
<tr>
<td align="left">Thumb(s): </td>
<td align="right"> 100 milliseconds</td>
</tr>
</table>
</td>
</tr>
</table>
<div style="font-face:Verdana, arial, helvetica, sans-serif;font-size:14px;">Stats From PAT or JK&#8217;s <a href="http://patorjk.com/typing-speed-test/">Typing Speed Test</a></div>
<p></center></p>
<p>I should note that the finger speeds are based on all of the key presses you make and not just on the ones that lead to correct words. Also, FireFox seemed to be able to detect Backspace key presses while IE did not.</p>
<p>I still have a bunch more ideas that I want to add in, but I haven&#8217;t gotten to them yet (like the hot spot visualization I mentioned in my last post).</p>
<p>If you find any errors or bugs let me know. You can post them in the comment section of this post. </p>
<img src="http://feeds.feedburner.com/~r/patorjk/~4/VX1nWDaju7g" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://patorjk.com/blog/2009/03/16/how-fast-do-your-individual-fingers-type/feed/</wfw:commentRss>
		</item>
		<item>
		<title>My First Try At Revamping My Typing Speed Test</title>
		<link>http://patorjk.com/blog/2009/03/02/revamping-typing-speed-test/</link>
		<comments>http://patorjk.com/blog/2009/03/02/revamping-typing-speed-test/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 00:53:35 +0000</pubDate>
		<dc:creator>patorjk</dc:creator>
		
		<category><![CDATA[General News]]></category>

		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://patorjk.com/blog/?p=290</guid>
		<description><![CDATA[I&#8217;ve just updated my Typing Speed Test. I basically just implemented the changes that people suggested to me. These included:

Allowing the user to type real sentences, for example, stuff from books.
Adding more text input options.
Cutting the default time down from 60 seconds to 30 seconds.
Not having the text scroll as the user types and letting [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just updated my <a href="http://patorjk.com/typing-speed-test/">Typing Speed Test</a>. I basically just implemented the changes that people suggested to me. These included:</p>
<ul>
<li>Allowing the user to type real sentences, for example, stuff from books.</li>
<li>Adding more text input options.</li>
<li>Cutting the default time down from 60 seconds to 30 seconds.</li>
<li>Not having the text scroll as the user types and letting the user see all of the text they will have to type.</li>
<li>Highlighting of the correct, incorrect, and the current word in the box displaying the text that needs to be typed.</li>
<li>Providing obvious instructions on what to do.</li>
</ul>
<p>I was unsure about how to display the instructions, so I just put a yellow information box at the top of the page. The only other thing I could think of was to start the app with a <a href="http://extjs.com/deploy/dev/examples/message-box/msg-box.html">Ext JS-style message box</a>, but I figured that would get really old after a while. Also, the spacing at the bottom of the page is kind of weird because I wanted the tab sizes to be static. I&#8217;m not sure if that&#8217;s the best design idea, so that may change. </p>
<p><div class="wp-caption alignleft" style="width: 310px"><img alt="A possible visualization indicating which keys were typed fastest" src="http://www.patorjk.com/images/typinganalyzer_thumbnail.png" title="A possible visualization indicating which keys were typed fastest" width="300" height="100" /><p class="wp-caption-text">A possible visualization indicating which keys were typed fastest</p></div>For the next release, I&#8217;m thinking about adding in more stats on how fast the user types. Maybe giving them info on what keys they typed fastest via a visualization or some bar charts. A line graph showing their progress over time might also be cool. However, JavaScript may not be fast enough to let me do this. While beta testing today I noticed that sometimes I almost got ahead of the app, and keeping lots of extra stats may slow things down too much, I&#8217;ll have to see though.</p>
<p>Thank you to those of you who gave me suggestions. I think the test is much, much better now. </p>
<p>If anyone has any more suggestions or finds any problems please let me know!</p>
<p>Oh, and one last news worthy item, I also updated the <a href="http://patorjk.com/blog/about/">About</a> page on this blog with some more info and pictures.</p>
<img src="http://feeds.feedburner.com/~r/patorjk/~4/CcgjHIbnLkg" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://patorjk.com/blog/2009/03/02/revamping-typing-speed-test/feed/</wfw:commentRss>
		</item>
		<item>
		<title>URL Structure Changes And Future Plans</title>
		<link>http://patorjk.com/blog/2009/02/28/url-structure-changes-and-future-plans/</link>
		<comments>http://patorjk.com/blog/2009/02/28/url-structure-changes-and-future-plans/#comments</comments>
		<pubDate>Sat, 28 Feb 2009 08:58:47 +0000</pubDate>
		<dc:creator>patorjk</dc:creator>
		
		<category><![CDATA[General News]]></category>

		<guid isPermaLink="false">http://patorjk.com/blog/?p=272</guid>
		<description><![CDATA[One of the things I thought I had gotten right when I relaunched this site was URL structure. I thought I&#8217;d put all of my web apps in one sub-folder, all my programming stuff in another sub-folder, common libraries in another sub-folder, etc. However, since then I&#8217;ve realized my URL structure wasn&#8217;t that optimal. A [...]]]></description>
			<content:encoded><![CDATA[<p>One of the things I thought I had gotten right when I relaunched this site was URL structure. I thought I&#8217;d put all of my web apps in one sub-folder, all my programming stuff in another sub-folder, common libraries in another sub-folder, etc. However, since then I&#8217;ve realized my URL structure wasn&#8217;t that optimal. A lot of the sub-folders just made the URLs longer and the mashing together of words made a lot of the URLs hard to read. Examples:</p>
<p>http://patorjk.com/blogstylometrytool/<br />
http://patorjk.com/colorfader/<br />
http://patorjk.com/keyboardlayoutgenerator/<br />
http://patorjk.com/software/gradientimage/<br />
http://patorjk.com/software/colorpalettegenerator/<br />
http://patorjk.com/typingspeedtest/</p>
<p>So, to pretty things up a bit, I&#8217;ve decided to change how I&#8217;m structuring URLs. My new rule of thumb will be to separate words with hyphens and to only use sub-folders when absolutely necessary. Since domain names are supposed to be compact, I think it makes sense not to include them in my hyphen rule. The new locations of the tools talked about above are:</p>
<p>http://patorjk.com/blog-stylometry-tool/<br />
http://patorjk.com/text-color-fader/<br />
http://patorjk.com/keyboard-layout-generator/<br />
http://patorjk.com/gradient-image-generator/<br />
http://patorjk.com/color-palette-generator/<br />
http://patorjk.com/typing-speed-test/</p>
<p>This seems like a rather superfluous change, but it was just one of those little things that was bothering me. I don&#8217;t plan to move anything else unless I make a major update to it, and all of the old links are 301 re-directed. </p>
<p>The one program I didn&#8217;t move was the <a href="http://patorjk.com/software/taag/">Text Ascii Art Generator</a>. This is because it has a bunch of links pointing to it and I didn&#8217;t want to mess up its standing in the search engines.</p>
<p>As for my current future plans, I hope to improve some of my existing web-apps. Unfortunately I was kind of tight on time this past week (I had to work past 9PM three times, I&#8217;ve got a lot to do at work), but I did do some mock-up Ext JS layouts for the <a href="http://patorjk.com/typing-speed-test/">Typing Speed Test</a> program. However, after a little bit of thought, I think I&#8217;ve decided I&#8217;m just going to extend and change the one I currently have written. I hope to have a new version of it out within the next two weeks. After that, I&#8217;m going to try and refurbish another one of my apps. </p>
<p>Lastly, if anyone has any problems with accessing programs using the new URL structure (via old links or whatever), please let me know.</p>
<img src="http://feeds.feedburner.com/~r/patorjk/~4/uywmijK_p20" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://patorjk.com/blog/2009/02/28/url-structure-changes-and-future-plans/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
