<?xml version="1.0" encoding="UTF-8"?>
<!-- name="generator" content="pyblosxom/1.2.1 06/01/2005" -->
<!DOCTYPE rss PUBLIC "-//Netscape Communications//DTD RSS 0.91//EN" "http://my.netscape.com/publish/formats/rss-0.91.dtd">

<rss version="0.91">
<channel>
<title>Madabar   </title>
<link>http://www.madabar.com/blog/</link>
<description>Tim Wegener's blog</description>
<language>en</language>
<item>
    <title>Moving to new blog</title>
    <link>http://www.madabar.com/blog/new_blog.html</link>
    <description>
&lt;p&gt;I&apos;ve started a &lt;a href=&quot;http://madabar.com/techblog/&quot;&gt;new techblog&lt;/a&gt;. This will be for geek related topics. I&apos;ve already written a couple of posts, so check it out!&lt;/p&gt;

&lt;p&gt;For the new blog I have migrated to &lt;a href=&quot;http://wordpress.org/&quot;&gt;Wordpress&lt;/a&gt;. This lowers the barrier for me to write new entries (I can write them online) and has plenty of nice blog features such as Atom 1.0 feeds, comment feeds and various plugins.&lt;/p&gt;

&lt;p&gt;I&apos;m planning to wind up this blog (my old pyblosxom blog), but am leaving it up for the moment, as it still gets visits from time to time.&lt;/p&gt;

&lt;p&gt;Don&apos;t forget to update your feeds!&lt;/p&gt;
</description>
  </item>
<item>
    <title>Unit Tests as Standards</title>
    <link>http://www.madabar.com/blog/python/unittesting_as_standards.html</link>
    <description>
&lt;p&gt;
Are standards best defined by documents, reference implementations or referencesource code? Perhaps unit tests are the answer!
&lt;/p&gt;

&lt;p&gt;
&lt;a href=&quot;http://patricklogan.blogspot.com/2006/03/open-source-andor-standards.html&quot;&gt;Patrick Logan (Making it Stick) refers&lt;/a&gt; to
&lt;a href=&quot;http://weblog.infoworld.com/udell/2006/03/13.html#a1404&quot;&gt;an article by John Udell&lt;/a&gt; musing on whether standard (open source) implementations are more valuable than the standard specification documents. 
&lt;/p&gt;

&lt;p&gt;
I think that well documented unit tests would be better still. I often meditate on the saying &quot;the proof of the pudding is in the tasting&quot;. Well-written unit tests serve as good pudding tasters. The purpose of standards is to specify interfaces. Unit Tests concisely define how a system behaves under various conditions. They have the added benefit that they can be run against a candidate implementation and directly measure the compliance to the standard. 
&lt;/p&gt;

&lt;p&gt;
Unit tests are also compatible with the closed-source parts of the world. They only interact with the interface of a system. The unit tests should define all behaviours that together are sufficent to meet the standard. If the test suite passes, then the implementation details are irrelevant, and no revelation of inner workings is necessary. The test suite can help in determining whether the problem lies in an implementation as opposed to a user or external component relying on implementation side-effects. 
&lt;/p&gt;

&lt;p&gt;
Unit tests can also be successfully integrated into documentation. It is much easier and clearer to do so than intregating reference implementation code into the documentation, which tends to include distracting details. An excellent example of this integration is the &lt;a href=&quot;http://docs.python.org/lib/module-doctest.html&quot;&gt;doctest module&lt;/a&gt; included with &lt;a href=&quot;http://www.python.org&quot;&gt;Python&lt;/a&gt;. In fact with Python+doctest you can incorporate documentation, unit tests together with a reference implementation. 
&lt;/p&gt;

&lt;p&gt;Doctests (unit tests intregated into documentation) generally consist of a few annotated examples of normal cases, plus the important edge cases. The doctest approach encourages frequent examples. Examples are the often the best way to communicate an idea or requirement, and resolve a lot of the ambiguity inherent in normal language. On that note, I really should lead by example and provide an example of doctests as examples...
&lt;/p&gt;

