<?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>Autarchy of the Private Cave &#187; comparison</title> <atom:link href="https://bogdan.org.ua/tags/comparison/feed" rel="self" type="application/rss+xml" /><link>https://bogdan.org.ua</link> <description>Tiny bits of bioinformatics, [web-]programming etc</description> <lastBuildDate>Wed, 28 Dec 2022 16:09:04 +0000</lastBuildDate> <language>en-US</language> <sy:updatePeriod>hourly</sy:updatePeriod> <sy:updateFrequency>1</sy:updateFrequency> <generator>https://wordpress.org/?v=3.8.27</generator> <item><title>ZFS is the FS for Containers in Ubuntu 16.04 and how it compares to btrfs</title><link>https://bogdan.org.ua/2016/02/20/zfs-is-the-fs-for-containers-in-ubuntu-16-04-and-how-it-compares-to-btrfs.html</link> <comments>https://bogdan.org.ua/2016/02/20/zfs-is-the-fs-for-containers-in-ubuntu-16-04-and-how-it-compares-to-btrfs.html#comments</comments> <pubDate>Sat, 20 Feb 2016 18:45:00 +0000</pubDate> <dc:creator><![CDATA[Bogdan]]></dc:creator> <category><![CDATA[*nix]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[btrfs]]></category> <category><![CDATA[comparison]]></category> <category><![CDATA[ext4]]></category> <category><![CDATA[FreeNAS]]></category> <category><![CDATA[vs]]></category> <category><![CDATA[XFS]]></category> <category><![CDATA[ZFS]]></category> <guid
isPermaLink="false">http://bogdan.org.ua/?p=2354</guid> <description><![CDATA[Recently in hacker news the following was posted: ZFS is the FS for Containers in Ubuntu 16.04. I must admit the 16.04 demo does look very pleasant to work with. However, bringing in ZFS into Linux reminded me of a fairly recent comparison of ZFS and btrfs that I had to do when building my [&#8230;]]]></description> <content:encoded><![CDATA[<p>Recently in hacker news the following was posted: <a
href="https://news.ycombinator.com/item?id=11125063">ZFS is the FS for Containers in Ubuntu 16.04</a>.</p><p>I must admit the 16.04 demo does look very pleasant to work with.</p><p>However, bringing in ZFS into Linux reminded me of a fairly recent comparison of ZFS and btrfs that I had to do when building my home NAS.<br
/> At that time, few months ago, I&#8217;ve arrived (among others) at the following conclusions:</p><ul><li>ZFS on FreeBSD is reliable, though a memory hog;</li><li>on Debian, OpenVault seems to be a good NAS web-management interface;</li><li>on FreeBSD, FreeNAS is good (there is also Nas4Free fork of an older version, but I haven&#8217;t looked into it deep enough);</li><li>running ZFS on linux (even as a kernel module) is the least efficient solution, at least partially because kernel&#8217;s file caching and ZFS&#8217;s ARC cache are two separate entities;</li><li>although btrfs offers features very similar to ZFS, as of few months ago OpenVault did not offer btrfs volumes support from the web-interface.</li></ul><p>In the end, I&#8217;ve decided to go with FreeNAS, and it seems to work well so far.</p><p>But had anything changed in the <em>btrfs vs ZFS on Linux</em> field?<br
/> <span
id="more-2354"></span><br
/> Luckily, in the comments section of the <a
href="http://blog.dustinkirkland.com/2016/02/zfs-is-fs-for-containers-in-ubuntu-1604.html">original post</a> Brian Mullan linked to a recent Bachelor degree project titled <a
href="https://www.diva-portal.org/smash/get/diva2:822493/FULLTEXT01.pdf">A performance comparison of ZFS and btrfs on Linux</a> (<a
href="http://bogdan.org.ua/wp-content/uploads/2016/02/A_performance_comparison_of_ZFS_and_btrfs_on_Linux.pdf">local copy</a>). Here&#8217;s an excerpt from the abstract:</p><blockquote><p> The main conclusions that can be drawn from the analysis of the gathered data is that<br
/> Btrfs has improved greatly in recent years and is today showing great throughput whereas<br
/> ZFS on Linux is performing considerably worse than Btrfs.</p></blockquote><p>The document is definitely worth looking at &#8211; actual results start on page 22, and there are figures for easy comprehension <img
src="https://bogdan.org.ua/wp-includes/images/smilies/icon_wink.gif" alt=";)" class="wp-smiley" /><br
/> XFS and ext4 are also added to the comparison, so if you are thinking about changing your FS &#8211; the document may help you, too.<br
/> The only area where ZFS excelled was database-like load; btrfs and XFS were the leaders in the majority of other tests.<br
/> (In fact, somewhat lower btrfs performance for database-like loads seems to be a well-known thing, and can be <em>cured</em> with the <code>nodatacow</code> mount option &#8211; see e.g. this <a
href="http://blog.pgaddict.com/posts/friends-dont-let-friends-use-btrfs-for-oltp" class="broken_link" rel="nofollow">nice rant about PostgreSQL on btrfs</a>.)</p><p>I do believe that ZFS is still more stable than btrfs, but I&#8217;m also still not convinced that <em>ZFS and Linux</em> are a good combination.</p><p><a
class="a2a_button_citeulike" href="https://www.addtoany.com/add_to/citeulike?linkurl=https%3A%2F%2Fbogdan.org.ua%2F2016%2F02%2F20%2Fzfs-is-the-fs-for-containers-in-ubuntu-16-04-and-how-it-compares-to-btrfs.html&amp;linkname=ZFS%20is%20the%20FS%20for%20Containers%20in%20Ubuntu%2016.04%20and%20how%20it%20compares%20to%20btrfs" title="CiteULike" rel="nofollow noopener" target="_blank"></a><a
class="a2a_button_pocket" href="https://www.addtoany.com/add_to/pocket?linkurl=https%3A%2F%2Fbogdan.org.ua%2F2016%2F02%2F20%2Fzfs-is-the-fs-for-containers-in-ubuntu-16-04-and-how-it-compares-to-btrfs.html&amp;linkname=ZFS%20is%20the%20FS%20for%20Containers%20in%20Ubuntu%2016.04%20and%20how%20it%20compares%20to%20btrfs" title="Pocket" rel="nofollow noopener" target="_blank"></a><a
class="a2a_button_kindle_it" href="https://www.addtoany.com/add_to/kindle_it?linkurl=https%3A%2F%2Fbogdan.org.ua%2F2016%2F02%2F20%2Fzfs-is-the-fs-for-containers-in-ubuntu-16-04-and-how-it-compares-to-btrfs.html&amp;linkname=ZFS%20is%20the%20FS%20for%20Containers%20in%20Ubuntu%2016.04%20and%20how%20it%20compares%20to%20btrfs" title="Kindle It" rel="nofollow noopener" target="_blank"></a><a
class="a2a_button_evernote" href="https://www.addtoany.com/add_to/evernote?linkurl=https%3A%2F%2Fbogdan.org.ua%2F2016%2F02%2F20%2Fzfs-is-the-fs-for-containers-in-ubuntu-16-04-and-how-it-compares-to-btrfs.html&amp;linkname=ZFS%20is%20the%20FS%20for%20Containers%20in%20Ubuntu%2016.04%20and%20how%20it%20compares%20to%20btrfs" title="Evernote" rel="nofollow noopener" target="_blank"></a><a
class="a2a_button_pinterest" href="https://www.addtoany.com/add_to/pinterest?linkurl=https%3A%2F%2Fbogdan.org.ua%2F2016%2F02%2F20%2Fzfs-is-the-fs-for-containers-in-ubuntu-16-04-and-how-it-compares-to-btrfs.html&amp;linkname=ZFS%20is%20the%20FS%20for%20Containers%20in%20Ubuntu%2016.04%20and%20how%20it%20compares%20to%20btrfs" title="Pinterest" rel="nofollow noopener" target="_blank"></a><a
class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fbogdan.org.ua%2F2016%2F02%2F20%2Fzfs-is-the-fs-for-containers-in-ubuntu-16-04-and-how-it-compares-to-btrfs.html&#038;title=ZFS%20is%20the%20FS%20for%20Containers%20in%20Ubuntu%2016.04%20and%20how%20it%20compares%20to%20btrfs" data-a2a-url="https://bogdan.org.ua/2016/02/20/zfs-is-the-fs-for-containers-in-ubuntu-16-04-and-how-it-compares-to-btrfs.html" data-a2a-title="ZFS is the FS for Containers in Ubuntu 16.04 and how it compares to btrfs"><img
src="https://static.addtoany.com/buttons/share_save_120_16.png" alt="Share"></a></p>]]></content:encoded> <wfw:commentRss>https://bogdan.org.ua/2016/02/20/zfs-is-the-fs-for-containers-in-ubuntu-16-04-and-how-it-compares-to-btrfs.html/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>PGF vs PNG vs JPEG 2000 for long-term photo storage/archive</title><link>https://bogdan.org.ua/2015/05/26/pgf-vs-png-vs-jpeg-2000-for-long-term-photo-storage-archive.html</link> <comments>https://bogdan.org.ua/2015/05/26/pgf-vs-png-vs-jpeg-2000-for-long-term-photo-storage-archive.html#comments</comments> <pubDate>Mon, 25 May 2015 22:02:46 +0000</pubDate> <dc:creator><![CDATA[Bogdan]]></dc:creator> <category><![CDATA[Comparison]]></category> <category><![CDATA[Links]]></category> <category><![CDATA[Misc]]></category> <category><![CDATA[Software]]></category> <category><![CDATA[comparison]]></category> <category><![CDATA[JPEG2000]]></category> <category><![CDATA[PGF]]></category> <category><![CDATA[photo]]></category> <category><![CDATA[PNG]]></category> <guid
isPermaLink="false">http://bogdan.org.ua/?p=2285</guid> <description><![CDATA[I am using an excellent photo-management suite digiKam, which offers 3 lossless compressed formats for photos versioning and storage: PNG, JPEG 2000, and PGF. I wanted to know which one should I use, which urged me to perform this comparison. This post is not intended to be an in-depth comparison, but should be sufficient to [&#8230;]]]></description> <content:encoded><![CDATA[<p>I am using an <a
href="https://www.digikam.org/">excellent photo-management suite digiKam</a>, which offers 3 lossless compressed formats for photos versioning and storage: PNG, JPEG 2000, and PGF. I wanted to know which one should I use, which urged me to perform this comparison.</p><p>This post is not intended to be an in-depth comparison, but should be sufficient to choose one of the three file formats for your purposes. For more format details and history simply follow the links provided. File formats are reviewed roughly in &#8220;historical&#8221; order.</p><p><strong>PNG</strong> (<a
href="http://en.wikipedia.org/wiki/Portable_Network_Graphics">Portable Network Graphics</a>) was designed as <a
href="http://en.wikipedia.org/wiki/Graphics_Interchange_Format">GIF</a> replacement.</p><ul><li>It is lossless.</li><li>It is suitable for photos.</li><li>PNG is more space-efficient in the case of images with many pixels of the same color, such as diagrams/plots (as compared to PGF and JPEG2000). However, PNG photos are almost always larger than lossless PGF/JPEG2000 photos (real photo example: 9.9 MB in PNG, 7.0 MB in JPEG 2000).</li><li>PNG is fairly fast at (en|de)coding.</li><li>PNG is widely supported by web-browsers, image editors, and other software.</li><li>PNG uses CRCs internally for each data block, so if damage occurs only the damaged block(s) should be lost &#8211; theoretically. However, in practice, according to the <a
href="http://planets-project.eu/docs/papers/Heydegger_JustOneBit_ECDL2009.pdf">Just One Bit paper</a> (<a
href="http://bogdan.org.ua/wp-content/uploads/2015/05/Heydegger_JustOneBit_ECDL2009.pdf">local copy</a>), PNG is actually much less damage-resilient than JPEG 2000.</li></ul><p><span
id="more-2285"></span><br
/> <strong>JPEG 2000</strong> (<a
href="http://en.wikipedia.org/wiki/JPEG_2000">JPEG 2000</a>) was designed as <a
href="http://en.wikipedia.org/wiki/JPEG">JPEG</a> replacement.</p><ul><li>It has both lossless and lossy modes. Lossy mode is &#8220;better&#8221; (perceptually at the same file size) than JPEG.</li><li>Lossless mode is the smallest of all 3 file formats tested.</li><li>JPEG 2000 is slower at (en|de)coding than PGF and PNG.</li><li>JPEG 2000 has several associated ISO and other standards. Software support for JPEG 2000 is not as good as for PNG, but better than for PGF.</li><li>JPEG 2000 has good <a
href="http://www.dlib.org/dlib/july08/buonora/07buonora.html">bit errors resilience</a> (<a
href="http://bogdan.org.ua/wp-content/uploads/2015/05/A-study-on-JPEG2000-file-robustness.pdf">local copy</a>).</li></ul><p><strong>PGF</strong> (<a
href="http://en.wikipedia.org/wiki/Progressive_Graphics_File">Progressive Graphics File</a>) was also designed to replace/enhance <a
href="http://en.wikipedia.org/wiki/JPEG">JPEG</a>.</p><ul><li>PGF uses the same wavelet-based method as JPEG 2000, so it shares a lot of features with JPEG 2000, including support for lossless and lossy modes, with lossy being &#8220;better&#8221; than JPEG.</li><li>Lossless mode file is marginally larger than the same image in JPEG 2000 (real photo example: 7.0 MB in JPEG 2000, 7.4 MB in PGF).</li><li>It is much faster at (en|de)coding than JPEG 2000 (this is major difference #1 of 2).</li><li>Software support for PGF is not as good as for JPEG 2000 (this is major difference #2 of 2).<li>Being under-appreciated, PGF doesn&#8217;t seem to have received any error resilience testing, yet. However, one should expect error resilience similar to that of JPEG 2000, because essentially the same compression method is used (albeit with different &#8220;parameters&#8221;, resulting in a speed/size trade-off/gain). It is not clear if PGF has any <em>resilience features</em> like JPEG 2000.</li></ul><p><em>Fun fact #1</em> from the links above: best error resilience was observed for bitmap files.<br
/> <em>Fun fact #2</em>: after about 1% of data damage none of the compressed formats is able to reliably reproduce the original image.</p><p>I would be happy to use PGF for its speed, compression ratio, and features, but lacking software support is detrimental (in a self-reinforcing manner) to widespread adoption of PGF; being quite similar to the more popular (or better promoted) JPEG 2000, I do not know if PGF will gain sufficient traction to get e.g. browser support.</p><p>PNG has very good support, but produces noticeably larger files, and exhibits significantly lower error resilience than JPEG 2000.</p><p>So as of today my choice is JPEG 2000 (lossless, with resilience features).</p><p><a
class="a2a_button_citeulike" href="https://www.addtoany.com/add_to/citeulike?linkurl=https%3A%2F%2Fbogdan.org.ua%2F2015%2F05%2F26%2Fpgf-vs-png-vs-jpeg-2000-for-long-term-photo-storage-archive.html&amp;linkname=PGF%20vs%20PNG%20vs%20JPEG%202000%20for%20long-term%20photo%20storage%2Farchive" title="CiteULike" rel="nofollow noopener" target="_blank"></a><a
class="a2a_button_pocket" href="https://www.addtoany.com/add_to/pocket?linkurl=https%3A%2F%2Fbogdan.org.ua%2F2015%2F05%2F26%2Fpgf-vs-png-vs-jpeg-2000-for-long-term-photo-storage-archive.html&amp;linkname=PGF%20vs%20PNG%20vs%20JPEG%202000%20for%20long-term%20photo%20storage%2Farchive" title="Pocket" rel="nofollow noopener" target="_blank"></a><a
class="a2a_button_kindle_it" href="https://www.addtoany.com/add_to/kindle_it?linkurl=https%3A%2F%2Fbogdan.org.ua%2F2015%2F05%2F26%2Fpgf-vs-png-vs-jpeg-2000-for-long-term-photo-storage-archive.html&amp;linkname=PGF%20vs%20PNG%20vs%20JPEG%202000%20for%20long-term%20photo%20storage%2Farchive" title="Kindle It" rel="nofollow noopener" target="_blank"></a><a
class="a2a_button_evernote" href="https://www.addtoany.com/add_to/evernote?linkurl=https%3A%2F%2Fbogdan.org.ua%2F2015%2F05%2F26%2Fpgf-vs-png-vs-jpeg-2000-for-long-term-photo-storage-archive.html&amp;linkname=PGF%20vs%20PNG%20vs%20JPEG%202000%20for%20long-term%20photo%20storage%2Farchive" title="Evernote" rel="nofollow noopener" target="_blank"></a><a
class="a2a_button_pinterest" href="https://www.addtoany.com/add_to/pinterest?linkurl=https%3A%2F%2Fbogdan.org.ua%2F2015%2F05%2F26%2Fpgf-vs-png-vs-jpeg-2000-for-long-term-photo-storage-archive.html&amp;linkname=PGF%20vs%20PNG%20vs%20JPEG%202000%20for%20long-term%20photo%20storage%2Farchive" title="Pinterest" rel="nofollow noopener" target="_blank"></a><a
class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fbogdan.org.ua%2F2015%2F05%2F26%2Fpgf-vs-png-vs-jpeg-2000-for-long-term-photo-storage-archive.html&#038;title=PGF%20vs%20PNG%20vs%20JPEG%202000%20for%20long-term%20photo%20storage%2Farchive" data-a2a-url="https://bogdan.org.ua/2015/05/26/pgf-vs-png-vs-jpeg-2000-for-long-term-photo-storage-archive.html" data-a2a-title="PGF vs PNG vs JPEG 2000 for long-term photo storage/archive"><img
src="https://static.addtoany.com/buttons/share_save_120_16.png" alt="Share"></a></p>]]></content:encoded> <wfw:commentRss>https://bogdan.org.ua/2015/05/26/pgf-vs-png-vs-jpeg-2000-for-long-term-photo-storage-archive.html/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> <item><title>C: how to specify comparison operators floating precision</title><link>https://bogdan.org.ua/2009/06/11/c-how-to-specify-comparison-operators-floating-precision.html</link> <comments>https://bogdan.org.ua/2009/06/11/c-how-to-specify-comparison-operators-floating-precision.html#comments</comments> <pubDate>Thu, 11 Jun 2009 17:47:37 +0000</pubDate> <dc:creator><![CDATA[Bogdan]]></dc:creator> <category><![CDATA[how-to]]></category> <category><![CDATA[Programming]]></category> <category><![CDATA[C]]></category> <category><![CDATA[comparison]]></category> <category><![CDATA[double]]></category> <category><![CDATA[example]]></category> <category><![CDATA[float]]></category> <category><![CDATA[floating]]></category> <category><![CDATA[operator]]></category> <category><![CDATA[precision]]></category> <guid
isPermaLink="false">http://bogdan.org.ua/?p=774</guid> <description><![CDATA[There is no way I&#8217;m aware of to do what the title says. However&#8230; I&#8217;m sure that you are aware of the fact that floats representation in any programming language is limited by the precision of the internal binary representations. In other words, you can never have an exact float representation &#8211; there will always [&#8230;]]]></description> <content:encoded><![CDATA[<p>There is no way I&#8217;m aware of to do what the title says. However&#8230;</p><p>I&#8217;m sure that you are aware of the fact that floats representation in any programming language is limited by the precision of the internal binary representations. In other words, you can never have an <strong>exact</strong> float representation &#8211; there will always be some precision associated with the float you are working with. The simplest example is the difference in precision between the <em>float</em> and <em>double</em> types in <strong>C</strong>.</p><p>Suppose I have the following code fragment:<br
/> [C] if ( result.score  >= input->raw_cut_off ) [/C]</p><p>Both <em>result.score</em> and <em>input->raw_cut_off</em> are of type <strong>float</strong>, and can have positive and negative values. When compared with the greater than or equal ( >= ) operator, it is not always that condition is true &#8211; for the precision reasons shortly mentioned above.</p><p>As I already said, there is no precision specification for equality operators in <strong>C</strong>. But it is quite simple to &#8220;invent&#8221; precision specification; e.g. if I wanted to test for equality only, I could write<br
/> [C] if ( fabsf( result.score &#8211; input->raw_cut_off ) <  0.000001 )[/C]
In this example, I'm effectively asking for 6-digit precision for the equality comparison of floating-point values. Note, that if you replace that 0.000001 with the actual precision limit of the floating type you are using, you will be "exactly" comparing floating-point numbers - up to that type's precision, of course <img
src="https://bogdan.org.ua/wp-includes/images/smilies/icon_smile.gif" alt=":)" class="wp-smiley" /> .</p><p>The first-most example with the >= operator can be rewritten as<br
/> [C] if ( result.score  > ( input->raw_cut_off &#8211; precision) ) [/C]<br
/> where <em>precision</em> is exactly what it is named, e.g. <em>precision</em> = 0.000001.</p><p>Sources used:</p><ul><li>comment by <a
href="http://bytes.com/topic/c-sharp/answers/233215-float-double-arithmetic-precision-error#post953273">Randy A. Ynchausti</a></li><li><a
href="http://www.shokhirev.com/nikolai/abc/sciprog/sciprognum.html">scientific programming</a></li></ul><p><a
class="a2a_button_citeulike" href="https://www.addtoany.com/add_to/citeulike?linkurl=https%3A%2F%2Fbogdan.org.ua%2F2009%2F06%2F11%2Fc-how-to-specify-comparison-operators-floating-precision.html&amp;linkname=C%3A%20how%20to%20specify%20comparison%20operators%20floating%20precision" title="CiteULike" rel="nofollow noopener" target="_blank"></a><a
class="a2a_button_pocket" href="https://www.addtoany.com/add_to/pocket?linkurl=https%3A%2F%2Fbogdan.org.ua%2F2009%2F06%2F11%2Fc-how-to-specify-comparison-operators-floating-precision.html&amp;linkname=C%3A%20how%20to%20specify%20comparison%20operators%20floating%20precision" title="Pocket" rel="nofollow noopener" target="_blank"></a><a
class="a2a_button_kindle_it" href="https://www.addtoany.com/add_to/kindle_it?linkurl=https%3A%2F%2Fbogdan.org.ua%2F2009%2F06%2F11%2Fc-how-to-specify-comparison-operators-floating-precision.html&amp;linkname=C%3A%20how%20to%20specify%20comparison%20operators%20floating%20precision" title="Kindle It" rel="nofollow noopener" target="_blank"></a><a
class="a2a_button_evernote" href="https://www.addtoany.com/add_to/evernote?linkurl=https%3A%2F%2Fbogdan.org.ua%2F2009%2F06%2F11%2Fc-how-to-specify-comparison-operators-floating-precision.html&amp;linkname=C%3A%20how%20to%20specify%20comparison%20operators%20floating%20precision" title="Evernote" rel="nofollow noopener" target="_blank"></a><a
class="a2a_button_pinterest" href="https://www.addtoany.com/add_to/pinterest?linkurl=https%3A%2F%2Fbogdan.org.ua%2F2009%2F06%2F11%2Fc-how-to-specify-comparison-operators-floating-precision.html&amp;linkname=C%3A%20how%20to%20specify%20comparison%20operators%20floating%20precision" title="Pinterest" rel="nofollow noopener" target="_blank"></a><a
class="a2a_dd addtoany_share_save addtoany_share" href="https://www.addtoany.com/share#url=https%3A%2F%2Fbogdan.org.ua%2F2009%2F06%2F11%2Fc-how-to-specify-comparison-operators-floating-precision.html&#038;title=C%3A%20how%20to%20specify%20comparison%20operators%20floating%20precision" data-a2a-url="https://bogdan.org.ua/2009/06/11/c-how-to-specify-comparison-operators-floating-precision.html" data-a2a-title="C: how to specify comparison operators floating precision"><img
src="https://static.addtoany.com/buttons/share_save_120_16.png" alt="Share"></a></p>]]></content:encoded> <wfw:commentRss>https://bogdan.org.ua/2009/06/11/c-how-to-specify-comparison-operators-floating-precision.html/feed</wfw:commentRss> <slash:comments>0</slash:comments> </item> </channel> </rss>