<?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>Steve Vinoski's Blog &#187; framework</title>
	<atom:link href="http://steve.vinoski.net/blog/category/framework/feed/" rel="self" type="application/rss+xml" />
	<link>http://steve.vinoski.net/blog</link>
	<description>Ask forgiveness, not permission.</description>
	<lastBuildDate>Thu, 09 May 2013 03:00:44 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>Final &#8220;Functional Web&#8221; Column: the Nitrogen Web Framework</title>
		<link>http://steve.vinoski.net/blog/2012/12/20/final-functional-web-column-the-nitrogen-web-framework/</link>
		<comments>http://steve.vinoski.net/blog/2012/12/20/final-functional-web-column-the-nitrogen-web-framework/#comments</comments>
		<pubDate>Thu, 20 Dec 2012 15:47:09 +0000</pubDate>
		<dc:creator>steve</dc:creator>
				<category><![CDATA[column]]></category>
		<category><![CDATA[erlang]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://steve.vinoski.net/blog/?p=1119</guid>
		<description><![CDATA[The November/December 2012 issue of IEEE Internet Computing magazine contains my final &#8220;Functional Web&#8221; column covering the Nitrogen web framework. As with all my previous columns, this column is available here in PDF form. My first column for IC appeared in March 2002, nearly 11 years ago. Back then my column, called &#8220;Toward Integration,&#8221; focused [...]]]></description>
				<content:encoded><![CDATA[<p>The <a href="http://www.computer.org/csdl/mags/ic/2012/06/index.html">November/December 2012 issue of IEEE Internet Computing magazine</a> contains my <a href="http://www.computer.org/csdl/mags/ic/2012/06/mic2012060087-abs.html">final &#8220;Functional Web&#8221; column</a> covering the <a href="http://nitrogenproject.com">Nitrogen web framework</a>. As with all my previous columns, this <a href="/pdf/IC-Nitrogen_Web_Framework.pdf">column is available here</a> in PDF form.</p>
<p>My <a href="/pdf/IEEE-Where_is_Middleware.pdf">first column for IC</a> appeared in March 2002, nearly 11 years ago. Back then my column, called &#8220;Toward Integration,&#8221; focused around enterprise middleware. My old friend <a href="http://g.oswego.edu">Doug Lea</a>, who was on the IC editorial board at the time, suggested that I write it, and who in their right mind would turn down Doug Lea? In March 2009 I stopped that column and began writing the &#8220;Functional Web&#8221; column, focusing on the use of functional programming languages and techniques for web development. Prior to writing for IC, I was a columnist for the <em>C++ Report</em> magazine, starting in January 1995, and then later continuing that column over in the <em>C/C++ Users Journal</em>. That column focused on <a href="/blog/old-object-interconnection-columns/">distributed object computing</a>, and I stopped writing it in 2005.</p>
<p>That&#8217;s a total of 18 years as a columnist, which is a lengthy duration for a side gig done on my own time (and for IC, done on a purely volunteer basis). My common goal for all the columns was to write for practitioners like me &mdash; to try to cover topics, approaches, and ideas that other software developers could immediately apply in their own work. I also saw column writing as a way to try to pay back all the authors from whom I had learned so much over the years.</p>
<p>But 18 years is enough, for now anyway. While I might return to publishing in the future, for now I just want to focus on technology and software development.</p>
<p>Thanks to all my readers for your feedback and encouragement over the years. You definitely made it all worthwhile.</p>
]]></content:encoded>
			<wfw:commentRss>http://steve.vinoski.net/blog/2012/12/20/final-functional-web-column-the-nitrogen-web-framework/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Latest Column: Play2</title>
		<link>http://steve.vinoski.net/blog/2012/08/30/latest-column-play2/</link>
		<comments>http://steve.vinoski.net/blog/2012/08/30/latest-column-play2/#comments</comments>
		<pubDate>Thu, 30 Aug 2012 21:35:48 +0000</pubDate>
		<dc:creator>steve</dc:creator>
				<category><![CDATA[column]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[functional programming]]></category>
		<category><![CDATA[scala]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://steve.vinoski.net/blog/?p=1047</guid>
		<description><![CDATA[I&#8217;m a little late in posting this, but in the July/August 2012 issue of Internet Computing, guest columnist Sadek Drobi covers the Play2 framework. Sadek talks about how today’s Web evolutions and the emergence of software as a service and Web services have led to new challenges in programming: distribution, scalability, management of various data [...]]]></description>
				<content:encoded><![CDATA[<p>I&#8217;m a little late in posting this, but in the <a href="http://www.computer.org/csdl/mags/ic/2012/04/index.html">July/August 2012 issue of Internet Computing</a>, guest columnist <a href="http://sadache.tumblr.com/">Sadek Drobi</a> covers the <a href="http://www.playframework.org/">Play2 framework</a>. Sadek talks about how today’s Web evolutions and the emergence of software as a service and Web services have led to new challenges in programming: distribution, scalability, management of various data formats, stream management, and so on. He explains that <a href="http://www.playframework.org/">Play2</a> can significantly aid developers in capitalizing on the opportunities the Web offers while minimizing potential risks by leveraging the strengths of functional programming. He outlines functional programming’s power in this context at several levels: data and data format manipulation using higher-order functions; reactive composition with nonblocking I/O for scalability; and reactive stream processing and manipulation using Iteratees with <a href="http://tools.ietf.org/html/rfc6455">WebSockets</a> and <a href="http://www.w3.org/TR/eventsource/">Server-Sent Events</a>. Here&#8217;s <a href="http://steve.vinoski.net/pdf/IC-Play2.pdf">the PDF</a> of the column.</p>
<p>The same magazine issue is also the &#8220;<a href="http://www.computer.org/csdl/mags/ic/2012/04/mic2012040011.html">Programmatic Interfaces for Web Applications</a>&#8221; special issue that <a href="http://vitvar.com">Tomas Vitvar</a>, <a href="http://www.pautasso.info">Cesare Pautausso</a>, and I co-guest-edited. Our <a href="http://www.computer.org/csdl/mags/ic/2012/04/mic2012040011.html">guest editors&#8217; introduction</a> explains the purpose of the special issue and introduces the five articles comprising it:</p>
<ul>
<li><a href="http://www.computer.org/csdl/mags/ic/2012/04/mic2012040015-abs.html"><em>Toward an Open Cloud Standard</em></a> by Andy Edmonds, Thijs Metsch, Alexander Papaspyrou, and Alexis Richardson</li>
<li><a href="http://www.computer.org/csdl/mags/ic/2012/04/mic2012040026-abs.html"><em>ArRESTed Development: Guidelines for Designing REST Frameworks</em></a> by Ivan Zuzak and Silvia Schreier</li>
<li><a href="http://www.computer.org/csdl/mags/ic/2012/04/mic2012040036-abs.html"><em>Welcome to the Real World: A Notation for Modeling REST Services</em></a> by Olga Liskin, Leif Singer, and Kurt Schneider</li>
<li><a href="http://www.computer.org/csdl/mags/ic/2012/04/mic2012040045-abs.html"><em>Communicating and Displaying Real-Time Data with WebSocket</em></a> by Victoria Pimentel and Bradford G. Nickerson</li>
<li><a href="http://www.computer.org/csdl/mags/ic/2012/04/mic2012040054-abs.html"><em>SOAP-Based vs. RESTful Web Services: A Case Study for Multimedia Conferencing</em></a> by Fatna Belqasmi, Jagdeep Singh, Suhib Younis Bani Melhem, and Roch H. Glitho</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://steve.vinoski.net/blog/2012/08/30/latest-column-play2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Column: Scala Web Frameworks</title>
		<link>http://steve.vinoski.net/blog/2011/09/20/new-column-scala-web-frameworks/</link>
		<comments>http://steve.vinoski.net/blog/2011/09/20/new-column-scala-web-frameworks/#comments</comments>
		<pubDate>Tue, 20 Sep 2011 19:35:07 +0000</pubDate>
		<dc:creator>steve</dc:creator>
				<category><![CDATA[column]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[functional programming]]></category>
		<category><![CDATA[HTTP]]></category>
		<category><![CDATA[scala]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://steve.vinoski.net/blog/?p=865</guid>
		<description><![CDATA[For the Sep/Oct 2011 issue of Internet Computing, I am very fortunate to have Dean Wampler as a guest columnist. Dean put together a great column on Scala web frameworks (PDF) in which he looks beyond the venerable Lift and takes a peek into Play, Scalatra, and Finagle.]]></description>
				<content:encoded><![CDATA[<p>For the <a href="http://www.computer.org/portal/web/csdl/abs/mags/ic/2011/05/mic201105toc.htm">Sep/Oct 2011 issue</a> of <a href="http://www.computer.org/internet">Internet Computing</a>, I am very fortunate to have <a href="http://www.deanwampler.com/">Dean Wampler</a> as a guest columnist. Dean put together a great column on <a href="http://steve.vinoski.net/pdf/IC-Scala_Web_Frameworks.pdf">Scala web frameworks</a> (PDF) in which he looks beyond the venerable <a href="http://liftweb.net/">Lift</a> and takes a peek into <a href="http://scala.playframework.org/">Play</a>, <a href="http://www.scalatra.org/">Scalatra</a>, and <a href="https://github.com/twitter/finagle">Finagle</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://steve.vinoski.net/blog/2011/09/20/new-column-scala-web-frameworks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Column on the Snap Framework</title>
		<link>http://steve.vinoski.net/blog/2011/01/21/column-on-the-snap-framework/</link>
		<comments>http://steve.vinoski.net/blog/2011/01/21/column-on-the-snap-framework/#comments</comments>
		<pubDate>Fri, 21 Jan 2011 04:34:45 +0000</pubDate>
		<dc:creator>steve</dc:creator>
				<category><![CDATA[column]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[functional programming]]></category>
		<category><![CDATA[haskell]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://steve.vinoski.net/blog/?p=667</guid>
		<description><![CDATA[For the January/February issue (PDF) of &#8220;The Functional Web&#8221; I&#8217;m very fortunate to have Greg Collins and Doug Beardsley as guest authors covering the Snap Framework. Not only is it great to finally have some Haskell code in the column, but Greg&#8217;s and Doug&#8217;s superb writing style means that the column is both highly instructive [...]]]></description>
				<content:encoded><![CDATA[<p>For the <a href="/pdf/IC-Snap_Framework.pdf">January/February issue</a> (PDF) of &#8220;<a href="/blog/internet-computing-columns/">The Functional Web</a>&#8221; I&#8217;m very fortunate to have <a href="http://gregorycollins.net/">Greg Collins</a> and <a href="http://softwaresimply.blogspot.com/">Doug Beardsley</a> as guest authors covering the <a href="http://snapframework.com/">Snap Framework</a>. Not only is it great to finally have some <a href="http://www.haskell.org/">Haskell</a> code in the column, but Greg&#8217;s and Doug&#8217;s superb writing style means that the column is both highly instructive and easy to read.</p>
<p>I&#8217;m hoping we&#8217;ll be able to publish at least a couple more Haskell columns this year as well.</p>
]]></content:encoded>
			<wfw:commentRss>http://steve.vinoski.net/blog/2011/01/21/column-on-the-snap-framework/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>New column on Node.js</title>
		<link>http://steve.vinoski.net/blog/2010/11/23/new-column-on-node-js/</link>
		<comments>http://steve.vinoski.net/blog/2010/11/23/new-column-on-node-js/#comments</comments>
		<pubDate>Tue, 23 Nov 2010 04:05:02 +0000</pubDate>
		<dc:creator>steve</dc:creator>
				<category><![CDATA[column]]></category>
		<category><![CDATA[framework]]></category>
		<category><![CDATA[functional programming]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[performance]]></category>
		<category><![CDATA[web]]></category>

		<guid isPermaLink="false">http://steve.vinoski.net/blog/?p=643</guid>
		<description><![CDATA[Stefan Tilkov already blogged about this, but he and I co-authored an article about node.js for my Nov/Dec &#8220;Functional Web&#8221; column. Node.js is indeed very cool with surprisingly good performance, and it was really nice to finally get to write something together with Stefan (I wrote the foreword for his book, REST und HTTP (German), [...]]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.innoq.com/blog/st/">Stefan Tilkov</a> already <a href="http://www.innoq.com/blog/st/2010/11/ieee_internet_computing_articl.html">blogged about this</a>, but he and I <a href="/pdf/IC-Node.js.pdf">co-authored an article about node.js</a> for my Nov/Dec &#8220;Functional Web&#8221; column. <a href="http://nodejs.org/">Node.js</a> is indeed very cool with surprisingly good performance, and it was really nice to finally get to write something together with Stefan (I wrote the foreword for <a href="http://rest-http.info/">his book, <em>REST und HTTP</em></a> (German), but that&#8217;s not quite the same as co-authoring).</p>
]]></content:encoded>
			<wfw:commentRss>http://steve.vinoski.net/blog/2010/11/23/new-column-on-node-js/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