&lt;pre&gt;
&quot;&quot;&quot;Demonstrate doctests as specifications. &quot;&quot;&quot;

__author__ = &apos;Tim Wegener &lt;twegener@madabar.com&gt;&apos;

import types
import doctest

def fibonacci(n):
    &quot;&quot;&quot;Return the n-th Fibonacci number.

    The function is used like so:
    &gt;&gt;&gt; fibonacci(7)
    13

    By definition, the following hold:
    &gt;&gt;&gt; fibonacci(0)
    0
    &gt;&gt;&gt; fibonacci(1)
    1

    For other values of n greater than 1, F(n) = F(n-1) + F(n-2)
    &gt;&gt;&gt; fibonacci(2)
    1
    &gt;&gt;&gt; fibonacci(3)
    2
    
    The result is undefined for negative and non- integers.

    &gt;&gt;&gt; fibonacci(-1)
    Traceback (most recent call last):
    ValueError: result is undefined for negative integer n

    &gt;&gt;&gt; fibonacci(1.4)
    Traceback (most recent call last):
    ValueError: result is undefined for non-integer n

    &gt;&gt;&gt; fibonacci(1j)
    Traceback (most recent call last):
    ValueError: result is undefined for non-integer n
    
    &quot;&quot;&quot;
    if not isinstance(n, int):
        raise ValueError(&quot;result is undefined for non-integer n&quot;)
    if n &lt; 0:
        raise ValueError(&quot;result is undefined for negative integer n&quot;)

    if n == 0:
        result = 0
    elif n == 1:
        result = 1
    else:
        f_n_minus_2 = 0
        f_n_minus_1 = 1
        result = 0
    
        for i in range(2, n+1):
            result = f_n_minus_1 + f_n_minus_2 
            f_n_minus_2 = f_n_minus_1
            f_n_minus_1 = result
    return result

def run_tests():
    &quot;&quot;&quot;Run all doctests in the module.&quot;&quot;&quot;

    import doctest
    doctest.testmod()

# Define behaviour when this module is called as a script.
if __name__ == &apos;__main__&apos;:
    run_tests()
&lt;/pre&gt;
</description>
  </item>
<item>
    <title>Python and Star Wars</title>
    <link>http://www.madabar.com/blog/python/python_and_starwars.html</link>
    <description>
&lt;p&gt;In &lt;a href=&quot;http://holdenweb.blogspot.com/2006/02/industrial-light-and-miserliness.html&quot;&gt;Steve Holden&apos;s post on Python at Industrial Light and Magic&lt;/a&gt;
(the company responsible for the special effects in the Star Wars movies)...
&lt;/p&gt;

&lt;q&gt;
I have heard (from staffers I have met at conferences) that the company employs in excess of seven hundred Python programmers. Here&apos;s what Tommy Burnette, ILM&apos;s Senior Technical Director, is on record as saying &quot;Python plays a key role in our production pipeline. Without it a project the size of Star Wars: Episode II would have been very difficult to pull off. From our crowd rendering to batch processing to compositing, Python binds all things together.&quot; Philip Peterson, a Principal Engineer for R&amp;D adds &quot;Python is everywhere at ILM. It&apos;s used to extend the capabilities of our applications, as well as providing the glue between them. Every CG image we create has involved Python somewhere in the process&quot;.
&lt;/q&gt;

&lt;p&gt;Cool.&lt;/p&gt;
</description>
  </item>
<item>
    <title>Steve Holden on PyCon</title>
    <link>http://www.madabar.com/blog/python/holden_on_pycon.html</link>
    <description>
&lt;p&gt;
Steve Holden summarised a whole bunch of talks from the recently concluded
 PyCon on his &lt;a href=&quot;http://holdenweb.blogspot.com/&quot;&gt;blog&lt;/a&gt;. 
Interesting notes on Python 2.5, Django, Dabo, Series60, among other things.
&lt;/p&gt;
</description>
  </item>
<item>
    <title>My new daughter</title>
    <link>http://www.madabar.com/blog/personal/baby_announcement.html</link>
    <description>
