<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>uct</title>
  <link rel="alternate" type="text/html" href="http://tumbleweed.org.za/tags/uct"/>
  <link rel="self" type="application/atom+xml" href="http://tumbleweed.org.za/taxonomy/term/77/atom/feed"/>
  <id>http://tumbleweed.org.za/taxonomy/term/77/atom/feed</id>
  <updated>2008-01-02T19:55:11+00:00</updated>
  <entry>
    <title>Madwifi regdomain issues</title>
    <link rel="alternate" type="text/html" href="http://tumbleweed.org.za/2008/02/11/madwifi-regdomain-issues" />
    <id>http://tumbleweed.org.za/2008/02/11/madwifi-regdomain-issues</id>
    <published>2008-02-11T22:39:49+00:00</published>
    <updated>2008-09-19T00:12:58+00:00</updated>
    <author>
      <name>tumbleweed</name>
    </author>
    <category term="countrycode" />
    <category term="fcc" />
    <category term="linux" />
    <category term="macbook" />
    <category term="madwifi" />
    <category term="regdomain" />
    <category term="technical" />
    <category term="uct" />
    <category term="wireless" />
    <summary type="html"><![CDATA[<p>The <a href="http://www.cs.uct.ac.za/"><span class="caps"><span class="caps">CS</span></span> Department</a> at <a href="http://www.uct.ac.za/"><span class="caps"><span class="caps">UCT</span></span></a> has some Wireless APs on <a href="http://en.wikipedia.org/wiki/List_of_WLAN_channels">Channel 13</a>. This is quite cool (for geeky reasons), but my MacBook (purchased in the <span class="caps"><span class="caps">US</span></span>) did not agree. As far as it is concerned, the only 802.11g channels in existence&nbsp;are&nbsp;1-11.</p>

<p>The reason for this is that my <a href="http://www.atheros.com/">Atheros</a> (<a href="http://madwifi.org/">madwifi</a>) network card is a <a href="http://en.wikipedia.org/wiki/Software-defined_radio">software-defined radio</a>. Atheros interprets the <span class="caps"><span class="caps">FCC</span></span> regulations to mean that it cannot provide an Open Source driver for this card, allowing it broadcast on any random channel. Thus the madwifi driver contains a binary <span class="caps"><span class="caps">HAL</span></span>, produced by Atheros, which is responsible for regulating frequencies and power levels. (This <span class="caps"><span class="caps">HAL</span></span> has been <a href="http://madwifi.org/wiki/About/ath5k">reverse-engineered</a> by the OpenBSD people, but not for my&nbsp;card,&nbsp;unfortunately).</p>

<p>The card has two values stored in it&#8217;s <span class="caps"><span class="caps">EEPROM</span></span>, a &#8220;countrycode&#8221;, and a &#8220;regdomain&#8221;. The <a href="http://madwifi.org/wiki/UserDocs/CountryCode">countrycode</a> is overrideable in software (you <span class="geshifilter"><code class="geshifilter-text">modprobe ath_pci countrycode=710</code></span>), but only if the countrycode you specify is valid for the card&#8217;s regdomain. Some cards have a 0x00 or 0xFF regdomain (wildcard values), but mine had 0x64. This meant that whenever I tried to specify a country code, I&#8217;d get an error, and the madwifi module would refuse&nbsp;to&nbsp;load:</p>

<div class="geshifilter"><div class="text geshifilter-text" style="font-family:monospace;">Feb 11 11:34:11 beethoven kernel: [ 2047.669023] MadWifi: ath_getchannels: Unable to collect channel list from <span class="caps"><span class="caps">HAL</span></span>; regdomain likely 100 country code 710</div></div>

<p>There has been some success with changing the regdomain in the <span class="caps"><span class="caps">EEPROM</span></span>, using the hard-to-find <span class="geshifilter"><code class="geshifilter-text">ar5k</code></span> utility (or possible the <span class="geshifilter"><code class="geshifilter-text">ath_info</code></span> utility?). However, <em>again</em> this didn&#8217;t work with my model. But I found <a href="https://lists.ath5k.org/pipermail/ath5k-devel/2007-December/000371.html">an e-mail</a> from somebody who&#8217;d been playing with similar stuff. I mailed Salvatore, and he replied almost instantly, pointing me to a <a href="http://www.tamos.com/products/commwifi/faq.php#q75">public Windows utility</a> for changing regdomains. It depends on a special driver, available in the demo of &#8220;<a href="http://www.tamos.com/products/commwifi/">CommView for Wireless</a>&#8221;.</p>

<p>I installed Windows in my swap partition (it&#8217;s not an operating system I normally have around). (Naturally, I forgot to have an Ubuntu <span class="caps"><span class="caps">CD</span></span> handy, to rebuild my grub, but that was easily remedied.). After a few blue screens of death (install all necessary drivers first), I got my regdomain changed to 0x37, which is the regdomain for South Africa <span class="amp">&amp;</span>&nbsp;Europe.</p>

<p>Now, I&#8217;m writing this from a couch in the <span class="caps"><span class="caps">CS</span></span> department, using a channel 13 <span class="caps"><span class="caps">AP</span></span>.&nbsp;Success.</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>The <a href="http://www.cs.uct.ac.za/"><span class="caps">CS</span> Department</a> at <a href="http://www.uct.ac.za/"><span class="caps">UCT</span></a> has some Wireless APs on <a href="http://en.wikipedia.org/wiki/List_of_WLAN_channels">Channel 13</a>. This is quite cool (for geeky reasons), but my MacBook (purchased in the <span class="caps">US</span>) did not agree. As far as it is concerned, the only 802.11g channels in existence are&nbsp;1-11.</p>

<p>The reason for this is that my <a href="http://www.atheros.com/">Atheros</a> (<a href="http://madwifi.org/">madwifi</a>) network card is a <a href="http://en.wikipedia.org/wiki/Software-defined_radio">software-defined radio</a>. Atheros interprets the <span class="caps">FCC</span> regulations to mean that it cannot provide an Open Source driver for this card, allowing it broadcast on any random channel. Thus the madwifi driver contains a binary <span class="caps">HAL</span>, produced by Atheros, which is responsible for regulating frequencies and power levels. (This <span class="caps">HAL</span> has been <a href="http://madwifi.org/wiki/About/ath5k">reverse-engineered</a> by the OpenBSD people, but not for my card,&nbsp;unfortunately).</p>

<p>The card has two values stored in it&#8217;s <span class="caps">EEPROM</span>, a &#8220;countrycode&#8221;, and a &#8220;regdomain&#8221;. The <a href="http://madwifi.org/wiki/UserDocs/CountryCode">countrycode</a> is overrideable in software (you <code>modprobe ath_pci countrycode=710</code>), but only if the countrycode you specify is valid for the card&#8217;s regdomain. Some cards have a 0x00 or 0xFF regdomain (wildcard values), but mine had 0x64. This meant that whenever I tried to specify a country code, I&#8217;d get an error, and the madwifi module would refuse to&nbsp;load:</p>

<div class="geshifilter"><div class="text geshifilter-text" style="font-family:monospace;">Feb 11 11:34:11 beethoven kernel: [ 2047.669023] MadWifi: ath_getchannels: Unable to collect channel list from <span class="caps">HAL</span>; regdomain likely 100 country code 710</div></div>

<p>There has been some success with changing the regdomain in the <span class="caps">EEPROM</span>, using the hard-to-find <code>ar5k</code> utility (or possible the <code>ath_info</code> utility?). However, <em>again</em> this didn&#8217;t work with my model. But I found <a href="https://lists.ath5k.org/pipermail/ath5k-devel/2007-December/000371.html">an e-mail</a> from somebody who&#8217;d been playing with similar stuff. I mailed Salvatore, and he replied almost instantly, pointing me to a <a href="http://www.tamos.com/products/commwifi/faq.php#q75">public Windows utility</a> for changing regdomains. It depends on a special driver, available in the demo of &#8220;<a href="http://www.tamos.com/products/commwifi/">CommView for Wireless</a>&#8221;.</p>

<p>I installed Windows in my swap partition (it&#8217;s not an operating system I normally have around). (Naturally, I forgot to have an Ubuntu <span class="caps">CD</span> handy, to rebuild my grub, but that was easily remedied.). After a few blue screens of death (install all necessary drivers first), I got my regdomain changed to 0x37, which is the regdomain for South Africa <span class="amp">&amp;</span>&nbsp;Europe.</p>

<p>Now, I&#8217;m writing this from a couch in the <span class="caps">CS</span> department, using a channel 13 <span class="caps">AP</span>.&nbsp;Success.</p>
    ]]></content>
  </entry>
  <entry>
    <title>Graduation isn&#039;t straightforward</title>
    <link rel="alternate" type="text/html" href="http://tumbleweed.org.za/2007/12/03/graduation-isnt-straightforward" />
    <id>http://tumbleweed.org.za/2007/12/03/graduation-isnt-straightforward</id>
    <published>2007-12-03T16:14:25+00:00</published>
    <updated>2008-01-02T19:55:15+00:00</updated>
    <author>
      <name>tumbleweed</name>
    </author>
    <category term="graduation" />
    <category term="me" />
    <category term="red-tape" />
    <category term="uct" />
    <category term="university" />
    <summary type="html"><![CDATA[<p>I haven&#8217;t blogged in a while, since exams are now over, and I have less urgent procrastination needs. I maintained an average of more than 1 post / day at the hight of my studying :-(. In fact, I&#8217;ve been recovering from exams, and trying to catch up with the rest of life that I had to put on hold all year. And more recently, an insane <span class="caps"><span class="caps">RSS</span></span> feed and e-mail build-up from a week of ignoring them while I was catching up with&nbsp;my&nbsp;life.</p>

<p>So, no posts doesn&#8217;t mean life has been uneventful.&nbsp;I&#8217;ve&nbsp;been:</p>

<ul>
<li>out almost every night&nbsp;last&nbsp;week</li>
<li>picked up <a href="http://cityrock.co.za/">wall climbing</a> again (thanks Ken) and through it found some people I haven&#8217;t seen in ages&nbsp;(Hi&nbsp;Chris)</li>
<li>elected the Chairman of <a href="http://www.clug.org.za/" title="Western Cape Linux User Group"><span class="caps"><span class="caps">CLUG</span></span></a></li>
<li>involved in a spat with <a href="http://www.its.uct.ac.za/" title="UCT's IT Services Department"><span class="caps"><span class="caps">ICTS</span></span></a> (the topic of a&nbsp;future&nbsp;post)</li>
<li>spending at least a day encoding <a href="http://www.geekdinner.org.za/">GeekDinner</a> videos (using Makefiles to allow encode video in parallel on dual core machines, and using a handful of machines to do the work saves a lot of time),&nbsp;and&nbsp;finally</li>
<li>almost not graduating. (the rather ranty point of&nbsp;this&nbsp;post)</li>
</ul>

<p>This was my third your of an Information Technology BSc (specifically Computer Science and Electrical Engineering). I&#8217;ve had good results most of the time, but I&#8217;m not class&nbsp;medal&nbsp;material.</p>

<p>In first year, I slept through almost all of my Statistics lectures (3rd lecture in day, after an insanely early start - I was usually exhausted, and well primed for sleeping). Come the end of the year, somehow, I didn&#8217;t realise how meagre the exam&#8217;s formula sheet was going to be, and failed the course <strong>horribly</strong>. I swore I&#8217;d never do Stats again, making up the points with another, more interesting course. I didn&#8217;t get a chance to do this in 2nd year because I failed and had to repeat another course due to bad timing between deadlines and my best friend&#8217;s tragic death in a&nbsp;hiking&nbsp;accident.</p>

<p>This year, I had a reasonably heavy course load, with the 3rd year <span class="caps"><span class="caps">CS</span></span> courses, and a composite <span class="caps"><span class="caps">EE</span></span> course made up of two 3rd year, and a 4th year course. On top of this, I had to fit in something extra to make up Stats. The only extra course I could schedule was&#8230; Stats. I spent an afternoon running around, and computing schedules, but there was&nbsp;no&nbsp;alternative.</p>

<p>This time around, I actually enjoyed the Stats - it was (partly) very well lectured, and I already knew the basics of the course-work. I read the textbook, crammed the necessary formulae for the exam, and wrote it, all a monstrous 6-hrs-of-exams day. And that, I thought,&nbsp;was&nbsp;that.</p>

<p>I kept myself busy for the next couple of weeks, and then wondered to <span class="caps"><span class="caps">UCT</span></span> on results-day, to see what I&#8217;d got. I was top of the (admittedly small) class for my <span class="caps"><span class="caps">EE</span></span>, and scraped a 1st in <span class="caps"><span class="caps">CS</span></span>, great! Next I head to stats, and I see &#8220;<span class="caps"><span class="caps">DPR</span></span>&#8221; next to my name instead of&nbsp;a&nbsp;mark.</p>

<p><span class="caps"><span class="caps">DPR</span></span> means that I didn&#8217;t complete the require coursework. The list of who got <span class="caps"><span class="caps">DP</span></span> (Duly Performed), and who didn&#8217;t (<span class="caps"><span class="caps">DPR</span></span>) goes up a week or so before exams begin. Somehow I hadn&#8217;t noticed that I hadn&#8217;t got <span class="caps"><span class="caps">DP</span></span> (I&#8217;m pretty damn sure that I checked the relevant noticeboard, I&#8217;m good like that). <span class="caps"><span class="caps">DPR</span></span> means don&#8217;t write the exam, it won&#8217;t get marked, you&#8217;ve already failed. But somehow it&#8217;d escaped me, and I&#8217;d written it, and now I was not going to graduate. I couldn&#8217;t believe that I was DPRed, but it was possible - I&#8217;d screwed it up before, and could have failed all the tests (I&#8217;d hadn&#8217;t seen all the test&nbsp;results&nbsp;yet).</p>

<p>So, the next morning, I raced off to see the Stats course convenor. We sifted through paperwork, and found the problem - I didn&#8217;t have a mark for one of the tests, and for <span class="caps"><span class="caps">DP</span></span> you need to write all the tests. Eventually we found the attendance slip that proved I had written it, which meant either I&#8217;d escaped the test venue with my test-paper, or the department had lost it before it was marked. Fortunately, my exam had been marked, I&#8217;d passed, and they believed that I&#8217;d written the test. So after an agonising day&#8217;s wait, I heard that the Head of Department had approved passing me, as if I&#8217;d missed that test on medical grounds. I&#8217;ve since heard that University policy dictates that the department must take the blame unless they can prove it was me&nbsp;(it&nbsp;wasn&#8217;t).</p>

<p>Phew.</p>

<p>That doesn&#8217;t mean everything is solved yet, I was recommended to do an elective in 1st year, that is now no longer sanctioned for my course. It usually causes me hassles during registration, and might come up again now, but I think I can safely assume&nbsp;I&#8217;m&nbsp;graduating&#8230;</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>I haven&#8217;t blogged in a while, since exams are now over, and I have less urgent procrastination needs. I maintained an average of more than 1 post / day at the hight of my studying :-(. In fact, I&#8217;ve been recovering from exams, and trying to catch up with the rest of life that I had to put on hold all year. And more recently, an insane <span class="caps">RSS</span> feed and e-mail build-up from a week of ignoring them while I was catching up with my&nbsp;life.</p>

<p>So, no posts doesn&#8217;t mean life has been uneventful. I&#8217;ve&nbsp;been:</p>

<ul>
<li>out almost every night last&nbsp;week</li>
<li>picked up <a href="http://cityrock.co.za/">wall climbing</a> again (thanks Ken) and through it found some people I haven&#8217;t seen in ages (Hi&nbsp;Chris)</li>
<li>elected the Chairman of <a href="http://www.clug.org.za/" title="Western Cape Linux User Group"><span class="caps">CLUG</span></a></li>
<li>involved in a spat with <a href="http://www.its.uct.ac.za/" title="UCT's IT Services Department"><span class="caps">ICTS</span></a> (the topic of a future&nbsp;post)</li>
<li>spending at least a day encoding <a href="http://www.geekdinner.org.za/">GeekDinner</a> videos (using Makefiles to allow encode video in parallel on dual core machines, and using a handful of machines to do the work saves a lot of time), and&nbsp;finally</li>
<li>almost not graduating. (the rather ranty point of this&nbsp;post)</li>
</ul>

<p>This was my third your of an Information Technology BSc (specifically Computer Science and Electrical Engineering). I&#8217;ve had good results most of the time, but I&#8217;m not class medal&nbsp;material.</p>

<p>In first year, I slept through almost all of my Statistics lectures (3rd lecture in day, after an insanely early start - I was usually exhausted, and well primed for sleeping). Come the end of the year, somehow, I didn&#8217;t realise how meagre the exam&#8217;s formula sheet was going to be, and failed the course <strong>horribly</strong>. I swore I&#8217;d never do Stats again, making up the points with another, more interesting course. I didn&#8217;t get a chance to do this in 2nd year because I failed and had to repeat another course due to bad timing between deadlines and my best friend&#8217;s tragic death in a hiking&nbsp;accident.</p>

<p>This year, I had a reasonably heavy course load, with the 3rd year <span class="caps">CS</span> courses, and a composite <span class="caps">EE</span> course made up of two 3rd year, and a 4th year course. On top of this, I had to fit in something extra to make up Stats. The only extra course I could schedule was&#8230; Stats. I spent an afternoon running around, and computing schedules, but there was no&nbsp;alternative.</p>

<p>This time around, I actually enjoyed the Stats - it was (partly) very well lectured, and I already knew the basics of the course-work. I read the textbook, crammed the necessary formulae for the exam, and wrote it, all a monstrous 6-hrs-of-exams day. And that, I thought, was&nbsp;that.</p>

<p>I kept myself busy for the next couple of weeks, and then wondered to <span class="caps">UCT</span> on results-day, to see what I&#8217;d got. I was top of the (admittedly small) class for my <span class="caps">EE</span>, and scraped a 1st in <span class="caps">CS</span>, great! Next I head to stats, and I see &#8220;<span class="caps">DPR</span>&#8221; next to my name instead of a&nbsp;mark.</p>

<p><span class="caps">DPR</span> means that I didn&#8217;t complete the require coursework. The list of who got <span class="caps">DP</span> (Duly Performed), and who didn&#8217;t (<span class="caps">DPR</span>) goes up a week or so before exams begin. Somehow I hadn&#8217;t noticed that I hadn&#8217;t got <span class="caps">DP</span> (I&#8217;m pretty damn sure that I checked the relevant noticeboard, I&#8217;m good like that). <span class="caps">DPR</span> means don&#8217;t write the exam, it won&#8217;t get marked, you&#8217;ve already failed. But somehow it&#8217;d escaped me, and I&#8217;d written it, and now I was not going to graduate. I couldn&#8217;t believe that I was DPRed, but it was possible - I&#8217;d screwed it up before, and could have failed all the tests (I&#8217;d hadn&#8217;t seen all the test results&nbsp;yet).</p>

<p>So, the next morning, I raced off to see the Stats course convenor. We sifted through paperwork, and found the problem - I didn&#8217;t have a mark for one of the tests, and for <span class="caps">DP</span> you need to write all the tests. Eventually we found the attendance slip that proved I had written it, which meant either I&#8217;d escaped the test venue with my test-paper, or the department had lost it before it was marked. Fortunately, my exam had been marked, I&#8217;d passed, and they believed that I&#8217;d written the test. So after an agonising day&#8217;s wait, I heard that the Head of Department had approved passing me, as if I&#8217;d missed that test on medical grounds. I&#8217;ve since heard that University policy dictates that the department must take the blame unless they can prove it was me (it&nbsp;wasn&#8217;t).</p>

<p>Phew.</p>

<p>That doesn&#8217;t mean everything is solved yet, I was recommended to do an elective in 1st year, that is now no longer sanctioned for my course. It usually causes me hassles during registration, and might come up again now, but I think I can safely assume I&#8217;m&nbsp;graduating&#8230;</p>
    ]]></content>
  </entry>
  <entry>
    <title>CS Lecturers and the real world</title>
    <link rel="alternate" type="text/html" href="http://tumbleweed.org.za/2007/03/24/cs-lecturers-and-the-real-world" />
    <id>http://tumbleweed.org.za/2007/03/24/cs-lecturers-and-the-real-world</id>
    <published>2007-03-24T10:58:40+00:00</published>
    <updated>2008-01-02T19:55:11+00:00</updated>
    <author>
      <name>tumbleweed</name>
    </author>
    <category term="idiots" />
    <category term="me" />
    <category term="uct" />
    <summary type="html"><![CDATA[<p>People complain that I&#8217;m too fixated on being right. Sure I am, but I <em>am</em> right,&nbsp;dammit!&nbsp;:-)</p>

<p>In my <span class="caps"><span class="caps">CSC3002F</span></span> lecture yesterday, our Networks lecturer asked the class to name an application protocol that uses <a href="http://en.wikipedia.org/wiki/User_Datagram_Protocol" title="User Datagram Protocol"><span class="caps"><span class="caps">UDP</span></span></a>. Silence. Eventually, I piped up &#8220;<a href="http://en.wikipedia.org/wiki/Domain_name_system" title="Domain Name System"><span class="caps"><span class="caps">DNS</span></span></a>&#8221;, as I get very bored in slow lectures, and just want them to get a&nbsp;move&nbsp;on&#8230;</p>

<p>No, he doesn&#8217;t&nbsp;like&nbsp;that.</p>

<p><span class="caps"><span class="caps">OK</span></span> - maybe <span class="caps"><span class="caps">DNS</span></span> isn&#8217;t an <em>application</em> protocol, I mean, it&#8217;s a function of the <span class="caps"><span class="caps">IP</span></span> network&#8230; So I suggest <a href="http://en.wikipedia.org/wiki/VoIP" title="Voice over IP">VoIP</a>.</p>

<p><span class="dquo"><span class="dquo">&#8220;</span></span>Am&nbsp;I&nbsp;sure?&#8221;</p>

<p><span class="dquo"><span class="dquo">&#8220;</span></span>Pretty&nbsp;damn&nbsp;sure!&#8221;</p>

<p><span class="dquo"><span class="dquo">&#8220;</span></span>Well, I think you&#8217;re wrong, it would be <span class="caps"><span class="caps">TCP</span></span>, because you don&#8217;t want voice packets arriving out of order. The answer is <span class="caps"><span class="caps">SNMP</span></span>, as I showed you in my foil&nbsp;on&nbsp;tuesday.&#8221;</p>

<p>GRrrr! Some lecturers need to get out into the real world, and see what people are doing. VoIP is considered the textbook example for <span class="caps"><span class="caps">UDP</span></span>, packets can be lost without too much trouble (humans have built-in error detection and correction), out of order packets can be dropped (for the same reason), and any attempt at flow control would be a problem (you&#8217;d need to&nbsp;change&nbsp;codec).</p>
    ]]></summary>
    <content type="html"><![CDATA[<p>People complain that I&#8217;m too fixated on being right. Sure I am, but I <em>am</em> right, dammit!&nbsp;:-)</p>

<p>In my <span class="caps">CSC3002F</span> lecture yesterday, our Networks lecturer asked the class to name an application protocol that uses <a href="http://en.wikipedia.org/wiki/User_Datagram_Protocol" title="User Datagram Protocol"><span class="caps">UDP</span></a>. Silence. Eventually, I piped up &#8220;<a href="http://en.wikipedia.org/wiki/Domain_name_system" title="Domain Name System"><span class="caps">DNS</span></a>&#8221;, as I get very bored in slow lectures, and just want them to get a move&nbsp;on&#8230;</p>

<p>No, he doesn&#8217;t like&nbsp;that.</p>

<p><span class="caps">OK</span> - maybe <span class="caps">DNS</span> isn&#8217;t an <em>application</em> protocol, I mean, it&#8217;s a function of the <span class="caps">IP</span> network&#8230; So I suggest <a href="http://en.wikipedia.org/wiki/VoIP" title="Voice over IP">VoIP</a>.</p>

<p><span class="dquo">&#8220;</span>Am I&nbsp;sure?&#8221;</p>

<p><span class="dquo">&#8220;</span>Pretty damn&nbsp;sure!&#8221;</p>

<p><span class="dquo">&#8220;</span>Well, I think you&#8217;re wrong, it would be <span class="caps">TCP</span>, because you don&#8217;t want voice packets arriving out of order. The answer is <span class="caps">SNMP</span>, as I showed you in my foil on&nbsp;tuesday.&#8221;</p>

<p>GRrrr! Some lecturers need to get out into the real world, and see what people are doing. VoIP is considered the textbook example for <span class="caps">UDP</span>, packets can be lost without too much trouble (humans have built-in error detection and correction), out of order packets can be dropped (for the same reason), and any attempt at flow control would be a problem (you&#8217;d need to change&nbsp;codec).</p>
    ]]></content>
  </entry>
</feed>
