<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Mathematical Multicore</title>
	<atom:link href="http://mathematicalmulticore.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://mathematicalmulticore.wordpress.com</link>
	<description>Math, computers, keyboard layouts, and looking at life from a mathematical perspective.</description>
	<lastBuildDate>Fri, 20 Jan 2012 15:01:56 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='mathematicalmulticore.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Mathematical Multicore</title>
		<link>http://mathematicalmulticore.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://mathematicalmulticore.wordpress.com/osd.xml" title="Mathematical Multicore" />
	<atom:link rel='hub' href='http://mathematicalmulticore.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Stanford Free Classes</title>
		<link>http://mathematicalmulticore.wordpress.com/2012/01/10/stanford-free-classes/</link>
		<comments>http://mathematicalmulticore.wordpress.com/2012/01/10/stanford-free-classes/#comments</comments>
		<pubDate>Tue, 10 Jan 2012 15:35:17 +0000</pubDate>
		<dc:creator>Michael Dickens</dc:creator>
				<category><![CDATA[Computer Science]]></category>
		<category><![CDATA[Education]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://mathematicalmulticore.wordpress.com/?p=1432</guid>
		<description><![CDATA[I recently read an article by a Stanford student, Ben Rudolph, in a Machine Learning class that uses a &#8220;flipped classroom&#8221; model: the students watch lectures at home and then go into class to talk to the professor about the homework. This is an interesting model that&#8217;s been gaining some attention lately, and I have [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mathematicalmulticore.wordpress.com&amp;blog=10902382&amp;post=1432&amp;subd=mathematicalmulticore&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I recently <a href="http://pennyhacks.com/2011/12/28/stanford-free-classes-a-review-from-a-stanford-student/">read</a> an article by a Stanford student, Ben Rudolph, in a Machine Learning class that uses a &#8220;flipped classroom&#8221; model: the students watch lectures at home and then go into class to talk to the professor about the homework. This is an interesting model that&#8217;s been gaining some attention lately, and I have some experience with it. I mostly agree with what the article says, and I have a few additional points.</p>
<p>Rudolph complains that the online questions are too easy. As reported in another <a href="http://chronicle.com/blogs/wiredcampus/debating-the-flipped-classroom-at-stanford/34811?sid=wc">article</a>, </p>
<blockquote><p>
Mr. Rudolph took particular exception to the programming exercises, in which the computer automatically informed students whether or not they got 100 percent on the task. “It’s so black and white,” he tells Wired Campus. “They have to make it easy enough so everyone can get 100 percent, basically. In the past I’ve turned in programming assignments, and only the really smart kids got stellar scores, because they went above and beyond. This model kind of discourages that.”</p></blockquote>
<p>Those are some poorly constructed programming assignments. A computer can still grade a difficult programming assignment, because a computer program can—by definition—run on a computer, and the computer can check if it gives the correct output. For example, <a href="http://www.topcoder.com/">TopCoder</a> offers a series of programming challenges that could take anywhere from five minutes to a few hours, and all of them are graded by computer. The computer grades not only on accuracy, but also on speed, memory efficiency, and code concision.</p>
<p>The main problem with this is that if you&#8217;re stuck, there&#8217;s not much you can do by yourself to figure out the next step. I suggest that students work on sophisticated problems like those at TopCoder, and the students who are struggling can talk to a professor about how to get the program a little closer to where it needs to be.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mathematicalmulticore.wordpress.com/1432/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mathematicalmulticore.wordpress.com/1432/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mathematicalmulticore.wordpress.com/1432/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mathematicalmulticore.wordpress.com/1432/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mathematicalmulticore.wordpress.com/1432/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mathematicalmulticore.wordpress.com/1432/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mathematicalmulticore.wordpress.com/1432/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mathematicalmulticore.wordpress.com/1432/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mathematicalmulticore.wordpress.com/1432/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mathematicalmulticore.wordpress.com/1432/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mathematicalmulticore.wordpress.com/1432/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mathematicalmulticore.wordpress.com/1432/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mathematicalmulticore.wordpress.com/1432/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mathematicalmulticore.wordpress.com/1432/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mathematicalmulticore.wordpress.com&amp;blog=10902382&amp;post=1432&amp;subd=mathematicalmulticore&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mathematicalmulticore.wordpress.com/2012/01/10/stanford-free-classes/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6953614445aa97412e41dfdf9a26728b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">MTGAP</media:title>
		</media:content>
	</item>
		<item>
		<title>Kinesis Contoured Keyboard</title>
		<link>http://mathematicalmulticore.wordpress.com/2011/12/25/kinesis-contoured-keyboard/</link>
		<comments>http://mathematicalmulticore.wordpress.com/2011/12/25/kinesis-contoured-keyboard/#comments</comments>
		<pubDate>Sun, 25 Dec 2011 18:56:36 +0000</pubDate>
		<dc:creator>Michael Dickens</dc:creator>
				<category><![CDATA[Keyboards]]></category>

		<guid isPermaLink="false">http://mathematicalmulticore.wordpress.com/?p=1429</guid>
		<description><![CDATA[I finally purchased the Kinesis Contoured Keyboard, and I thought it prudent to write a brief review. When I got this keyboard, I immediately noticed how little my fingers have to travel. The bowl shape makes it easy to reach keys that are relatively far away—so easy, in fact, that I kept accidentally hitting the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mathematicalmulticore.wordpress.com&amp;blog=10902382&amp;post=1429&amp;subd=mathematicalmulticore&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I finally purchased the <a href="http://www.kinesis-ergo.com/contoured.htm">Kinesis Contoured Keyboard</a>, and I thought it prudent to write a brief review.</p>
<p>When I got this keyboard, I immediately noticed how little my fingers have to travel. The bowl shape makes it easy to reach keys that are relatively far away—so easy, in fact, that I kept accidentally hitting the number row instead of the top row. The fact that the rows are symmetric is a serious advantage, because it makes the B and Y keys (QWERTY positions) far easier to reach.</p>
<p>The thumb pads prove themselves to be very useful. I remapped the thumb pads to put space and enter on the right thumb, and shift and backspace on the left thumb. This greatly reduces the workload on my right pinky, because it doesn&#8217;t have to keep stretching to hit backspace. But there are two issues with the thumb pads. First, they are placed too high up, so my thumbs have to sit above the rest of my hand. Second, I have trouble reaching the smaller keys on the outer edges of the thumb pads—ctrl, alt, and command (on a Mac). I would prefer if the pads were shifted outward more so that the thumb could rest in the center of the thumb pad, instead of on the edge, and then reach all the keys more easily.</p>
<p>It has taken me some time to adjust to the keyboard. When I first got it, my speed was only at about two-thirds of my speed on a standard keyboard, and I am improving by about 5 wpm per day. I have kept practicing on a standard keyboard, and my speed there has not decreased at all.</p>
<p>Now that I have some experience with a Kinesis, I plan on modifying my keyboard layout optimizer for contoured keyboards.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mathematicalmulticore.wordpress.com/1429/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mathematicalmulticore.wordpress.com/1429/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mathematicalmulticore.wordpress.com/1429/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mathematicalmulticore.wordpress.com/1429/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mathematicalmulticore.wordpress.com/1429/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mathematicalmulticore.wordpress.com/1429/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mathematicalmulticore.wordpress.com/1429/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mathematicalmulticore.wordpress.com/1429/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mathematicalmulticore.wordpress.com/1429/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mathematicalmulticore.wordpress.com/1429/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mathematicalmulticore.wordpress.com/1429/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mathematicalmulticore.wordpress.com/1429/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mathematicalmulticore.wordpress.com/1429/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mathematicalmulticore.wordpress.com/1429/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mathematicalmulticore.wordpress.com&amp;blog=10902382&amp;post=1429&amp;subd=mathematicalmulticore&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mathematicalmulticore.wordpress.com/2011/12/25/kinesis-contoured-keyboard/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6953614445aa97412e41dfdf9a26728b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">MTGAP</media:title>
		</media:content>
	</item>
		<item>
		<title>Typing Data: Preliminary Analysis</title>
		<link>http://mathematicalmulticore.wordpress.com/2011/11/27/typing-data-preliminary-analysis/</link>
		<comments>http://mathematicalmulticore.wordpress.com/2011/11/27/typing-data-preliminary-analysis/#comments</comments>
		<pubDate>Sun, 27 Nov 2011 21:32:11 +0000</pubDate>
		<dc:creator>Michael Dickens</dc:creator>
				<category><![CDATA[Keyboarding Theory]]></category>
		<category><![CDATA[Keyboards]]></category>

		<guid isPermaLink="false">http://mathematicalmulticore.wordpress.com/?p=1405</guid>
		<description><![CDATA[I have collected a large quantity typing data using Amphetype, on both QWERTY and MTGAP 2.0 (the two layouts that I currently know). I do not have any conclusive results, but I have some interesting data that I thought worth sharing. My most interesting discovery is that there is a statistically significant correlation between frequency [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mathematicalmulticore.wordpress.com&amp;blog=10902382&amp;post=1405&amp;subd=mathematicalmulticore&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I have collected a large quantity typing data using <a href="http://code.google.com/p/amphetype/">Amphetype</a>, on both QWERTY and MTGAP 2.0 (the two layouts that I currently know). I do not have any conclusive results, but I have some interesting data that I thought worth sharing.</p>
<p>My most interesting discovery is that there is a statistically significant correlation between frequency of a trigram and the average speed at which it is typed. On MTGAP 2.0 the correlation is 0.34 and on QWERTY it is 0.33. This means that a trigram&#8217;s frequency accounts for about 10% of the variation in typing speed—not a lot, but still enough to merit consideration.</p>
<p>Then I analyzed the speeds of various key combinations. For example, on MTGAP 2.0, the average speed for a trigram containing an inward roll is 121 words per minute (wpm); for a trigram containing an outward roll, the average is 110 wpm, and for a trigram containing neither, it is 111 wpm.</p>
<p>When all three keys are typed with one hand, the average is 104 wpm; when two are typed with one hand and one with the other, the average is 118 wpm; and where the hand alternates, 107 wpm.</p>
<p>Where the total finger travel distance is short, the average is 120 wpm; for medium distance, 111; and for a long distance, 105.</p>
<p>It would be premature to draw conclusions from these data. For example, the reason why short finger travel distance is faster may be because MTGAP 2.0 intentionally places common keys on the home row, and common keys tend to be typed faster. On QWERTY, the average speeds for short, medium, and long distance are 96, 102, and 104 wpm, respectively. In this case, the short-distance keys are the <em>slowest</em>.</p>
<p>I am currently looking for anyone who uses Amphetype or is willing to contribute some time to using it. I want to get as much typing data as possible, especially on a variety of keyboard layouts. Leave a comment if you are interested.</p>
<p>For those who are interested, here are all the data I have acquired.</p>
<p><code><br />
<strong>MTGAP 2.0</strong></p>
<p>Average WPM: 112</p>
<p>near distance average: 120<br />
medium distance average: 111<br />
far distance average: 105</p>
<p>inward close keys average: 120<br />
outward close keys average: 107<br />
not close keys average: 110</p>
<p>in roll average: 121<br />
out roll average: 110<br />
not roll average: 111</p>
<p>same hand average: 104<br />
two and one average: 118<br />
alternation average: 107</p>
<p>triple finger average: 73<br />
same finger average: 91<br />
different finger average: 115</p>
<p>twice jump average: 73<br />
home jump average: 92<br />
home jump index average: 113<br />
not jump average: 112</p>
<p>twice to center average: 105<br />
to center average: 116<br />
not to center average: 112</p>
<p><strong>QWERTY</strong></p>
<p>Average WPM: 104</p>
<p>near distance average: 96<br />
medium distance average: 102<br />
far distance average: 104</p>
<p>inward close keys average: 106<br />
outward close keys average: 113<br />
not close keys average: 102</p>
<p>in roll average: 104<br />
out roll average: 116<br />
not roll average: 102</p>
<p>same hand average: 98<br />
two and one average: 106<br />
alternation average: 105</p>
<p>triple finger average: 72<br />
same finger average: 87<br />
different finger average: 107</p>
<p>twice jump average: 71<br />
home jump average: 82<br />
home jump index average: 116<br />
not jump average: 104</p>
<p>twice to center average: 100<br />
to center average: 108<br />
not to center average: 102<br />
</code></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mathematicalmulticore.wordpress.com/1405/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mathematicalmulticore.wordpress.com/1405/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mathematicalmulticore.wordpress.com/1405/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mathematicalmulticore.wordpress.com/1405/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mathematicalmulticore.wordpress.com/1405/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mathematicalmulticore.wordpress.com/1405/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mathematicalmulticore.wordpress.com/1405/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mathematicalmulticore.wordpress.com/1405/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mathematicalmulticore.wordpress.com/1405/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mathematicalmulticore.wordpress.com/1405/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mathematicalmulticore.wordpress.com/1405/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mathematicalmulticore.wordpress.com/1405/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mathematicalmulticore.wordpress.com/1405/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mathematicalmulticore.wordpress.com/1405/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mathematicalmulticore.wordpress.com&amp;blog=10902382&amp;post=1405&amp;subd=mathematicalmulticore&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mathematicalmulticore.wordpress.com/2011/11/27/typing-data-preliminary-analysis/feed/</wfw:commentRss>
		<slash:comments>8</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6953614445aa97412e41dfdf9a26728b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">MTGAP</media:title>
		</media:content>
	</item>
		<item>
		<title>RGB Cipher</title>
		<link>http://mathematicalmulticore.wordpress.com/2011/05/08/rgb-cipher/</link>
		<comments>http://mathematicalmulticore.wordpress.com/2011/05/08/rgb-cipher/#comments</comments>
		<pubDate>Sun, 08 May 2011 18:03:06 +0000</pubDate>
		<dc:creator>Michael Dickens</dc:creator>
				<category><![CDATA[Cryptography]]></category>
		<category><![CDATA[Math]]></category>

		<guid isPermaLink="false">http://mathematicalmulticore.wordpress.com/?p=1387</guid>
		<description><![CDATA[Like my first haiku, It came to me in a dream. I saw its colors. (Note: This will only make sense if you know a thing or two about ciphers. For the rest of you, I&#8217;m afraid this won&#8217;t be very interesting.) Last night I had a dream that I was trying to break a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mathematicalmulticore.wordpress.com&amp;blog=10902382&amp;post=1387&amp;subd=mathematicalmulticore&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<blockquote><p>
Like my first haiku,<br />
It came to me in a dream.<br />
I saw its colors.
</p></blockquote>
<p>(Note: This will only make sense if you know a thing or two about ciphers. For the rest of you, I&#8217;m afraid this won&#8217;t be very interesting.)</p>
<p>Last night I had a dream that I was trying to break a cipher. But this was no ordinary cipher: instead of using numbers, it used colors. Ciphers were suddenly even more beautiful than they had been before.</p>
<p>When I woke up, I was dismayed to realize that it is mathematically impossible for an encryption algorithm to use colors. Nonetheless, I was infatuated with the idea.</p>
<p>What would it mean to have a colorful cipher? I realized that the rounds could be colored. There are three core rounds (red, green and blue) that each represent a different operation. For instance, the red round could be a data rotation, and the green round could be a substitution-box permutation.</p>
<p>The encryption would move through a six-round cycle as the algorithm flows through the color wheel: red, yellow, green, cyan, blue, magenta. Each secondary color represents the combination of two primary colors: yellow is a red round plus a green round, cyan is a green round plus a blue round, and similarly for magenta. Then there are the black and white rounds. The black round is no operation (maybe just adding the key to the text) and the white round is all operations. These eight colors could be arranged to paint a picture—the world&#8217;s first cryptographically-secure picture.</p>
<p>How exactly these colors would be arranged to create a secure algorithm, I do not know. All I know is that this is what I saw in my dream, and it was beautiful.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mathematicalmulticore.wordpress.com/1387/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mathematicalmulticore.wordpress.com/1387/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mathematicalmulticore.wordpress.com/1387/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mathematicalmulticore.wordpress.com/1387/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mathematicalmulticore.wordpress.com/1387/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mathematicalmulticore.wordpress.com/1387/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mathematicalmulticore.wordpress.com/1387/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mathematicalmulticore.wordpress.com/1387/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mathematicalmulticore.wordpress.com/1387/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mathematicalmulticore.wordpress.com/1387/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mathematicalmulticore.wordpress.com/1387/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mathematicalmulticore.wordpress.com/1387/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mathematicalmulticore.wordpress.com/1387/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mathematicalmulticore.wordpress.com/1387/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mathematicalmulticore.wordpress.com&amp;blog=10902382&amp;post=1387&amp;subd=mathematicalmulticore&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mathematicalmulticore.wordpress.com/2011/05/08/rgb-cipher/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6953614445aa97412e41dfdf9a26728b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">MTGAP</media:title>
		</media:content>
	</item>
		<item>
		<title>Which Numbers are the Most Common?</title>
		<link>http://mathematicalmulticore.wordpress.com/2011/02/04/which-numbers-are-the-most-common/</link>
		<comments>http://mathematicalmulticore.wordpress.com/2011/02/04/which-numbers-are-the-most-common/#comments</comments>
		<pubDate>Fri, 04 Feb 2011 15:46:05 +0000</pubDate>
		<dc:creator>Michael Dickens</dc:creator>
				<category><![CDATA[Language]]></category>

		<guid isPermaLink="false">http://mathematicalmulticore.wordpress.com/?p=1377</guid>
		<description><![CDATA[I&#8217;ve often wondered which numbers are used most frequently. The low numbers (0, 1, 2) are probably the most common and the single-digit numbers are all among the most common, but how common are larger numbers and which larger numbers are the most common? Today I decided to find out. I analyzed my text corpus [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mathematicalmulticore.wordpress.com&amp;blog=10902382&amp;post=1377&amp;subd=mathematicalmulticore&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve often wondered which numbers are used most frequently. The low numbers (0, 1, 2) are probably the most common and the single-digit numbers are all among the most common, but how common are larger numbers and which larger numbers are the most common? Today I decided to find out.</p>
<p>I analyzed my text corpus and came up with the following as the 100 most common numbers: </p>
<p><code><br />
1 2 0 3 5 4 10 000 6 8 7 20 12 2005 15 11 9 30 100 2008 16 2007 14 50 18 25 13 17 19 1812 24 2006 23 2004 21 40 22 26 60 27 70 2001 2003 28 200 2002 29 31 80 500 2000 300 1805 150 35 90 1000 101 45 32 36 07 33 00 08 1809 99 75 1990 1984 34 1999 400 48 800 95 06 44 1807 47 1998 41 85 55 250 83 53 1813 43 02 52 37 39 600 1980 51 03 120 04 64<br />
</code></p>
<p>As you might expect, the single-digit numbers are all among the most common. 10, 000, 20, 12, 2005, 15 and 11 are all more common than the least common single-digit number. I&#8217;m not surprised by 10 or 20, but I don&#8217;t know how 000 got there. 2005 is also an interesting one which I&#8217;ll get to later.</p>
<p>The most common numbers from 10 to 19: </p>
<p><code>10 12 15 11 16 14 18 13 17 19</code></p>
<p>This isn&#8217;t too surprising either.</p>
<p>Here&#8217;s every two digit number: </p>
<p><code><br />
10 20 12 15 11 30 16 14 50 18 25 13 17 19 24 23 21 40 22 26 60 27 70 28 29 31 80 35 90 45 32 36 07 33 00 08 99 75 34 48 95 06 44 47 41 85 55 83 53 43 02 52 37 39 51 03 04 64 38 42 46 65 49 01 09 54 66 58 84 89 67 05 59 98 72 56 73 77 62 78 68 76 57 92 63 61 81 82 69 97 88 86 96 71 79 94 93 74 91 87<br />
</code></p>
<p>Every number from 10 to 99 appears at least once, which I suppose is what you&#8217;d expect. Lower numbers tend to be smaller, as do round numbers like 50, 25, and 40.</p>
<p>I also looked at the most common dates: </p>
<p><code><br />
2005 2008 2007 1812 2006 2004 2001 2003 2002 2000 1805 1000 1809 1990 1984 1999 1807 1998 1813 1980<br />
</code></p>
<p>Probably this means that most of the text corpus is from the late 2000&#8242;s. But besides recent dates, a few other dates stand out: 1812, 1805, 1809, 1984. (1000 is probably not used as a date most of the time.) 1812 is probably because of references to the War of 1812 and 1984 is because of references to the book. 1805 and 1809 both appear repeatedly in <em>War and Peace</em>, one of the books used in the text corpus.</p>
<p>For our last exercise, let&#8217;s find the first number that <em>doesn&#8217;t</em> appear. Every number from 0 to 567 appears at least once. The first number not to appear at all is 568.</p>
<p>I&#8217;ve always wondered which numbers are the most common, and now we have an answer. </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mathematicalmulticore.wordpress.com/1377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mathematicalmulticore.wordpress.com/1377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mathematicalmulticore.wordpress.com/1377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mathematicalmulticore.wordpress.com/1377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mathematicalmulticore.wordpress.com/1377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mathematicalmulticore.wordpress.com/1377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mathematicalmulticore.wordpress.com/1377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mathematicalmulticore.wordpress.com/1377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mathematicalmulticore.wordpress.com/1377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mathematicalmulticore.wordpress.com/1377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mathematicalmulticore.wordpress.com/1377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mathematicalmulticore.wordpress.com/1377/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mathematicalmulticore.wordpress.com/1377/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mathematicalmulticore.wordpress.com/1377/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mathematicalmulticore.wordpress.com&amp;blog=10902382&amp;post=1377&amp;subd=mathematicalmulticore&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mathematicalmulticore.wordpress.com/2011/02/04/which-numbers-are-the-most-common/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6953614445aa97412e41dfdf9a26728b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">MTGAP</media:title>
		</media:content>
	</item>
		<item>
		<title>Easy-to-Use Keyboard Optimization Program</title>
		<link>http://mathematicalmulticore.wordpress.com/2011/01/22/easy-to-use-keyboard-optimization-program/</link>
		<comments>http://mathematicalmulticore.wordpress.com/2011/01/22/easy-to-use-keyboard-optimization-program/#comments</comments>
		<pubDate>Sat, 22 Jan 2011 20:08:44 +0000</pubDate>
		<dc:creator>Michael Dickens</dc:creator>
				<category><![CDATA[Keyboards]]></category>
		<category><![CDATA[Software Release]]></category>

		<guid isPermaLink="false">http://mathematicalmulticore.wordpress.com/?p=1368</guid>
		<description><![CDATA[I&#8217;ve made some modifications to the keyboard optimization program. It is now much easier to use, especially for someone who doesn&#8217;t have much experience with computer programming. You can get it here. I added a makefile and a better readme, but more importantly, a command-line user interface. You can now customize the costs, use various [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mathematicalmulticore.wordpress.com&amp;blog=10902382&amp;post=1368&amp;subd=mathematicalmulticore&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve made some modifications to the keyboard optimization program. It is now much easier to use, especially for someone who doesn&#8217;t have much experience with computer programming. You can get it <a href="http://mtgap.bilfo.com/Typing.zip">here</a>. I added a makefile and a better readme, but more importantly, a command-line user interface. You can now customize the costs, use various features, and even change how the text corpus is weighted.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mathematicalmulticore.wordpress.com/1368/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mathematicalmulticore.wordpress.com/1368/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mathematicalmulticore.wordpress.com/1368/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mathematicalmulticore.wordpress.com/1368/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mathematicalmulticore.wordpress.com/1368/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mathematicalmulticore.wordpress.com/1368/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mathematicalmulticore.wordpress.com/1368/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mathematicalmulticore.wordpress.com/1368/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mathematicalmulticore.wordpress.com/1368/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mathematicalmulticore.wordpress.com/1368/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mathematicalmulticore.wordpress.com/1368/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mathematicalmulticore.wordpress.com/1368/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mathematicalmulticore.wordpress.com/1368/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mathematicalmulticore.wordpress.com/1368/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mathematicalmulticore.wordpress.com&amp;blog=10902382&amp;post=1368&amp;subd=mathematicalmulticore&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mathematicalmulticore.wordpress.com/2011/01/22/easy-to-use-keyboard-optimization-program/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6953614445aa97412e41dfdf9a26728b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">MTGAP</media:title>
		</media:content>
	</item>
		<item>
		<title>Fully Optimized Standard Keyboard</title>
		<link>http://mathematicalmulticore.wordpress.com/2011/01/16/fully-optimized-standard-keyboard/</link>
		<comments>http://mathematicalmulticore.wordpress.com/2011/01/16/fully-optimized-standard-keyboard/#comments</comments>
		<pubDate>Sun, 16 Jan 2011 00:11:06 +0000</pubDate>
		<dc:creator>Michael Dickens</dc:creator>
				<category><![CDATA[Keyboard Release]]></category>
		<category><![CDATA[Keyboards]]></category>
		<category><![CDATA[New Keyboard Layout Project]]></category>

		<guid isPermaLink="false">http://mathematicalmulticore.wordpress.com/?p=1364</guid>
		<description><![CDATA[I recently proposed a fully optimized layout built for the Kinesis physical keyboard. By popular request, I have now created a fully optimized layout for the standard keyboard. = 1 2 3 4 5 6 7 8 9 0 q z y p o u - k d l c w x / j i [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mathematicalmulticore.wordpress.com&amp;blog=10902382&amp;post=1364&amp;subd=mathematicalmulticore&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I recently proposed <a href="http://mathematicalmulticore.wordpress.com/2011/01/04/starting-to-fully-optimize-the-keyboard/">a fully optimized layout</a> built for the <a href="http://www.kinesis-ergo.com/advantage_pro.htm">Kinesis</a> physical keyboard. By popular request, I have now created a fully optimized layout for the standard keyboard.</p>
<p><code><br />
= 1 2 3 4 5  6 7 8 9 0 q z<br />
y p o u -  k d l c w x / j<br />
i n e a ,  m h t s r "<br />
( ) ; . _  v f g b '<br />
</code></p>
<p>Fitness:       184428299<br />
Distance:      364416<br />
Inward rolls:  10.16%<br />
Outward rolls: 2.36%<br />
Same hand:     34.93%<br />
Same finger:   1.60%<br />
Row change:    13.17%<br />
Home jump:     0.27%<br />
To center:     2.38%<br />
To outside:    0.52%</p>
<p>It looks strikingly similar to the latest version of the Kinesis layout:</p>
<p><code><br />
1 2 3 4 5  6 7 8 9 0 q<br />
y p o u -  v d l c w x<br />
i n e a ,  m h t s r "<br />
( ) ; . _  k f g b '<br />
/ =                          z j<br />
</code></p>
<p>Fitness:       186751864<br />
Distance:      959128<br />
Inward rolls:  10.16%<br />
Outward rolls: 2.36%<br />
Same hand:     34.94%<br />
Same finger:   1.60%<br />
Row change:    13.40%<br />
Home jump:     0.30%<br />
To center:     2.38%<br />
To outside:    0.39%</p>
<p>Most of what I have to say about fully optimized keyboard layouts <a href="http://mathematicalmulticore.wordpress.com/2011/01/04/starting-to-fully-optimize-the-keyboard/">has been said</a>. I do find it interesting that the standard and Kinesis layouts look so similar; it looks like the rare keys around the edges have barely any effect at all.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mathematicalmulticore.wordpress.com/1364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mathematicalmulticore.wordpress.com/1364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mathematicalmulticore.wordpress.com/1364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mathematicalmulticore.wordpress.com/1364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mathematicalmulticore.wordpress.com/1364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mathematicalmulticore.wordpress.com/1364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mathematicalmulticore.wordpress.com/1364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mathematicalmulticore.wordpress.com/1364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mathematicalmulticore.wordpress.com/1364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mathematicalmulticore.wordpress.com/1364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mathematicalmulticore.wordpress.com/1364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mathematicalmulticore.wordpress.com/1364/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mathematicalmulticore.wordpress.com/1364/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mathematicalmulticore.wordpress.com/1364/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mathematicalmulticore.wordpress.com&amp;blog=10902382&amp;post=1364&amp;subd=mathematicalmulticore&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mathematicalmulticore.wordpress.com/2011/01/16/fully-optimized-standard-keyboard/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6953614445aa97412e41dfdf9a26728b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">MTGAP</media:title>
		</media:content>
	</item>
		<item>
		<title>Starting to Fully Optimize the Keyboard</title>
		<link>http://mathematicalmulticore.wordpress.com/2011/01/04/starting-to-fully-optimize-the-keyboard/</link>
		<comments>http://mathematicalmulticore.wordpress.com/2011/01/04/starting-to-fully-optimize-the-keyboard/#comments</comments>
		<pubDate>Tue, 04 Jan 2011 00:17:48 +0000</pubDate>
		<dc:creator>Michael Dickens</dc:creator>
				<category><![CDATA[Keyboard Release]]></category>
		<category><![CDATA[Keyboards]]></category>
		<category><![CDATA[New Keyboard Layout Project]]></category>

		<guid isPermaLink="false">http://mathematicalmulticore.wordpress.com/?p=1350</guid>
		<description><![CDATA[(Edit: I found a bug in the way rolls were being calculated. MTGAP 0.1 (shown below) is no longer the best layout.) It&#8217;s been a while since I&#8217;ve done anything with the New Keyboard Layout Project, but I read a comment on one of my posts and I got to thinking about punctuation. Every keyboard [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mathematicalmulticore.wordpress.com&amp;blog=10902382&amp;post=1350&amp;subd=mathematicalmulticore&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>(Edit: I found a bug in the way rolls were being calculated. MTGAP 0.1 (shown below) is no longer the best layout.)</p>
<p>It&#8217;s been a while since I&#8217;ve done anything with the New Keyboard Layout Project, but I read <a href="http://mathematicalmulticore.wordpress.com/2010/06/24/new-keyboard-layout-project-have-we-been-mistaken-all-along/#comment-1286">a comment</a> on one of my posts and I got to thinking about punctuation. Every keyboard I&#8217;ve designed has just been based on the main 30 keys and used .,&#8217;; as the four punctuation marks, because those are the ones that Dvorak used. But why use those four punctuation marks? Why not use a different set?</p>
<p>In fact, why not simply try to optimize the <em>entire keyboard</em> instead of just the main 30 keys?</p>
<p>Previously, the answer to that question was that it would be too slow. But now, thanks to a much-improved algorithm, I no longer have that excuse. That means I can evaluate the entire keyboard.</p>
<p><strong>The Physical Keyboard</strong></p>
<p>Changing the size of the keyboard requires rewriting large portions of the program. For this reason I didn&#8217;t want to rewrite it for a standard physical keyboard &#8212; why design such a highly optimized layout for a suboptimal physical keyboard? Instead, I rewrote the program to optimize on the <a href="http://www.kinesis-ergo.com/advantage_pro.htm">Kinesis Advantage Pro</a> keyboard. (You can see a good picture of the full keyboard <a href="http://www.fentek-ind.com/kinesis_advantage.gif">here</a>.) I ignored the thumb pads, tab, shift and caps lock for aesthetic reasons, and the arrow keys and function keys because it is nearly impossible to determine the frequency of those keys. This leaves four rows and 47 keys. The QWERTY keyboard looks like this:</p>
<p><code> 1 2 3 4 5 6 7 8 9 0 -<br />
Q W E R T Y U I O P \<br />
A S D F G H J K L ; '<br />
Z X C V B N M , . /<br />
` =                          [ ]</code></p>
<p><strong>Shifted Keys</strong></p>
<p>My program doesn&#8217;t deal with shifted keys, and modifying it to do so would be a much greater task than what I am currently doing. Rather than try to get the program to deal with shifted keys, I decided to simply choose the most common punctuation and put those on the unshifted slots.</p>
<p>There are 26 letters and 10 numbers. Out of 47 spots this leaves 11 spots for punctuation. The 11 most common punctuation marks are:</p>
<p><code>, . ) ( _ \ " ; - ' = /</code></p>
<p>So I pulled off the standard punctuation and stuck those on.</p>
<p><strong>Results</strong></p>
<p>After some (not insignificant) modifications, the program was able to optimize a full-sized keyboard. You can download my earliest functional version of the program <a href="mtgap.bilfo.com/TypingBig.zip">here</a>. It hasn&#8217;t been extensively tested and it&#8217;s messy, but it&#8217;s functional.</p>
<p>The first layout it came up with was this one:</p>
<p>Hands: 53% 46%<br />
Fingers: 10% 10% 10% 21% 13% 14% 10% 8%</p>
<p><code><br />
x 3 6 5 q  / " 9 2 8 0<br />
u l c o ;  v m d p ) j<br />
a r s e ,  f h t n i -<br />
( ' w . =  k y g b _<br />
4 1                         z 7<br />
</code></p>
<p>Fitness:       20014435648<br />
Distance:      97925496<br />
Inward rolls:  16.44%<br />
Outward rolls: 5.40%<br />
Same hand:     48.05%<br />
Same finger:   2.02%<br />
Row change:    21.05%<br />
Home jump:     0.80%<br />
To center:     3.03%<br />
To outside:    0.40%</p>
<p>(I&#8217;ve added a new cost: &#8220;to outside.&#8221; It&#8217;s similar to &#8220;to center&#8221;: it penalizes a layout every time the user has to reach to the outside of the keyboard with the pinky before or after typing a letter on that same hand.)</p>
<p>Highly optimized and aesthetically horrible. The number keys, instead of being in a nice straight line, are all over the place. The parentheses aren&#8217;t even next to each other. This isn&#8217;t much of an issue when you&#8217;re dealing with the main 30 characters because there are no real aesthetics to speak of, but once you expand it becomes a serious problem.</p>
<p>The solution is to require that the program put certain keys in certain places: the number keys on the top row and the parentheses next to each other. There are two fundamental ways to do this: force it to, or give a penalty for not doing so. I found that the best way to keep the number keys in place was simply to tell the computer that it wasn&#8217;t allowed to move them. That doesn&#8217;t quite work with parentheses though, because they should still be able to move around; they just should stay next to each other. If one moves, the other moves. Forcing them to be next to each other but still be able to move around as a chunk would require adding an extra layer of complexity to the program. The simpler solution is to heavily penalize a keyboard layout every time the parentheses aren&#8217;t next to each other.</p>
<p>After adding these restrictions and tweaking the costs a bit, I came up with this layout:</p>
<p>MTGAP Full 0.1</p>
<p>Hands: 52% 47%<br />
Fingers: 9% 10% 18% 13% 13% 14% 10% 9%</p>
<p><code><br />
1 2 3 4 5  6 7 8 9 0 q<br />
y c o u (  ) l d p w x<br />
i s e a ,  m h t n r k<br />
_ v " . ;  ' f g b -<br />
/ =                          z j<br />
</code></p>
<p>Fitness:       193491944<br />
Distance:      956628<br />
Inward rolls:  8.42%<br />
Outward rolls: 2.20%<br />
Same hand:     36.00%<br />
Same finger:   1.48%<br />
Row change:    17.14%<br />
Home jump:     0.26%<br />
To center:     2.29%<br />
To outside:    0.50%</p>
<p>Some of its numbers are quite impressive. For comparison, here&#8217;s <a href="http://colemak.com/">Colemak</a> (with punctuation modified a bit to fit on the keyboard):</p>
<p>Hands: 46% 53%<br />
Fingers: 8% 8% 11% 18% 18% 15% 10% 9%</p>
<p><code><br />
1 2 3 4 5  6 7 8 9 0 -<br />
q w f p g  j l u y ; =<br />
a r s t d  h n e i o '<br />
z x c v b  k m , . /<br />
_ "                          ( )<br />
</code></p>
<p>Fitness:       230028740<br />
Distance:      1006256<br />
Inward rolls:  4.53%<br />
Outward rolls: 2.62%<br />
Same hand:     42.86%<br />
Same finger:   2.01%<br />
Row change:    18.93%<br />
Home jump:     0.74%<br />
To center:     7.54%<br />
To outside:    0.48%</p>
<p>My layout beats Colemak on every single metric except &#8220;to outside&#8221; (and possibly outward rolls, depending on whether you like those or not). Notice that, even though my layout puts &#8216;o&#8217; (the fourth most common letter) off the home row, it still has lower travel distance than Colemak.</p>
<p>(In case you&#8217;re new here, the reason I compare my layout to Colemak is because Colemak is my favorite keyboard layout that I didn&#8217;t design.)</p>
<p>Also, if you&#8217;re interested, here&#8217;s Dvorak:</p>
<p>Hands: 44% 55%<br />
Fingers: 8% 8% 12% 14% 16% 13% 13% 11%</p>
<p><code><br />
7 5 3 1 9  0 2 4 6 8 =<br />
' , . p y  f g c r l /<br />
a o e u i  d h t n s -<br />
; q j k x  b m w v z<br />
_ "                          ( )<br />
</code></p>
<p>Fitness:       247807385<br />
Distance:      1020108<br />
Inward rolls:  4.14%<br />
Outward rolls: 1.25%<br />
Same hand:     31.14%<br />
Same finger:   3.16%<br />
Row change:    14.36%<br />
Home jump:     0.50%<br />
To center:     7.39%<br />
To outside:    0.39%</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mathematicalmulticore.wordpress.com/1350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mathematicalmulticore.wordpress.com/1350/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mathematicalmulticore.wordpress.com/1350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mathematicalmulticore.wordpress.com/1350/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mathematicalmulticore.wordpress.com/1350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mathematicalmulticore.wordpress.com/1350/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mathematicalmulticore.wordpress.com/1350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mathematicalmulticore.wordpress.com/1350/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mathematicalmulticore.wordpress.com/1350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mathematicalmulticore.wordpress.com/1350/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mathematicalmulticore.wordpress.com/1350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mathematicalmulticore.wordpress.com/1350/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mathematicalmulticore.wordpress.com/1350/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mathematicalmulticore.wordpress.com/1350/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mathematicalmulticore.wordpress.com&amp;blog=10902382&amp;post=1350&amp;subd=mathematicalmulticore&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mathematicalmulticore.wordpress.com/2011/01/04/starting-to-fully-optimize-the-keyboard/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6953614445aa97412e41dfdf9a26728b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">MTGAP</media:title>
		</media:content>
	</item>
		<item>
		<title>The Interpreter, Part 1 Conclusion</title>
		<link>http://mathematicalmulticore.wordpress.com/2010/08/21/the-interpreter-part-1-conclusion/</link>
		<comments>http://mathematicalmulticore.wordpress.com/2010/08/21/the-interpreter-part-1-conclusion/#comments</comments>
		<pubDate>Sat, 21 Aug 2010 18:28:51 +0000</pubDate>
		<dc:creator>Michael Dickens</dc:creator>
				<category><![CDATA[The Interpreter]]></category>

		<guid isPermaLink="false">http://mathematicalmulticore.wordpress.com/?p=1341</guid>
		<description><![CDATA[The final chapter in one man&#8217;s first journey to write an interpreter. Jackson spent the next month or so adding smaller features and fixing bugs. At last, The Interpreter Version 1.0 was ready for release. He named his language Simfpl: Simple Interpreted Mathematically-Oriented Functional Programming Language. He put the source code on the internet for [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mathematicalmulticore.wordpress.com&amp;blog=10902382&amp;post=1341&amp;subd=mathematicalmulticore&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The final chapter in <a href="http://mathematicalmulticore.wordpress.com/2010/07/20/the-interpreter-part-7/">one man&#8217;s first journey to write an interpreter.</a></p>
<p>Jackson spent the next month or so adding smaller features and fixing bugs. At last, The Interpreter Version 1.0 was ready for release. He named his language Simfpl: Simple Interpreted Mathematically-Oriented Functional Programming Language. He <a href="http://mtgap.bilfo.com/Simfpl Release.zip">put the source code on the internet for everyone to see</a>.</p>
<p>To be able to use it, you first need to install <a href="http://gmplib.org/">GMP</a> and <a href="http://www.mpfr.org/mpfr-current/#download">MPFR</a>.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mathematicalmulticore.wordpress.com/1341/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mathematicalmulticore.wordpress.com/1341/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mathematicalmulticore.wordpress.com/1341/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mathematicalmulticore.wordpress.com/1341/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mathematicalmulticore.wordpress.com/1341/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mathematicalmulticore.wordpress.com/1341/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mathematicalmulticore.wordpress.com/1341/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mathematicalmulticore.wordpress.com/1341/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mathematicalmulticore.wordpress.com/1341/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mathematicalmulticore.wordpress.com/1341/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mathematicalmulticore.wordpress.com/1341/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mathematicalmulticore.wordpress.com/1341/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mathematicalmulticore.wordpress.com/1341/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mathematicalmulticore.wordpress.com/1341/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mathematicalmulticore.wordpress.com&amp;blog=10902382&amp;post=1341&amp;subd=mathematicalmulticore&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mathematicalmulticore.wordpress.com/2010/08/21/the-interpreter-part-1-conclusion/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6953614445aa97412e41dfdf9a26728b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">MTGAP</media:title>
		</media:content>
	</item>
		<item>
		<title>The Interpreter, Chapter 7</title>
		<link>http://mathematicalmulticore.wordpress.com/2010/07/20/the-interpreter-part-7/</link>
		<comments>http://mathematicalmulticore.wordpress.com/2010/07/20/the-interpreter-part-7/#comments</comments>
		<pubDate>Tue, 20 Jul 2010 02:38:36 +0000</pubDate>
		<dc:creator>Michael Dickens</dc:creator>
				<category><![CDATA[The Interpreter]]></category>

		<guid isPermaLink="false">http://mathematicalmulticore.wordpress.com/?p=1322</guid>
		<description><![CDATA[The continuing story of one man&#8217;s quest to write an interpreter. Jackson&#8217;s interpreter was coming along smoothly. But for it to have a complete foundation, he still needed to add one final feature: user-defined functions. Jackson wanted to keep the language definition simple. This would avoid special syntax, making the interpreter easier to write, and [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mathematicalmulticore.wordpress.com&amp;blog=10902382&amp;post=1322&amp;subd=mathematicalmulticore&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>The continuing story of <a href="http://mathematicalmulticore.wordpress.com/2010/07/06/the-interpreter-part-6/">one man&#8217;s quest to write an interpreter</a>.</p>
<p>Jackson&#8217;s interpreter was coming along smoothly. But for it to have a complete foundation, he still needed to add one final feature: user-defined functions.</p>
<p>Jackson wanted to keep the language definition simple. This would avoid special syntax, making the interpreter easier to write, and also would make the language easier to understand and even more extensible. If statements and while loops were defined not with special syntax, but as functions. Similarly, Jackson wanted function definitions to themselves be functions.</p>
<p>So he set up a &#8220;def&#8221; function, which would be a function to define other functions. It would take three arguments: the function name, the variable list, and the function definition. So far, so good. He implemented this pretty quickly.</p>
<p>But there was a problem: it was impossible to create a recursive function. If the programmer created a function (f) and tried to call it within its own body, the expression would not compile correctly. For (def) to act like a function it had to work at run-time, but the compiler needed to know that a reference to (f) was a function.</p>
<p>After brooding over this problem for some time, Jackson came up with a solution. He created a new data type called a function shell, designed to hold just enough information for the compiler to know what to do. Whenever the compiler saw &#8220;def&#8221;, it would look for the function name. Then it would find all other references to the function name and convert them into function shells. The program would compile knowing that (f) was a function, and would actually define the function after the (def) function was called at runtime.</p>
<p>All of the foundational features had been implemented. But there was still work to do. Jackson had to implement a few smaller features, fix the myriads of bugs that had sprung up, and optimize the code.</p>
<p>Stay tuned for the exciting continuation of <em>The Interpreter</em>!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/mathematicalmulticore.wordpress.com/1322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/mathematicalmulticore.wordpress.com/1322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/mathematicalmulticore.wordpress.com/1322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/mathematicalmulticore.wordpress.com/1322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/mathematicalmulticore.wordpress.com/1322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/mathematicalmulticore.wordpress.com/1322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/mathematicalmulticore.wordpress.com/1322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/mathematicalmulticore.wordpress.com/1322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/mathematicalmulticore.wordpress.com/1322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/mathematicalmulticore.wordpress.com/1322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/mathematicalmulticore.wordpress.com/1322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/mathematicalmulticore.wordpress.com/1322/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/mathematicalmulticore.wordpress.com/1322/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/mathematicalmulticore.wordpress.com/1322/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=mathematicalmulticore.wordpress.com&amp;blog=10902382&amp;post=1322&amp;subd=mathematicalmulticore&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://mathematicalmulticore.wordpress.com/2010/07/20/the-interpreter-part-7/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/6953614445aa97412e41dfdf9a26728b?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">MTGAP</media:title>
		</media:content>
	</item>
	</channel>
</rss>