This week I&apos;ve become a doting dad of my new beautiful baby daughter. 
Well done to my wife for carrying her for the last nine months, and powering
on through the labour and sleepless nights.
</description>
  </item>
<item>
    <title>Leonardo&apos;s name - the truth!</title>
    <link>http://www.madabar.com/blog/python/leonardo/leonardo_name.html</link>
    <description>
&lt;p&gt;In &lt;a href=&quot;http://madabar.com/blog/python/renaissance_man.html&quot;&gt;a recent post&lt;/a&gt;, I speculated on how the Leonardo CMS program got its name. James Tauber referred me to the &lt;a href=&quot;http://www.jtauber.com/blog/2004/04/21/introducing_leonardo&quot;&gt;real reason&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This reminds me of the way I felt after reading &quot;Into The Heart&quot; - a book about the meanings of various U2 songs, gleaned from interviews with the band. I was disappointed, as they mostly seemed a bit more mundane than the interpretations I came up with.&lt;/p&gt;

&lt;p&gt;In any case, I bags the name &apos;DiCaprio&apos; if ever I write my own website management software. ;-)&lt;/p&gt;
</description>
  </item>
<item>
    <title>Leonardo migration so near, yet so far</title>
    <link>http://www.madabar.com/blog/python/leonardo/missing_bsddb.html</link>
    <description>
&lt;p&gt;After spending a large chunk of my weekend migrating this site to Leonardo, I hit a brick wall just before bringing it online. It seems that my webhost does not have bsddb module support in its python installation.&lt;/p&gt;

&lt;p&gt;&lt;i&gt;sigh&lt;/i&gt;&lt;/p&gt;
</description>
  </item>
<item>
    <title>Renaissance Man</title>
    <link>http://www.madabar.com/blog/python/renaissance_man.html</link>
    <description>
&lt;p&gt;By the way, I think I&apos;ve figured out &lt;a href=&quot;http://en.wikipedia.org/wiki/Renaissance_man&quot;&gt;why Leonardo is so named&lt;/a&gt;. The article seems to be missing &lt;a href=&quot;http://www.jtauber.com&quot;&gt;James&lt;/a&gt;&apos;s
picture though... :-P
&lt;/p&gt;
</description>
  </item>
<item>
    <title>Possible Migration to Leonardo Blogging Software</title>
    <link>http://www.madabar.com/blog/python/blog_software_migration.html</link>
    <description>
&lt;p&gt;I&apos;ve been playing around with &lt;a href=&quot;http://www.jtauber.com/leonardo&quot;&gt;Leonardo&lt;/a&gt;, 
and will probably migrate to that
(from PyBlosxom) in the near future.&lt;/p&gt;

&lt;p&gt;Warning: If you are an RSS subscriber then the feed will stop working once
I make the switch (since Leonardo only supports Atom). If it breaks, just
check the site and subscribe to the Atom feed instead.&lt;/p&gt;

&lt;h3&gt;Motivation to move to Leonardo&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;Wiki-style editing (so I can easily edit my site from anywhere)&lt;/li&gt;
&lt;li&gt;Category tagging (rather than sub-directories)&lt;/li&gt;
&lt;/ul&gt;

&lt;h3&gt;Barriers to moving to Leonardo&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;There&apos;s not much documentation (but apparently a wiki is coming soon)&lt;/li&gt;
&lt;li&gt;I&apos;m having a hard time uploading inline images via the wiki interface&lt;/li&gt;
&lt;li&gt;Missing (or undiscovered) features that would be nice:
 &lt;ul&gt;
 &lt;li&gt;different menus for different parts of the site&lt;/li&gt;
 &lt;li&gt;different title banner for different parts of the site&lt;/li&gt;
 &lt;li&gt;access control for giving others limited editing rights&lt;/li&gt;
 &lt;li&gt;support for compiling pages to static content&lt;/li&gt;
 &lt;/ul&gt;
&lt;/ul&gt;

&lt;p&gt;As for the feature wishlist, I might take a crack at implementing some of 
them, but first things first.&lt;/p&gt;

