<?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>Dmitry Leskov &#187; Programming</title>
	<atom:link href="http://blog.dmitryleskov.com/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.dmitryleskov.com</link>
	<description></description>
	<lastBuildDate>Thu, 04 Oct 2018 17:01:31 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.4.2</generator>
		<item>
		<title>The Finite Laziness of Scala Streams</title>
		<link>http://blog.dmitryleskov.com/programming/scala/the-finite-laziness-of-scala-streams/</link>
		<comments>http://blog.dmitryleskov.com/programming/scala/the-finite-laziness-of-scala-streams/#comments</comments>
		<pubDate>Sun, 03 Jul 2016 09:35:05 +0000</pubDate>
		<dc:creator>Dmitry Leskov</dc:creator>
				<category><![CDATA[Haskell]]></category>
		<category><![CDATA[Scala]]></category>

		<guid isPermaLink="false">http://blog.dmitryleskov.com/?p=1346</guid>
		<description><![CDATA[The official Haskell wiki discusses literally dozens of ways to produce a list of prime numbers, but the one that caught my attention the other day is not listed there. Its centerpiece is a fold of a recursively defined infinite list of infinite lists (lists are lazy in Haskell). In this post, I've documented my attempt to rewrite it in Scala using streams.]]></description>
		<wfw:commentRss>http://blog.dmitryleskov.com/programming/scala/the-finite-laziness-of-scala-streams/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Scala Stream Hygiene III: Scalaz EphemeralStream Fills Quite A Canyon</title>
		<link>http://blog.dmitryleskov.com/programming/scala/stream-hygiene-iii-scalaz-ephemeralstream-fills-quite-a-canyon/</link>
		<comments>http://blog.dmitryleskov.com/programming/scala/stream-hygiene-iii-scalaz-ephemeralstream-fills-quite-a-canyon/#comments</comments>
		<pubDate>Mon, 11 Aug 2014 03:13:24 +0000</pubDate>
		<dc:creator>Dmitry Leskov</dc:creator>
				<category><![CDATA[Scala]]></category>
		<category><![CDATA[garbage collection]]></category>
		<category><![CDATA[scala]]></category>
		<category><![CDATA[Scalaz]]></category>
		<category><![CDATA[streams]]></category>

		<guid isPermaLink="false">http://blog.dmitryleskov.com/?p=1241</guid>
		<description><![CDATA[Scalaz, an open-source pure functional programming library for Scala, provides the EphemeralStream class that does not exhibit the memory leak issues inherent to the standard scala Stream. However, it carries its own set of problems: memory overheads, performance penalties, and application disk footprint increase.]]></description>
		<wfw:commentRss>http://blog.dmitryleskov.com/programming/scala/stream-hygiene-iii-scalaz-ephemeralstream-fills-quite-a-canyon/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Scala Stream Hygiene II: HotSpot Kicks In</title>
		<link>http://blog.dmitryleskov.com/programming/scala/stream-hygiene-ii-hotspot-kicks-in/</link>
		<comments>http://blog.dmitryleskov.com/programming/scala/stream-hygiene-ii-hotspot-kicks-in/#comments</comments>
		<pubDate>Fri, 25 Jul 2014 15:29:41 +0000</pubDate>
		<dc:creator>Dmitry Leskov</dc:creator>
				<category><![CDATA[Scala]]></category>
		<category><![CDATA[garbage collection]]></category>
		<category><![CDATA[scala]]></category>
		<category><![CDATA[streams]]></category>

		<guid isPermaLink="false">http://blog.dmitryleskov.com/?p=1194</guid>
		<description><![CDATA[Infinite Scala streams should be marked "not for production use", even though you can get away with breaking most of the rules listed in Part I.]]></description>
		<wfw:commentRss>http://blog.dmitryleskov.com/programming/scala/stream-hygiene-ii-hotspot-kicks-in/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Scala Stream Hygiene I: Avoiding Memory Leaks</title>
		<link>http://blog.dmitryleskov.com/programming/scala/stream-hygiene-i-avoiding-memory-leaks/</link>
		<comments>http://blog.dmitryleskov.com/programming/scala/stream-hygiene-i-avoiding-memory-leaks/#comments</comments>
		<pubDate>Sat, 19 Jul 2014 08:21:25 +0000</pubDate>
		<dc:creator>Dmitry Leskov</dc:creator>
				<category><![CDATA[Scala]]></category>
		<category><![CDATA[garbage collection]]></category>
		<category><![CDATA[scala]]></category>
		<category><![CDATA[streams]]></category>

		<guid isPermaLink="false">http://blog.dmitryleskov.com/?p=1174</guid>
		<description><![CDATA[The standard Scala <code>Stream</code> class is essentially a lazy <code>List</code> with memoization. However, memoization is undesirable when defining infinite data structures. It is possible to avoid memoization of streams by following a set of five rules, described in this first post in a 3-part series.]]></description>
		<wfw:commentRss>http://blog.dmitryleskov.com/programming/scala/stream-hygiene-i-avoiding-memory-leaks/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Retrieving a Web Site for Offline View Using Wget</title>
		<link>http://blog.dmitryleskov.com/programming/retrieving-web-site-for-offline-view-using-wget/</link>
		<comments>http://blog.dmitryleskov.com/programming/retrieving-web-site-for-offline-view-using-wget/#comments</comments>
		<pubDate>Sat, 23 Feb 2013 15:41:21 +0000</pubDate>
		<dc:creator>Dmitry Leskov</dc:creator>
				<category><![CDATA[Notes for myself]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blog.dmitryleskov.com/?p=1070</guid>
		<description><![CDATA[is not so straightforward in today's age of CDNs, widgets, and font embedded services.]]></description>
		<wfw:commentRss>http://blog.dmitryleskov.com/programming/retrieving-web-site-for-offline-view-using-wget/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Protecting Downloads From Hotlinking &#8211; The Soft Way</title>
		<link>http://blog.dmitryleskov.com/programming/php/protecting-downloads-from-hotlinking-the-soft-way/</link>
		<comments>http://blog.dmitryleskov.com/programming/php/protecting-downloads-from-hotlinking-the-soft-way/#comments</comments>
		<pubDate>Tue, 20 Dec 2011 16:57:01 +0000</pubDate>
		<dc:creator>Dmitry Leskov</dc:creator>
				<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://blog.dmitryleskov.com/?p=635</guid>
		<description><![CDATA[An Apache URL rewrite trick to protect large downloadable files from hotlinking. Even though some PHP or CGI scripting is required the files remain served directly by Apache and the properly registered visitors are not affected.]]></description>
		<wfw:commentRss>http://blog.dmitryleskov.com/programming/php/protecting-downloads-from-hotlinking-the-soft-way/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How To Run UglifyJS on Windows Using node.js</title>
		<link>http://blog.dmitryleskov.com/programming/javascript/howto-run-uglifyjs-javascript-minifier-windows-using-node/</link>
		<comments>http://blog.dmitryleskov.com/programming/javascript/howto-run-uglifyjs-javascript-minifier-windows-using-node/#comments</comments>
		<pubDate>Tue, 16 Aug 2011 15:12:33 +0000</pubDate>
		<dc:creator>Dmitry Leskov</dc:creator>
				<category><![CDATA[Notes for myself]]></category>
		<category><![CDATA[Practical Javascript]]></category>
		<category><![CDATA[Small Hacks]]></category>

		<guid isPermaLink="false">http://blog.dmitryleskov.com/?p=429</guid>
		<description><![CDATA[Now that there is a Windows build of node.js, you may run UglifyJS using its main development platform.]]></description>
		<wfw:commentRss>http://blog.dmitryleskov.com/programming/javascript/howto-run-uglifyjs-javascript-minifier-windows-using-node/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Backporting PHP 5.3.5 from Ubuntu 11.04</title>
		<link>http://blog.dmitryleskov.com/programming/backporting-php-5-3-5-from-natty/</link>
		<comments>http://blog.dmitryleskov.com/programming/backporting-php-5-3-5-from-natty/#comments</comments>
		<pubDate>Sun, 15 May 2011 09:25:17 +0000</pubDate>
		<dc:creator>Dmitry Leskov</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://blog.dmitryleskov.com/?p=424</guid>
		<description><![CDATA[This is just a quick notice that the instructions for backporting PHP 5.3.3 from Ubuntu 10.10 to 10.04 LTS also seem to be working for PHP 5.3.5, found in just released Ubuntu 11.04.]]></description>
		<wfw:commentRss>http://blog.dmitryleskov.com/programming/backporting-php-5-3-5-from-natty/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing .deb Packages from a Local Repository</title>
		<link>http://blog.dmitryleskov.com/programming/installing-deb-packages-from-a-local-repository/</link>
		<comments>http://blog.dmitryleskov.com/programming/installing-deb-packages-from-a-local-repository/#comments</comments>
		<pubDate>Wed, 11 May 2011 16:52:56 +0000</pubDate>
		<dc:creator>Dmitry Leskov</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[backport]]></category>
		<category><![CDATA[install]]></category>
		<category><![CDATA[ubuntu]]></category>
		<category><![CDATA[vm]]></category>

		<guid isPermaLink="false">http://blog.dmitryleskov.com/?p=385</guid>
		<description><![CDATA[Learn how to set up a local repository for .deb packages you've built or downloaded, and deploy it to production servers with minimal interference. <a href="http://blog.dmitryleskov.com/web-development/php/backport-php-5-3-3-from-maverick-to-lucid/">PHP 5.3.3 packages backported to Ubuntu 10.04</a> are used as an example.]]></description>
		<wfw:commentRss>http://blog.dmitryleskov.com/programming/installing-deb-packages-from-a-local-repository/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Backporting PHP 5.3.3 from Ubuntu 10.10 to 10.04 LTS</title>
		<link>http://blog.dmitryleskov.com/programming/php/backport-php-5-3-3-from-maverick-to-lucid/</link>
		<comments>http://blog.dmitryleskov.com/programming/php/backport-php-5-3-3-from-maverick-to-lucid/#comments</comments>
		<pubDate>Wed, 20 Apr 2011 14:00:01 +0000</pubDate>
		<dc:creator>Dmitry Leskov</dc:creator>
				<category><![CDATA[PHP]]></category>
		<category><![CDATA[backport]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://blog.dmitryleskov.com/?p=282</guid>
		<description><![CDATA[Inspired by my desire to run PHP-FPM on the latest LTS release of Ubuntu, this post describes the available options and provides step-by-step backporting instructions for PHP 5.3.3 included in Ubuntu 10.10.]]></description>
		<wfw:commentRss>http://blog.dmitryleskov.com/programming/php/backport-php-5-3-3-from-maverick-to-lucid/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
