<?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>Kyle Cordes &#187; factor</title>
	<atom:link href="http://kylecordes.com/tag/factor/feed" rel="self" type="application/rss+xml" />
	<link>http://kylecordes.com</link>
	<description>Software, Business, and Life</description>
	<lastBuildDate>Fri, 18 Nov 2011 13:01:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Refactoring some Factor code</title>
		<link>http://kylecordes.com/2010/refactoring-factor</link>
		<comments>http://kylecordes.com/2010/refactoring-factor#comments</comments>
		<pubDate>Sat, 28 Aug 2010 04:17:48 +0000</pubDate>
		<dc:creator>Kyle Cordes</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[factor]]></category>

		<guid isPermaLink="false">http://kylecordes.com/?p=735</guid>
		<description><![CDATA[Most of the software I work with is very practical. At Oasis Digital we mostly create line-of-business enterprise software, and even when I step away from that, I usually pick up a tool or language that has a good likelihood of mainsteam adoption. Sometimes, though, I like to really stretch my mind. For that, it&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Most of the software I work with is very practical. At Oasis Digital we mostly create line-of-business enterprise software, and even when I step away from that, I usually pick up a tool or language that has a good likelihood of mainsteam adoption.</p>
<p><a rel="attachment wp-att-738" href="http://kylecordes.com/2010/refactoring-factor/calc-gui"><img class="alignright size-full wp-image-738" title="calc-gui" src="http://kylecordes.com/blog/wp-content/uploads/2010/08/calc-gui.png" alt="" width="223" height="281" /></a></p>
<p>Sometimes, though, I like to really stretch my mind. For that, it&#8217;s hard to beat <a href="http://factorcode.org/">Factor</a>. Factor is fascinating in that it combines a goal of efficiency and practicality, with a syntax and computation model which are quite alien even to a software polyglot. Don&#8217;t let the stack-ness deceive you; it&#8217;s a big leap even if you&#8217;ve used FORTH and grown up with a HP RPN programmable calculator.</p>
<p>So I set about this evening to work with some Factor code, a <a href="http://re-factor.blogspot.com/2010/08/calculator-with-gui.html">simple GUI calculator posted a few days ago</a> by <a href="http://twitter.com/mrjbq7">John Benediktsson</a>. I bit off an apparently small bit of work: remove the &#8220;code smell&#8221; of that global variable, and in the process, make it so multiple calcs each have their own model (rather than a global shared state).</p>
<p><a href="http://github.com/kylecordes/factor-calc-refactored/blob/2668d3df9b8f8a07994324c491f2ec6ae0481334/calc-ui.factor">Original version from John</a></p>
<p><a href="http://github.com/kylecordes/factor-calc-refactored/blob/master/calc-ui.factor">My finished version</a></p>
<p>The two most important pieces of updated code:</p>
<p><a rel="attachment wp-att-737" href="http://kylecordes.com/2010/refactoring-factor/factor-code-screenshot"><img class="alignnone size-full wp-image-737" title="factor-code-screenshot" src="http://kylecordes.com/blog/wp-content/uploads/2010/08/factor-code-screenshot.png" alt="" width="512" height="256" /></a></p>
<p>The changes consist approximately of:</p>
<ul>
<li>Change all the button words to accept a model input</li>
<li>Change the &lt;row&gt; word to accept a model and use map instead of output&gt;array</li>
<li>Remove the calc variable</li>
<li>Change the calc-ui word to shuffle things around and use make rather than output&gt;array</li>
</ul>
<p>In case it isn&#8217;t obvious from my text above or the source code, <strong>I am not a Factor programmer</strong>, please do not use this as example code. On the other, I learned a bunch of little things about Factor, and perhaps implicitly about concatenative programming in general, in the process of making this work.</p>
   ]]></content:encoded>
			<wfw:commentRss>http://kylecordes.com/2010/refactoring-factor/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Factor Talk at the Lambda Lounge</title>
		<link>http://kylecordes.com/2009/factor-ll-talk</link>
		<comments>http://kylecordes.com/2009/factor-ll-talk#comments</comments>
		<pubDate>Fri, 03 Apr 2009 14:39:29 +0000</pubDate>
		<dc:creator>Kyle Cordes</dc:creator>
				<category><![CDATA[Presentations]]></category>
		<category><![CDATA[factor]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://kylecordes.com/?p=255</guid>
		<description><![CDATA[Last night (April 2, 2009) at the St. Louis Lambda Lounge I gave a 45-minute talk on the Factor programming language. I&#8217;ve uploaded the handout and example code here. I apologize in advance to anyone in the Factor community who reads it and laughs at my &#8220;newbie&#8221; mistakes and misstatements. Appistry again provided space and pizza [...]]]></description>
			<content:encoded><![CDATA[<p>Last night (April 2, 2009) at the St. Louis <a href="http://lambdalounge.org/">Lambda Lounge</a> I gave a 45-minute talk on the <a href="http://factorcode.org/">Factor programming language</a>. I&#8217;ve uploaded the <a href="http://kylecordes.com/files/FactorHandout.pdf">handout and example code here</a>. I apologize in advance to anyone in the Factor community who reads it and laughs at my &#8220;newbie&#8221; mistakes and misstatements.</p>
<p><a href="http://www.appistry.com/">Appistry</a> again provided space and pizza &#8211; thanks guys! (Appistry is our locally-grown but widely-known cloud infrastructure software maker &#8211; they&#8217;d been cloudy for years before the term entered wide use.)</p>
<p>The talk appeared to go over well. There were many important things about factor that I&#8217;d love to talk about but didn&#8217;t have time. Nonetheless, I think 45 minutes is a good talk length, and I think the format (short talks) is a key part to the Lambda Lounge&#8217;s success so far.</p>
<p>Speaking of the Lambda Lounge,  next month there is a &#8220;language shootout&#8221; &#8211; if you want to participate, be sure to join the <a href="http://groups.google.com/group/lambda-lounge/">mailing list</a> and <a href="http://groups.google.com/group/lambda-lounge/web/language-shootout">look over the participants</a>. (You need to join the list, to be able to get to the wiki with that page.) I might submit an entry myself, using Factor or another language.</p>
   ]]></content:encoded>
			<wfw:commentRss>http://kylecordes.com/2009/factor-ll-talk/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Factor</title>
		<link>http://kylecordes.com/2008/factor</link>
		<comments>http://kylecordes.com/2008/factor#comments</comments>
		<pubDate>Fri, 28 Nov 2008 19:28:41 +0000</pubDate>
		<dc:creator>Kyle Cordes</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[factor]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://kylecordes.com/?p=219</guid>
		<description><![CDATA[Over the holiday I looked at the Factor programming language, and was very impressed. It has a Lisp-like metacircular quality, and a remarkably wide set of features/libraries in spite of a very small development team and community. Unlike many other small language projects, Factor is fast, rich, and can produce shippable binaries. Its team cares [...]]]></description>
			<content:encoded><![CDATA[<p>Over the holiday I looked at the <a href="http://factorcode.org/">Factor programming language</a>, and was very impressed. It has a Lisp-like metacircular quality, and a remarkably wide set of features/libraries in spite of a very small development team and community. Unlike many other small language projects, Factor is fast, rich, and can produce shippable binaries. Its team cares about robustness, and operates a build farm for multiple platforms. If you can spare a few hours, first watch <a href="http://www.youtube.com/watch?v=f_0QlhYlS8g">Slava&#8217;s Google Tech Talk</a>, then download Factor and work through some tutorials.</p>
<p>Will Factor become popular? With a FORTH-like syntax, I suspect the answer is a firm No, the syntax is too foreign (even compared to Ruby, for example) for mainstream devleopers. But I find it fascinating nonetheless, and I will keep my eyes open for an opporunity to use it on a small, real project.</p>
<p>It would also make a great topic for the <a href="http://lambdalounge.org/">Lambda Lounge</a>, a new St. Louis area user group about which I am quite excited.</p>
   ]]></content:encoded>
			<wfw:commentRss>http://kylecordes.com/2008/factor/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