&lt;p&gt;I briefly investigated &lt;a href=&quot;http://newsbruiser.tigris.org/&quot;&gt;NewsBruiser&lt;/a&gt;, but it seems too hard to
make it look pretty.
&lt;/p&gt;

</description>
  </item>
<item>
    <title>Madabar Vocab 0.8 Released (major bug fixes)</title>
    <link>http://www.madabar.com/blog/python/madabar_vocab/madabar_vocab_0.8_release.html</link>
    <description>
&lt;p&gt;A new official release of Madabar Vocab (v0.8) is available on the 
&lt;a href=&quot;/madabar_vocab/download/&quot;&gt;Download page&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Highlights&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Fixed reading/writing of MVL (.mvl) file format
  (This was majorly broken.)
  &lt;/li&gt;
  &lt;li&gt;Now works properly with Python 2.4&lt;/li&gt;
  &lt;li&gt;Fixed loading of choice fields&lt;/li&gt;
  &lt;li&gt;Fixed updating of fields when choices are modified&lt;/li&gt;
  &lt;li&gt;Fixed wql reader&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If you are using the 0.7 release then upgrade ASAP, as you will lose data
when saving to mvl format in the 0.7 version.&lt;/p&gt;

&lt;p&gt;I&apos;ve also fixed the sample vocab set from the Greek of 1 John on the
&lt;a href=&quot;/madabar_vocab/vocab_lists/&quot;&gt;Vocab Lists&lt;/a&gt; page.&lt;/p&gt;
</description>
  </item>
<item>
    <title>Online viewable MVL XML vocab lists</title>
    <link>http://www.madabar.com/blog/python/madabar_vocab/xml_css_preview.html</link>
    <description>
&lt;p&gt;With the new vocab file format (MVL) for Madabar Vocab, the wordlists
can now be viewed online, using XML+CSS.
&lt;/p&gt;

&lt;p&gt;Here is a sample set that shows off the kind of things for which 
you can use attributes...&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;ccat_tauber_1john.xml&quot;&gt;ccat_tauber_1john.xml&lt;/a&gt;&lt;/p&gt;
</description>
  </item>
<item>
    <title>Madabar Vocab 0.7 Released (big one)</title>
    <link>http://www.madabar.com/blog/python/madabar_vocab/madabar_vocab_0.7_release.html</link>
    <description>
&lt;p&gt;A new official release of Madabar Vocab (v0.7) is available on the 
&lt;a href=&quot;/madabar_vocab/download/&quot;&gt;Download page&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Highlights&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Now using new MVL (.mvl) file format&lt;/li&gt;
  &lt;li&gt;Added a CSS stylesheet show that the new MVL format can be viewed 
      easily from a web browser when saved as .xml&lt;/li&gt;
  &lt;li&gt;Metadata (vocab list info, e.g. author, etc.)&lt;/li&gt;
  &lt;li&gt;Numerous bugfixes&lt;/li&gt;
  &lt;li&gt;Added auto-show timeout for plain flashcard quizzes&lt;/li&gt;
  &lt;li&gt;Launch external links in help using a web browser&lt;/li&gt;
  &lt;li&gt;Save size of shortcut palette&lt;/li&gt;
  &lt;li&gt;Keep editing when focus is lost and then returned to the editor&lt;/li&gt;
  &lt;li&gt;Confirmation before overwriting files using Save As (thanks Karl!)&lt;/li&gt;
  &lt;li&gt;Some usability improvements (thanks Kate!)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The big change is the file format. Old files can still be read by selecting
the .mml plugin. Please convert your existing lists over to the new format.&lt;/p&gt;

&lt;p&gt;I&apos;d like to do a more publicised release soon, so give it a try and let
me know about any bugs that need to be fixed.
&lt;/p&gt;
</description>
  </item>
<item>
    <title>Madabar Vocab 0.6 Released</title>
    <link>http://www.madabar.com/blog/python/madabar_vocab/madabar_vocab_0.6_release.html</link>
    <description>
