<?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>patorjk.com &#187; Random Ideas</title>
	<atom:link href="http://patorjk.com/blog/category/random-ideas/feed/" rel="self" type="application/rss+xml" />
	<link>http://patorjk.com/blog</link>
	<description>web apps, programming talk, and random thoughts</description>
	<lastBuildDate>Fri, 03 Feb 2012 04:02:15 +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>Muller Images Experiment</title>
		<link>http://patorjk.com/blog/2010/06/24/muller-images-experiment/</link>
		<comments>http://patorjk.com/blog/2010/06/24/muller-images-experiment/#comments</comments>
		<pubDate>Thu, 24 Jun 2010 04:03:40 +0000</pubDate>
		<dc:creator>patorjk</dc:creator>
				<category><![CDATA[Random Ideas]]></category>

		<guid isPermaLink="false">http://patorjk.com/blog/?p=738</guid>
		<description><![CDATA[The Muller Formula is a neat little color formula that aims to predict which sets of colors people will find pleasing. No actual formula is given for it, but it&#8217;s concept is described. Given a set of colors with the same hue but a different lightness, the colors with the lighter hues should be shifted [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.colourlovers.com/blog/2007/09/02/the-muller-formula-or-predictable-color-preferences/">The Muller Formula</a> is a neat little color formula that aims to predict which sets of colors people will find pleasing. No actual formula is given for it, but it&#8217;s concept is described. Given a set of colors with the same hue but a different lightness, the colors with the lighter hues should be shifted to a more naturally bright color and the colors with a darker hues should be shifted to a more naturally dark color. I thought this was a neat idea and figured I could possibly simplify it to work with a single color (what I decided to call a &#8220;Muller Color&#8221;). If a color had a high lightness, its hue would be shifted to a naturally light color. If it had a low lightness, its hue would be shifted towards a naturally darker color.</p>
<p><div class="wp-caption alignleft" style="width: 139px"><img alt="" src="http://patorjk.com/images/blog-2010/hsl-color-wheel.png" title="HSL Color Wheel" width="129" height="119" /><p class="wp-caption-text">HSL Color Wheel<br/>Image By <a href='http://en.wikipedia.org/wiki/File:Hsl-hsv_models.svg'>Jacob Rus</a></p></div>The original article used a the traditional artist&#8217;s Red-Yellow-Blue color wheel. I wasn&#8217;t able to find a good conversion formula to go from the <a href="http://en.wikipedia.org/wiki/RGB_color_model">Red-Green-Blue color model (RGB)</a> (which is popular in computing) to the <a href="http://en.wikipedia.org/wiki/RYB_color_model">Red-Yellow-Blue color model (RYB)</a>, but I did find formulas to go from RGB to the <a href="http://en.wikipedia.org/wiki/HSL_and_HSV">Hue-Saturation-Lightness color model (HSL)</a>. I figured this would work well since the HSL model had everything I needed to calculate a &#8220;Muller Color&#8221;. I could detect the lightness of a color and then adjust its hue accordingly. </p>
<p>Looking at the HSL color wheel, I decided to use the primary colors (Red, Blue and Green) as the more naturally dark colors, and the secondary colors (Yellow, Cyan, Magenta) as the more naturally light colors. This decision was just based on my own judgement. Using the HSL color model and the concept described by the Muller Formula, I was able to generate interesting colors from RGB inputs. And to make a long story short, I ended up using this idea in my <a href="http://patorjk.com/color-palette-generator/">Image to Color Palette Generator</a> app. A color palette would be generated of an image, but in addition, the user would also see a palette of the corresponding Muller Colors.<div class="wp-caption alignright" style="width: 139px"><img alt="" src="http://patorjk.com/images/blog-2010/rgb-circles.png" title="HSL Color Wheel" width="129" height="119" /><p class="wp-caption-text">Primary and Secondary Colors<br/>Image By <a href='http://en.wikipedia.org/wiki/File:AdditiveColor.svg'>SharkD</a></p></div></p>
<p>I figured I was done with this idea until I received a recent email from someone suggesting I take the images people input into the Color Palette Generator program and create &#8220;Muller Images&#8221;. Basically, call the Muller Color formula on every pixel in the image and generate a new image. I thought this was a really cool idea so I whipped up a quick prototype which you can see <a href="http://patorjk.com/experiments/muller-images/">here</a>. The shift percent indicates how much a color should shift. For example, if the color is between red and yellow and the shift is 100%, it will become yellow if it&#8217;s light and red if it&#8217;s dark (a dark yellow would even end up becoming red and a light red would end up becoming yellow). If the shift is just 50%, it will just shift 50% of the way closer. </p>
<p>Unfortunately, the results weren&#8217;t as stellar as I hoped. Calling the Muller Color formula on every pixel caused them to gravitate towards similar colors, so the resulting image tended to look like poorly compressed gifs. An example of a 10% shift can be seen in the Bernie Madoff pumpkin pic below.</p>
<div class="wp-caption aligncenter" style="width: 490px"><img alt="" src="http://patorjk.com/images/blog-2010/madoff-pumpkin.png" title="Madoff Pumpkin" width="480" height="233" /><p class="wp-caption-text">Normal Image and Muller Color-ed Image</p></div>
<p>It was still a cool idea, and maybe it could still be used for something, though it&#8217;d probably have to be tweaked a little bit. There are other images available to Muller-ize on the <a href="http://patorjk.com/experiments/muller-images/">experiment page</a> if anyone else is interested. Thanks to David Dailey for the idea on this one.</p>
]]></content:encoded>
			<wfw:commentRss>http://patorjk.com/blog/2010/06/24/muller-images-experiment/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</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[Web Apps]]></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>
]]></content:encoded>
			<wfw:commentRss>http://patorjk.com/blog/2009/03/16/how-fast-do-your-individual-fingers-type/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Generating T-Shirts?</title>
		<link>http://patorjk.com/blog/2009/02/11/generating-t-shirts/</link>
		<comments>http://patorjk.com/blog/2009/02/11/generating-t-shirts/#comments</comments>
		<pubDate>Wed, 11 Feb 2009 06:41:39 +0000</pubDate>
		<dc:creator>patorjk</dc:creator>
				<category><![CDATA[Random Ideas]]></category>

		<guid isPermaLink="false">http://patorjk.com/blog/?p=230</guid>
		<description><![CDATA[About a month ago I had an interesting idea for my Text Ascii Art Generator (TAAG) program. Though due to being busy with work and buying a house, I haven&#8217;t had time to try it out. However, the idea is applicable to almost any web service, so I thought I&#8217;d share it with you all [...]]]></description>
			<content:encoded><![CDATA[<p>About a month ago I had an interesting idea for my <a href="http://patorjk.com/software/taag/">Text Ascii Art Generator (TAAG)</a> program. Though due to being busy with work and buying a house, I haven&#8217;t had time to try it out. However, the idea is applicable to almost any web service, so I thought I&#8217;d share it with you all in case someone out there was looking for a nifty way to make some extra money off of a web app or blog without posting a bunch of ads up. I&#8217;m aware that too much commercialism can kill a website, however, I think this idea is kind of clever.</p>
<div class="wp-caption alignright" style="width: 210px"><img title="Hypothetical T-Shirt" src="http://patorjk.com/images/tshirt_textart.png" alt="Hypothetical T-Shirt" width="200" height="220" /><p class="wp-caption-text">Hypothetical T-Shirt</p></div>
<p>The idea originally struck me when I was brainstorming improvement ideas for TAAG. I thought that it might be cool if the user could put their output on a t-shirt. It&#8217;d make for a really neat way for someone to show their techiness/geekiness. After deciding I liked the idea, I then wondered if the t-shirt companies had already thought about 3rd party applications creating dynamic designs for them. After some quick googling, I discovered they had.</p>
<p>Both <a href="http://www.zazzle.com/api">Zazzle</a> and <a href="http://www.spreadshirt.com/us/US/T-Shirt/Spreadshirt-1342/">SpreadShirt</a> allow you to dynamically submit designs for t-shirts which you can then sell. CNN even uses SpreadShirt to sell <a href="http://www.cnn.com/tshirt/#headlines/allshirts/2009/1/1">t-shirts of recent headlines</a>. And you&#8217;re not limited to just t-shirts, you can put your designs on all sorts of crazy products &#8211; mugs, purses, hats, buttons, mouse pads, shoes, postage stamps, posters &#8211; the list goes on.</p>
<p>I&#8217;m not advocating turning your web apps or blogs into online stores, but if carefully used, this could compliment their output. An online photomosaic program that would let you buy a poster of your output might be kind of cool. And web comics that would let you buy t-shirts of your favorite comics would probably do pretty well, I had a whole bunch of Far Side t-shirts when I was in middle school.</p>
<p>Though as I said at the start of this post, I haven&#8217;t done any of this myself yet. I talked briefly to the FIGlet creators and they were cool with the idea, however, since I didn&#8217;t create the fonts themselves I&#8217;d feel wrong selling products with other people&#8217;s artwork on them without their permission / giving them a cut, and since there are over 300 fonts, this creates a rather complicated situation. So I may not even implement this idea (I&#8217;m still thinking about it though), but I figured I&#8217;d share the general concept, since it appears it could apply nicely in certain situations.</p>
]]></content:encoded>
			<wfw:commentRss>http://patorjk.com/blog/2009/02/11/generating-t-shirts/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

