<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" version="2.0">

<channel>
	<title>rogersm.net</title>
	
	<link>http://rogersm.net</link>
	<description>exploring area</description>
	<lastBuildDate>Fri, 06 Nov 2009 11:29:54 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/rogersm" /><feedburner:info xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" uri="rogersm" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Gartner is spamming me!</title>
		<link>http://rogersm.net/2009/11/gartner-is-spamming-me</link>
		<comments>http://rogersm.net/2009/11/gartner-is-spamming-me#comments</comments>
		<pubDate>Fri, 06 Nov 2009 11:29:53 +0000</pubDate>
		<dc:creator>rogersm</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[other]]></category>
		<category><![CDATA[gartner]]></category>
		<category><![CDATA[spam]]></category>

		<guid isPermaLink="false">http://rogersm.net/?p=157</guid>
		<description><![CDATA[I know I am a Gartner user, and I know I have probably accepted to receive emails of things supposed to interest me (Or things that Gartner thinks I&#8217;m interested), but&#8230;
you sent me six mails in September, six in October and by November 6th I haver already received three. I did not want to check [...]]]></description>
			<content:encoded><![CDATA[<p>I know I am a <a href="http://www.gartner.com/technology/home.jsp">Gartner</a> user, and I know I have probably accepted to receive emails of things supposed to interest me (Or things that Gartner thinks I&#8217;m interested), but&#8230;</p>
<p>you sent me six mails in September, six in October and by November 6th I haver already received three. I did not want to check the all opt out box because I&#8217;m interested to be informed about you, but I do not accept to be spammed monthly, so I just checked the damn box.</p>
<p>You used to be nicer, but lately Forrester is much nicer: it only sends two emails per month.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/rogersm?a=tUDmotuQJTU:0BIU11HvQjs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/rogersm?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rogersm?a=tUDmotuQJTU:0BIU11HvQjs:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/rogersm?i=tUDmotuQJTU:0BIU11HvQjs:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rogersm?a=tUDmotuQJTU:0BIU11HvQjs:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/rogersm?d=qj6IDK7rITs" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://rogersm.net/2009/11/gartner-is-spamming-me/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Getting into Prolog, again</title>
		<link>http://rogersm.net/2009/09/getting-into-prolog-again</link>
		<comments>http://rogersm.net/2009/09/getting-into-prolog-again#comments</comments>
		<pubDate>Tue, 01 Sep 2009 14:43:13 +0000</pubDate>
		<dc:creator>rogersm</dc:creator>
				<category><![CDATA[ai]]></category>
		<category><![CDATA[papers-read]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[clocksin]]></category>
		<category><![CDATA[mellish]]></category>
		<category><![CDATA[prolog]]></category>
		<category><![CDATA[swi-prolog]]></category>
		<category><![CDATA[wielemaker]]></category>

		<guid isPermaLink="false">http://rogersm.net/?p=148</guid>
		<description><![CDATA[I&#8217;ve been getting into with Prolog lately. I had not programmed prolog since university but I wanted to play with expert systems, and Prolog was even better than lisp for prototyping.
So, because all the Prolog papers I was reviewing were referencing Programming in Prolog  by W. F. Clocksin and C. S. Mellish I bought [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been getting into with Prolog lately. I had not programmed prolog since university but I wanted to play with expert systems, and Prolog was even better than lisp for prototyping.</p>
<p>So, because all the Prolog papers I was reviewing were referencing <a title="Google Books" href="http://books.google.de/books?id=lbcXj6GbMoQC&amp;dq=Programming+in+Prolog&amp;printsec=frontcover&amp;source=bl&amp;ots=9QG_rsw1AP&amp;sig=aGXPVwXHBMmFigtaTwNy4Vr7Wyo&amp;hl=en&amp;ei=2yudSoHPBZ-wnQOk1aG_Ag&amp;sa=X&amp;oi=book_result&amp;ct=result&amp;resnum=3#v=onepage&amp;q=&amp;f=false">Programming in Prolog  by W. F. Clocksin and C. S. Mellish</a> I bought an older (and cheap) edition to re-read. I was surprised how good the book is for learning to program in Prolog.</p>
<p>You can use the wonderful <a title="by Patrick Blackburn, Johan Bos and Kristina Striegnitz" href="http://www.learnprolognow.org/">Learn Prolog Now!</a> as a free introduction text, but Clocksin and Mellish chapters on grammar rules, debugging and laying out programs makes the book priceless.</p>
<p>And if you want to use prolog for &#8216;practical matters&#8217; I strongly recommend <a title="SWI-Prolog guru" href="http://staff.science.uva.nl/~wielemak/">Jan Wielemaker</a> Ph. D. disertation: <a title="PDF file" href="http://www.swi-prolog.org/download/publications/jan-phd.pdf">Logic programming for knowledge-intensive interactive applications</a>. You&#8217;ll find a good overview about using Prolog outside the logic course: Web, multi-threaded, RDFs, literate programming, interfacing with object-oriented systems and interfacing with C for creating data storages.</p>
<p>Finally, If you come from the functional programming world, download <a title="by Ralf Lämmel " href="http://www.uni-koblenz.de/~laemmel/OdeToProlog/">Scrap Your Boilerplate&#8212;Prologically!</a> a Prolog version of the <a title="a lightweight generic programming approach" href="http://www.cs.vu.nl/boilerplate/#more-papers">Scrap Your Boilerplate set of papers</a>. It is a great addition for learning Prolog if your background is functional.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/rogersm?a=vBscHzzZD1k:0jZl1fXy2ik:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/rogersm?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rogersm?a=vBscHzzZD1k:0jZl1fXy2ik:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/rogersm?i=vBscHzzZD1k:0jZl1fXy2ik:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rogersm?a=vBscHzzZD1k:0jZl1fXy2ik:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/rogersm?d=qj6IDK7rITs" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://rogersm.net/2009/09/getting-into-prolog-again/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Understanding lisp conditions</title>
		<link>http://rogersm.net/2009/07/understanding-lisp-conditions</link>
		<comments>http://rogersm.net/2009/07/understanding-lisp-conditions#comments</comments>
		<pubDate>Fri, 24 Jul 2009 09:06:50 +0000</pubDate>
		<dc:creator>rogersm</dc:creator>
				<category><![CDATA[lisp]]></category>
		<category><![CDATA[reference]]></category>

		<guid isPermaLink="false">http://rogersm.net/?p=141</guid>
		<description><![CDATA[If you ever have trouble understanding lisp conditions (what other languages call exceptions) or you have no experience with lisp and want to discover an exception system where you can jump from program code to the exception handling code and back (restart) read the following articles:

Condition style guide by Nikodemus Siivola
 Beyond Exception Handling: Conditions and [...]]]></description>
			<content:encoded><![CDATA[<p>If you ever have trouble understanding lisp conditions (what other languages call exceptions) or you have no experience with lisp and want to discover an exception system where you can jump from program code to the exception handling code <strong>and back</strong> (restart) read the following articles:</p>
<ul>
<li><a href="http://random-state.net/log/3453016738.html">Condition style guide</a> by Nikodemus Siivola</li>
<li> <a href="http://gigamonkeys.com/book/beyond-exception-handling-conditions-and-restarts.html">Beyond Exception Handling: Conditions and Restarts</a> from the always great <a title="by Peter Seibel" href="http://gigamonkeys.com/book/">Practical Common Lisp</a></li>
</ul>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/rogersm?a=OB_fMd_bJso:yq-lVx5gEkc:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/rogersm?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rogersm?a=OB_fMd_bJso:yq-lVx5gEkc:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/rogersm?i=OB_fMd_bJso:yq-lVx5gEkc:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rogersm?a=OB_fMd_bJso:yq-lVx5gEkc:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/rogersm?d=qj6IDK7rITs" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://rogersm.net/2009/07/understanding-lisp-conditions/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Something is wrong with programming syntax</title>
		<link>http://rogersm.net/2009/07/something-is-wrong-with-programming-syntax</link>
		<comments>http://rogersm.net/2009/07/something-is-wrong-with-programming-syntax#comments</comments>
		<pubDate>Wed, 08 Jul 2009 09:01:41 +0000</pubDate>
		<dc:creator>rogersm</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[dsl]]></category>
		<category><![CDATA[google]]></category>
		<category><![CDATA[simplex]]></category>

		<guid isPermaLink="false">http://rogersm.net/?p=131</guid>
		<description><![CDATA[I never understood all this interest in DSL (domain specific languages). I&#8217;ve seen beautiful code done in a DSL-way (whatever it means) in all kind of languges from C to Lisp for ages.
I suppose the emergence of Ruby and the renewed interest in Smalltalk and lisp-based languages like Clojure made DSL an interesting topic for [...]]]></description>
			<content:encoded><![CDATA[<p>I never understood <a href="http://homepages.cwi.nl/~arie/papers/dslbib/">all this interest in DSL</a> (domain specific languages). I&#8217;ve seen beautiful code done in a DSL-way (whatever it means) in all kind of languges from C to Lisp for ages.</p>
<p>I suppose the emergence of Ruby and the renewed interest in <a title="A progressive, open-source Smalltalk platform for professional use" href="http://www.pharo-project.org/home">Smalltalk</a> and lisp-based languages like <a href="http://jnb.ociweb.com/jnb/jnbMar2009.html">Clojure</a> made DSL an interesting topic for blog posts.</p>
<p>But I must admit that <em>maybe </em>we need to explain what DSL means&#8230; or why a good API design is always needed, because:</p>
<pre>
// describe the optimization problem
LinearObjectiveFunction f = new LinearObjectiveFunction(new double[] {-2,1}, -5);
Collection constraints = new ArrayList();
constraints.add(new LinearConstraint(new double[] {1,2}, Relationship.LEQ, 6));
constraints.add(new LinearConstraint(new double[] {3,2}, Relationship.LEQ, 12));
constraints.add(new LinearConstraint(new double[] {0,1}, Relationship.GEQ, 0));

// create and run the solver
RealPointValuePair solution = new SimplexSolver().optimize(f, constraints, GoalType.MINIMIZE, false);

// get the solution
double x = solution.getPoint()[0];
double y = solution.getPoint()[1];
double min = solution.getValue();
</pre>
<p><a title="Simplex solver from Google" href="http://google-opensource.blogspot.com/2009/06/introducing-apache-commons-math.html">&#8230;is not a good API Ben.</a></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/rogersm?a=inxNDTfgqbY:J8EAldMhM9A:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/rogersm?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rogersm?a=inxNDTfgqbY:J8EAldMhM9A:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/rogersm?i=inxNDTfgqbY:J8EAldMhM9A:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rogersm?a=inxNDTfgqbY:J8EAldMhM9A:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/rogersm?d=qj6IDK7rITs" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://rogersm.net/2009/07/something-is-wrong-with-programming-syntax/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>What I remember about .asp development (answering philg)</title>
		<link>http://rogersm.net/2009/05/what-i-remember-about-asp-development-answering-to-phil</link>
		<comments>http://rogersm.net/2009/05/what-i-remember-about-asp-development-answering-to-phil#comments</comments>
		<pubDate>Tue, 19 May 2009 20:42:05 +0000</pubDate>
		<dc:creator>rogersm</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[asp]]></category>
		<category><![CDATA[philg]]></category>
		<category><![CDATA[philip greenspun]]></category>
		<category><![CDATA[ror]]></category>
		<category><![CDATA[tcl]]></category>

		<guid isPermaLink="false">http://rogersm.net/?p=128</guid>
		<description><![CDATA[Philip, I don&#8217;t know about what you remember about .asp programming, but I will tell you what I recall some years back:

IIS memory leaks when coding ASP pages because it was a threaded server.
Huge MS SQL server code in the database because developers came from C/S backgrounds.
Low level dll development interfacing with .asp pages through [...]]]></description>
			<content:encoded><![CDATA[<p>Philip, <a title="Answering Ruby on Rails and the importance of being stupid" href="http://blogs.law.harvard.edu/philg/2009/05/18/ruby-on-rails-and-the-importance-of-being-stupid/" target="_self">I don&#8217;t know about what you remember about .asp programming</a>, but I will tell you what I recall some years back:</p>
<ul>
<li>IIS memory leaks when coding ASP pages because it was a threaded server.</li>
<li>Huge MS SQL server code in the database because developers came from C/S backgrounds.</li>
<li>Low level dll development interfacing with .asp pages through COM because .asp was not fast enough.</li>
<li>Registering manually the COM/VB code each time we had to deploy a new release.</li>
<li>Sacking MS consutants trying to sell you <a title="No-one remember this?" href="http://www.extropia.com/tutorials/dna/toc.html">DNA</a>.</li>
</ul>
<p>I have no idea about Ruby on Rails, but you can botch a MS stack pretty easily.</p>
<p>Also, why do you want to make the Ruby on Rails comunity angry? I have no doubt they&#8217;re rabid fanboys, but I know <a title="ArsDigita: From Start-Up to Bust-Up" href="http://waxy.org/random/arsdigita/">who</a> <a title="OpenACS" href="http://openacs.org/">you</a> <a title="Software Engineering for Internet Applications" href="http://philip.greenspun.com/seia/">are</a>, so don&#8217;t be child and stop nagging the children.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/rogersm?a=WNlOkgIbTxo:cTKJJYRJwwE:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/rogersm?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rogersm?a=WNlOkgIbTxo:cTKJJYRJwwE:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/rogersm?i=WNlOkgIbTxo:cTKJJYRJwwE:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rogersm?a=WNlOkgIbTxo:cTKJJYRJwwE:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/rogersm?d=qj6IDK7rITs" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://rogersm.net/2009/05/what-i-remember-about-asp-development-answering-to-phil/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What to read after SICP?</title>
		<link>http://rogersm.net/2009/05/what-to-read-after-sicp</link>
		<comments>http://rogersm.net/2009/05/what-to-read-after-sicp#comments</comments>
		<pubDate>Sat, 16 May 2009 11:18:04 +0000</pubDate>
		<dc:creator>rogersm</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[reference]]></category>
		<category><![CDATA[haker news]]></category>
		<category><![CDATA[sicp]]></category>

		<guid isPermaLink="false">http://rogersm.net/?p=126</guid>
		<description><![CDATA[Impressive thread in Hacker News about what to read after SICP. The bibliografy about &#8216;not so introductory&#8217; texts is a great resource.
]]></description>
			<content:encoded><![CDATA[<p>Impressive thread in <a href="http://news.ycombinator.com/item?id=610782">Hacker News</a> about what to read after SICP. The bibliografy about &#8216;not so introductory&#8217; texts is a great resource.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/rogersm?a=X6_BOSNujfI:5Se62HGaDdA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/rogersm?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rogersm?a=X6_BOSNujfI:5Se62HGaDdA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/rogersm?i=X6_BOSNujfI:5Se62HGaDdA:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rogersm?a=X6_BOSNujfI:5Se62HGaDdA:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/rogersm?d=qj6IDK7rITs" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://rogersm.net/2009/05/what-to-read-after-sicp/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Logic Programming for knowledge intensive applications thesis</title>
		<link>http://rogersm.net/2009/03/logic-programming-for-knowledge-application</link>
		<comments>http://rogersm.net/2009/03/logic-programming-for-knowledge-application#comments</comments>
		<pubDate>Wed, 25 Mar 2009 11:01:50 +0000</pubDate>
		<dc:creator>rogersm</dc:creator>
				<category><![CDATA[papers-read]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[prolog]]></category>
		<category><![CDATA[swi-prolog]]></category>
		<category><![CDATA[wielemaker]]></category>

		<guid isPermaLink="false">http://rogersm.net/?p=124</guid>
		<description><![CDATA[Jan Wielemaker, SWI-Prolog contributor has published his PhD thesis: Logic programming for knowledge-intensive interactive applications.
I&#8217;ve been getting back to knowledge based applications again and again and Jan&#8217;s thesys looks good enough to invest some time reading the 257 pdf file. 
Additionally, the swi-prolog site has an interesting page with some additional publications.
]]></description>
			<content:encoded><![CDATA[<p><a title="University of Amsterdam" href="http://staff.science.uva.nl/~wielemak/">Jan Wielemaker</a>, SWI-Prolog contributor has published his PhD thesis: <a href="http://www.swi-prolog.org/download/publications/jan-phd.pdf">Logic programming for knowledge-intensive interactive applications</a>.</p>
<p>I&#8217;ve been getting back to knowledge based applications again and again and Jan&#8217;s thesys looks good enough to invest some time reading the 257 pdf file. </p>
<p>Additionally, the swi-prolog site has an interesting page with<a href="http://www.swi-prolog.org/Publications.html"> some additional publications</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/rogersm?a=dzz7AsqWRec:qJlPIgdVzkM:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/rogersm?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rogersm?a=dzz7AsqWRec:qJlPIgdVzkM:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/rogersm?i=dzz7AsqWRec:qJlPIgdVzkM:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rogersm?a=dzz7AsqWRec:qJlPIgdVzkM:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/rogersm?d=qj6IDK7rITs" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://rogersm.net/2009/03/logic-programming-for-knowledge-application/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Zsync, a evolution of rsync</title>
		<link>http://rogersm.net/2009/02/zsync-a-evolution-of-rsync</link>
		<comments>http://rogersm.net/2009/02/zsync-a-evolution-of-rsync#comments</comments>
		<pubDate>Wed, 25 Feb 2009 11:27:29 +0000</pubDate>
		<dc:creator>rogersm</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[rsync]]></category>
		<category><![CDATA[zsync]]></category>

		<guid isPermaLink="false">http://rogersm.net/?p=114</guid>
		<description><![CDATA[Colin Phipps has updated rsync to create zsync, an rsync based replication system where the rsync algorithm runs on the client side. 
Executing the rsync algorithm on the client side has two main advantages: first of all, you can zsync over any protocol (zsync is able to syncronize over HTTP). Additionally, it avoids the high server load associated [...]]]></description>
			<content:encoded><![CDATA[<p><a title="zsync creator" href="http://zsync.moria.org.uk/author">Colin Phipps</a> has updated rsync to create <a title="A client side rsync" href="http://zsync.moria.org.uk/">zsync</a>, an rsync based replication system where the <a title="by Andrew Tridgell" href="http://samba.anu.edu.au/rsync/tech_report/">rsync algorithm</a> runs on the client side. </p>
<p>Executing the rsync algorithm on the client side has two main advantages: first of all, you can zsync over any protocol (zsync is able to syncronize over HTTP). Additionally, it avoids the high server load associated with running the algorithm on the server.</p>
<p>Ah! And it is able to handle compressed files.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/rogersm?a=cDZrLCrocwg:W0EGMO0opDo:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/rogersm?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rogersm?a=cDZrLCrocwg:W0EGMO0opDo:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/rogersm?i=cDZrLCrocwg:W0EGMO0opDo:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rogersm?a=cDZrLCrocwg:W0EGMO0opDo:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/rogersm?d=qj6IDK7rITs" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://rogersm.net/2009/02/zsync-a-evolution-of-rsync/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>When CL-Interpol is too big for your needs…</title>
		<link>http://rogersm.net/2009/02/when-cl-interpol-is-too-big-for-your-needs</link>
		<comments>http://rogersm.net/2009/02/when-cl-interpol-is-too-big-for-your-needs#comments</comments>
		<pubDate>Wed, 18 Feb 2009 13:35:34 +0000</pubDate>
		<dc:creator>rogersm</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[lisp]]></category>
		<category><![CDATA[reference]]></category>

		<guid isPermaLink="false">http://rogersm.net/?p=107</guid>
		<description><![CDATA[&#8230;you can use this port of Perl&#8217;s qq to lisp:

(defun &#124;#q-reader&#124; (stream sub-char numarg)
  (declare (ignore sub-char numarg))
  (let ((terminator (read-char stream)))
    (loop for ch = (read-char stream)
          until (eql ch terminator)
          [...]]]></description>
			<content:encoded><![CDATA[<p>&#8230;you can use this port of Perl&#8217;s qq to lisp:</p>
<blockquote>
<pre class="lisp lisp"><span>(</span><span>defun</span> |#q<span>-</span>reader| <span>(</span>stream sub<span>-</span>char numarg<span>)</span>
  <span>(</span>declare <span>(</span>ignore sub<span>-</span>char numarg<span>)</span><span>)</span>
  <span>(</span><span>let</span> <span>(</span><span>(</span>terminator <span>(</span>read<span>-</span>char stream<span>)</span><span>)</span><span>)</span>
    <span>(</span>loop for ch <span>=</span> <span>(</span>read<span>-</span>char stream<span>)</span>
          until <span>(</span><span>eql</span> ch terminator<span>)</span>
          collect ch into chars
          finally <span>(</span><span>return</span> <span>(</span>coerce chars 'string<span>)</span><span>)</span><span>)</span><span>)</span><span>)</span>
 
<span>(</span>set<span>-</span>dispatch<span>-</span>macro<span>-</span>character
    #\# #\q #'|#q<span>-</span>reader|<span>)</span></pre>
</blockquote>
<p>More information in <a title="qq interpolation in Lisp" href="http://blog.viridian-project.de/2008/07/07/porting-perls-qq-to-common-lisp/">Space Station Lambda</a>.</p>
<p>You can find CL-INTERPOL in <a title="cl-interpol" href="http://weitz.de/cl-interpol/">Edi Weitz&#8217;s website</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/rogersm?a=tAH3CTF3L90:y2TNj2UVHuk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/rogersm?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rogersm?a=tAH3CTF3L90:y2TNj2UVHuk:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/rogersm?i=tAH3CTF3L90:y2TNj2UVHuk:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rogersm?a=tAH3CTF3L90:y2TNj2UVHuk:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/rogersm?d=qj6IDK7rITs" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://rogersm.net/2009/02/when-cl-interpol-is-too-big-for-your-needs/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Outsourcing in the gaming world</title>
		<link>http://rogersm.net/2009/01/outsourcing-in-the-gaming-world</link>
		<comments>http://rogersm.net/2009/01/outsourcing-in-the-gaming-world#comments</comments>
		<pubDate>Fri, 23 Jan 2009 09:50:04 +0000</pubDate>
		<dc:creator>rogersm</dc:creator>
				<category><![CDATA[IT]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://rogersm.net/?p=101</guid>
		<description><![CDATA[Good post mortem in Gamasutra of American McGee&#8217;s Grimm.  Interesting commentaries for the apps. outsourcing crowd:
 To avoid loss of face, a Chinese employee will not say that he only understood half of what his expat colleague tells him. This leads to misunderstandings, and ultimately to a lot of time lost.
We encountered a lot of these problems working [...]]]></description>
			<content:encoded><![CDATA[<p>Good post mortem in <a title="The art &amp; business of making games" href="http://www.gamasutra.com/view/feature/3910/postmortem_american_mcgees_grimm.php">Gamasutra</a> of <a title="at gametap" href="http://www.gametap.com/grimm/">American McGee&#8217;s Grimm</a>.  Interesting commentaries for the <a title="Page four" href="http://www.gamasutra.com/view/feature/3910/postmortem_american_mcgees_grimm.php?page=4">apps. outsourcing</a> crowd:</p>
<blockquote><p> To avoid loss of face, a Chinese employee will not say that he only understood half of what his expat colleague tells him. This leads to misunderstandings, and ultimately to a lot of time lost.</p>
<p>We encountered a lot of these problems working with the outsourcing team that made all our 3D models. The same mistakes would be made over and over again because the modeling team didn&#8217;t understand the comments we made on their work, package names would have spelling errors in them, etc.</p>
<p>Towards the end of the project, these problems gradually became smaller, as Chinese artists started to understand English better and expatriates became more proficient in the Chinese language. More bilingual support, both at Spicy Horse and at the outsourcing studio, would have helped a lot in the beginning, though.<br />
 </p></blockquote>
<p>Globally, the experience is positive.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/rogersm?a=vBARe0ZJgp8:1y8dpwqEhaQ:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/rogersm?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rogersm?a=vBARe0ZJgp8:1y8dpwqEhaQ:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/rogersm?i=vBARe0ZJgp8:1y8dpwqEhaQ:D7DqB2pKExk" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rogersm?a=vBARe0ZJgp8:1y8dpwqEhaQ:qj6IDK7rITs"><img src="http://feeds.feedburner.com/~ff/rogersm?d=qj6IDK7rITs" border="0"></img></a>
</div>]]></content:encoded>
			<wfw:commentRss>http://rogersm.net/2009/01/outsourcing-in-the-gaming-world/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss><!-- Dynamic Page Served (once) in 0.225 seconds -->