&lt;p&gt;The fifth official release of Madabar Vocab (v0.6) is available on the 
&lt;a href=&quot;/madabar_vocab/download/&quot;&gt;Download page&lt;/a&gt;.&lt;/p&gt;

&lt;h2&gt;Highlights&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;duplicate answers are prevented in multiple choice quiz mode&lt;/li&gt;
  &lt;li&gt;changed item progress bar to indicate number of items completed&lt;/li&gt;
  &lt;li&gt;fixed problem with adding shortcuts (thanks Karl!)&lt;/li&gt;
  &lt;li&gt;fixed problem reading WQL files with multi-word values (thanks Kate!)&lt;/li&gt;
  &lt;li&gt;fixed problem where dirty bit was not getting set when table was modified&lt;/li&gt;
  &lt;li&gt;fixed a few other little bugs&lt;/li&gt;
&lt;/ul&gt;
</description>
  </item>
<item>
    <title>Third-party Sample Word Lists</title>
    <link>http://www.madabar.com/blog/python/madabar_vocab/third_party_sample_wordlists.html</link>
    <description>
&lt;p&gt;There are some &lt;a href=&quot;http://www.peterandlinda.com/kwordquiz/vocabularies.php&quot;&gt;vocab lists in WQL format available on the KWordQuiz site&lt;/a&gt;. These can be opened in Madabar Vocab. Extra fields can then be added if desired.&lt;/p&gt;

&lt;p&gt;On that page there are vocab sets for French, German, Italian, Portugese,
Spanish, Swedish, and Polish. There are also lists for US states and capitals,
US presidents, the chemical elements and Nobel laureates. They are all 
copyright Peter B Hedlund, and unfortunately he does not state what license 
terms they are released under.&lt;/p&gt;

&lt;p&gt;I&apos;d like to do a table of the elements within Madabar Vocab as an example of
how you can take advantage of having more than two columns. You could have a 
field for name, a field for the symbol and a field for the atomic number. This
would enable you to test yourself on the numbers given symbols, or names given 
symbols, or names given numbers, etc. It also means you can sort on the 
different aspects.&lt;/p&gt;
</description>
  </item>
<item>
    <title>Madabar Vocab 0.5 Released</title>
    <link>http://www.madabar.com/blog/python/madabar_vocab/madabar_vocab_0.5_release.html</link>
    <description>
&lt;p&gt;The fourth official release of Madabar Vocab (v0.5) is available on the 
&lt;a href=&quot;/madabar_vocab/download/&quot;&gt;Download page&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This is just a minor bugfix release. It fixes up the Find dialog. 
It also fixes some problems with Python 2.2 and Qt 3.1, so it should work on 
Red Hat Linux 9 now.&lt;/p&gt;

&lt;p&gt;I discovered a GPL packaged version of PyQt the other day. This means that
you can use Madabar Vocab under Windows now! Just follow the instructions on
the &lt;a href=&quot;/madabar_vocab/download/&quot;&gt;Download page&lt;/a&gt;.
&lt;/p&gt;
</description>
  </item>
<item>
    <title>GPL packaged PyQt for Windows</title>
    <link>http://www.madabar.com/blog/python/pyqt/pyqtgpl_for_windows.html</link>
    <description>
&lt;p&gt;I discovered a GPL packaged PyQt for Windows. It&apos;s available here:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.quadgames.com/download/pythonqt/&quot;&gt;http://www.quadgames.com/download/pythonqt/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;It&apos;s very simple to install - just run the executable and follow the prompts.&lt;/p&gt;

&lt;p&gt;At last! Full free cross-platform PyQt is now a reality. It&apos;s a shame
that the &lt;a href=&quot;http://sourceforge.net/projects/pyqt-mac/&quot;&gt;pyqt-mac&lt;/a&gt; package is so large (&gt; 60MB) though.&lt;/p&gt;
</description>
  </item>
<item>
    <title>Parsed Greek 1 John</title>
    <link>http://www.madabar.com/blog/python/madabar_vocab/parsed_greek_1john.html</link>
    <description>
&lt;p&gt;I&apos;ve posted a sample word list for Madabar Vocab that I generated
from James Tauber&apos;s &lt;a href=&quot;http://jtauber.com/morphgnt/&quot;&gt;CCAT Morphological Greek New Testament&lt;/a&gt;. See the new sample &lt;a href=&quot;/madabar_vocab/vocab_lists/&quot;&gt;Vocab Lists&lt;/a&gt; page for more info.
&lt;/p&gt;

&lt;p&gt;Although this doesn&apos;t have the translations at this stage, it could be quite useful as an aid to studying New Testament Greek. You can easily test yourself on a verb paradigm for instance. Or you could sort on nouns, select them and test yourself just on nouns. (The forthcoming query select feature will make this a bit more convenient.)
&lt;/p&gt;

&lt;p&gt;I&apos;ve also included fields for word frequency and lemma (root) frequency. This is really handy together with the sorting feature within Madabar Vocab. You can sort on root frequency and learn the most common words first. 
&lt;/p&gt;

&lt;p&gt;In trying this out I discovered a bug in the sort dialog code (sort_dialog.py). It is quite easy to fix: just change Category to Field in sort_dialog.py. The fix will be included in the next release, but I want to do some more changes before the next release.
&lt;/p&gt;
</description>
  </item>
<item>
    <title>Madabar Vocab 0.4 Released</title>
    <link>http://www.madabar.com/blog/python/madabar_vocab/madabar_vocab_0.4_release.html</link>
    <description>
&lt;p&gt;The third official release of Madabar Vocab (v0.4) is available on the 
&lt;a href=&quot;/madabar_vocab/download/&quot;&gt;Download page&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This is still an alpha release, so you may encounter a message box with
an ugly error message if you find a dark corner.&lt;/p&gt;

&lt;h2&gt;Release Highlights&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;Support for reading in WordQuiz Language (.wql) word lists&lt;/li&gt;
  &lt;li&gt;Some compatibility fixes for PyQt 3.14, Qt 3.1 and Python 2.2
      (the fixes have not been tested on those platforms yet)
  &lt;/li&gt;
&lt;/ul&gt;
</description>
  </item>
<item>
    <title>Madabar Vocab 0.3 Released</title>
    <link>http://www.madabar.com/blog/python/madabar_vocab/madabar_vocab_0.3_release.html</link>
    <description>
&lt;p&gt;The second official release of Madabar Vocab (v0.3) is available on the 
&lt;a href=&quot;/madabar_vocab/download/&quot;&gt;Download page&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This is still an alpha release, but it makes a .backup file whenever you
save a file now, so you will probably be able to recover your data file if
their is a critical error.&lt;/p&gt;

&lt;h2&gt;Release Highlights&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;New data file plugin architecture 
      (Adding support for new file formats is a bit simpler now.)&lt;/li&gt;
  &lt;li&gt;More graceful handling of critical errors&lt;/li&gt;
  &lt;li&gt;A bug that caused a crash when opening certain files has been fixed&lt;/li&gt;
  &lt;li&gt;Categories are now known as Fields&lt;/li&gt;
  &lt;li&gt;Better error checking&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Enjoy!&lt;/p&gt;
</description>
  </item>
<item>
    <title>First official release of Madabar Vocab</title>
    <link>http://www.madabar.com/blog/python/madabar_vocab/first_official_release.html</link>
    <description>
&lt;p&gt;The first official release of Madabar Vocab (v0.2) is available on the 
&lt;a href=&quot;/madabar_vocab/download/&quot;&gt;Download page&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Note: This is only an alpha release, which means the program may
crash under certain circumstances and it awaits some more polishing
and feature additions.&lt;/p&gt;
</description>
  </item>
<item>
    <title>Hello World</title>
    <link>http://www.madabar.com/blog/first_post.html</link>
    <description>
&lt;p&gt;Welcome to my blog.&lt;/p&gt;

&lt;p&gt;In honour of this inaugural post, the obligatory...&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://en.wikipedia.org/wiki/Hello_world&quot;&gt;Hello, world!&lt;/a&gt;&lt;/p&gt;

</description>
  </item>
   </channel>
</rss>