<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	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/"
		>
<channel>
	<title>Comments on: Free to use C# fix for the Seeqpod.com API</title>
	<atom:link href="http://blog.headup.com/2009/03/free-to-use-c-fix-for-the-seeqpodcom-api/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.headup.com/2009/03/free-to-use-c-fix-for-the-seeqpodcom-api/</link>
	<description>Semantic Web, Blog widgets, site plugins and everything related to life at Headup.com</description>
	<lastBuildDate>Fri, 11 Mar 2011 05:23:47 +0000</lastBuildDate>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=</generator>
	<item>
		<title>By: eko882002</title>
		<link>http://blog.headup.com/2009/03/free-to-use-c-fix-for-the-seeqpodcom-api/comment-page-1/#comment-60</link>
		<dc:creator>eko882002</dc:creator>
		<pubDate>Sat, 07 Nov 2009 00:53:38 +0000</pubDate>
		<guid isPermaLink="false">http://blog.headup.com/?p=418#comment-60</guid>
		<description>I&#039;m a total convert to FireFox having run IE for about 10 years! Oh well, I&#039;m making up for lost time time now. I run about 5 add-ons inclusing Fire.FM which is just awesome! Rocking on!</description>
		<content:encoded><![CDATA[<p>I&#8217;m a total convert to FireFox having run IE for about 10 years! Oh well, I&#8217;m making up for lost time time now. I run about 5 add-ons inclusing Fire.FM which is just awesome! Rocking on!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: mike</title>
		<link>http://blog.headup.com/2009/03/free-to-use-c-fix-for-the-seeqpodcom-api/comment-page-1/#comment-59</link>
		<dc:creator>mike</dc:creator>
		<pubDate>Tue, 28 Apr 2009 12:42:54 +0000</pubDate>
		<guid isPermaLink="false">http://blog.headup.com/?p=418#comment-59</guid>
		<description>my dtunes on my phone is still eefed up does anyone know how i can go back to my happy free to download music life on my i phone 3g. seeqpod is totally not even loading anymore . somebody fix it please im begging you.</description>
		<content:encoded><![CDATA[<p>my dtunes on my phone is still eefed up does anyone know how i can go back to my happy free to download music life on my i phone 3g. seeqpod is totally not even loading anymore . somebody fix it please im begging you.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: LordKain</title>
		<link>http://blog.headup.com/2009/03/free-to-use-c-fix-for-the-seeqpodcom-api/comment-page-1/#comment-58</link>
		<dc:creator>LordKain</dc:creator>
		<pubDate>Thu, 16 Apr 2009 15:48:20 +0000</pubDate>
		<guid isPermaLink="false">http://blog.headup.com/?p=418#comment-58</guid>
		<description>Hi Liam, Hi Jim,

You can share code PHP?</description>
		<content:encoded><![CDATA[<p>Hi Liam, Hi Jim,</p>
<p>You can share code PHP?</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Liam</title>
		<link>http://blog.headup.com/2009/03/free-to-use-c-fix-for-the-seeqpodcom-api/comment-page-1/#comment-57</link>
		<dc:creator>Liam</dc:creator>
		<pubDate>Tue, 14 Apr 2009 21:58:13 +0000</pubDate>
		<guid isPermaLink="false">http://blog.headup.com/?p=418#comment-57</guid>
		<description>Hi there Jim,

I also wrestled with this problem in PHP before finally finding that I had to include a trailing slash on the request URL. Annoying!</description>
		<content:encoded><![CDATA[<p>Hi there Jim,</p>
<p>I also wrestled with this problem in PHP before finally finding that I had to include a trailing slash on the request URL. Annoying!</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeremy Daley</title>
		<link>http://blog.headup.com/2009/03/free-to-use-c-fix-for-the-seeqpodcom-api/comment-page-1/#comment-56</link>
		<dc:creator>Jeremy Daley</dc:creator>
		<pubDate>Thu, 02 Apr 2009 14:32:57 +0000</pubDate>
		<guid isPermaLink="false">http://blog.headup.com/?p=418#comment-56</guid>
		<description>I&#039;m not really sure what it could be. I tried using the same method as the search method (which works), only substituting the &quot;/api/v0.2/music/cache/[mp3_url_id]&quot;. Since that didn&#039;t work, I then sniffed out the HTTP POST header data on seeqpod&#039;s actual site. Instead of setting &quot;Seeqpod-uid&quot; headers, it was sending &quot;Seeqpod_uid&quot; POST variables. From that, this is what i wrote:

private string getCachedFile(string mp3ID, string origSearch)
{
DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, 0);
TimeSpan span = DateTime.UtcNow - epoch;
int elapsed = (int)span.TotalSeconds;
string timestamp = Convert.ToString(elapsed);

HMACSHA1 hmac = new HMACSHA1();
hmac.Key = Encoding.UTF8.GetBytes(key);
string data = &quot;/api/v0.2/music/cache/&quot; + mp3ID + &quot;/&quot; + timestamp;
byte[] call = hmac.ComputeHash(Encoding.UTF8.GetBytes(data));
string sCall = BytesToHex(call);

string strResponse;

string variables = &quot;Seeqpod_uid=&quot; + uid + &quot;&amp;Seeqpod_call_signature=&quot; + sCall + &quot;&amp;Seeqpod_timestamp=&quot; + timestamp;
byte[] bytes = Encoding.ASCII.GetBytes(variables);

HttpWebRequest request = (HttpWebRequest)WebRequest.Create(&quot;http://www.seeqpod.com/api/v0.2/music/cache/&quot; + mp3ID);
request.Method = &quot;POST&quot;;
request.ContentType = &quot;application/x-www-form-urlencoded&quot;;
request.ContentLength = bytes.Length;

Stream os = request.GetRequestStream();
os.Write(bytes, 0, bytes.Length);
os.Close();

var response = request.GetResponse();

StreamReader readStream = new StreamReader(response.GetResponseStream());
strResponse = readStream.ReadToEnd();
readStream.Close();
response.Close();

return strResponse;
}</description>
		<content:encoded><![CDATA[<p>I&#8217;m not really sure what it could be. I tried using the same method as the search method (which works), only substituting the &#8220;/api/v0.2/music/cache/[mp3_url_id]&#8220;. Since that didn&#8217;t work, I then sniffed out the HTTP POST header data on seeqpod&#8217;s actual site. Instead of setting &#8220;Seeqpod-uid&#8221; headers, it was sending &#8220;Seeqpod_uid&#8221; POST variables. From that, this is what i wrote:</p>
<p>private string getCachedFile(string mp3ID, string origSearch)<br />
{<br />
DateTime epoch = new DateTime(1970, 1, 1, 0, 0, 0, 0);<br />
TimeSpan span = DateTime.UtcNow &#8211; epoch;<br />
int elapsed = (int)span.TotalSeconds;<br />
string timestamp = Convert.ToString(elapsed);</p>
<p>HMACSHA1 hmac = new HMACSHA1();<br />
hmac.Key = Encoding.UTF8.GetBytes(key);<br />
string data = &#8220;/api/v0.2/music/cache/&#8221; + mp3ID + &#8220;/&#8221; + timestamp;<br />
byte[] call = hmac.ComputeHash(Encoding.UTF8.GetBytes(data));<br />
string sCall = BytesToHex(call);</p>
<p>string strResponse;</p>
<p>string variables = &#8220;Seeqpod_uid=&#8221; + uid + &#8220;&amp;Seeqpod_call_signature=&#8221; + sCall + &#8220;&amp;Seeqpod_timestamp=&#8221; + timestamp;<br />
byte[] bytes = Encoding.ASCII.GetBytes(variables);</p>
<p>HttpWebRequest request = (HttpWebRequest)WebRequest.Create(&#8220;http://www.seeqpod.com/api/v0.2/music/cache/&#8221; + mp3ID);<br />
request.Method = &#8220;POST&#8221;;<br />
request.ContentType = &#8220;application/x-www-form-urlencoded&#8221;;<br />
request.ContentLength = bytes.Length;</p>
<p>Stream os = request.GetRequestStream();<br />
os.Write(bytes, 0, bytes.Length);<br />
os.Close();</p>
<p>var response = request.GetResponse();</p>
<p>StreamReader readStream = new StreamReader(response.GetResponseStream());<br />
strResponse = readStream.ReadToEnd();<br />
readStream.Close();<br />
response.Close();</p>
<p>return strResponse;<br />
}</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jonas</title>
		<link>http://blog.headup.com/2009/03/free-to-use-c-fix-for-the-seeqpodcom-api/comment-page-1/#comment-55</link>
		<dc:creator>Jonas</dc:creator>
		<pubDate>Wed, 01 Apr 2009 07:18:01 +0000</pubDate>
		<guid isPermaLink="false">http://blog.headup.com/?p=418#comment-55</guid>
		<description>Could anyone help me, to implement a Java fix?
here is what ive done until now:

String uId = &quot;37f4dc9c6e435a790f4ebeb882a90d668b159b5d&quot;;
String apiK =&quot;6fcfb11f176038e0934c2d3a05fb1fd854122c49&quot;;
String timeStamp = String.valueOf(System.currentTimeMillis()/1000);
System.out.println(timeStamp);

String urlstr =  &quot;http://www.seeqpod.com/api/v0.2/music/search/&quot;+this.titel+&quot;/&quot;+timeStamp;

// the url part for the hmac
String hmacstr = &quot;/api/v0.2/music/search/&quot;+this.titel+&quot;/&quot;+timeStamp;

url = new URL(urlstr);
System.out.println(timeStamp);


//hmac
String sCall = Signature.calculateRFC2104HMAC(hmacstr, apiK);
System.out.println(sCall);



HttpURLConnection conn = (HttpURLConnection) url.openConnection();
//add header infos
conn.setRequestProperty(&quot;Seeqpod-uid&quot;, uId);
conn.setRequestProperty(&quot;Seeqpod-call-signature&quot;, sCall);
conn.setRequestProperty(&quot;Seeqpod-timestamp&quot;, timeStamp);
conn.connect();
//http status code
System.out.println(conn.getResponseCode());

/print the response
BufferedReader in = new BufferedReader(
                        new InputStreamReader(
                        conn.getInputStream()));

	            String inputLine;

	            while ((inputLine = in.readLine()) != null)
	                System.out.println(inputLine);
	            in.close();


-----------------------------------------------------------------
/// Generate the hmac sha-1 hex code
public static String calculateRFC2104HMAC(String data, String key)
throws java.security.SignatureException
{
String result;
try {

// get an hmac_sha1 key from the raw key bytes
SecretKeySpec signingKey = new SecretKeySpec(key.getBytes(), HMAC_SHA1_ALGORITHM);

// get an hmac_sha1 Mac instance and initialize with the signing key
Mac mac = Mac.getInstance(HMAC_SHA1_ALGORITHM);
mac.init(signingKey);

//compute the hmac on input data bytes
byte[] rawHmac = mac.doFinal(data.getBytes());

// base16-encode the hmac
result = Encoding.getHexString(rawHmac);
System.out.println(Encoding.EncodeBase16(rawHmac));



} catch (Exception e) {
throw new SignatureException(&quot;Failed to generate HMAC : &quot; + e.getMessage());
}
return result;
}


-----------------------------------------------------------
//// byte[] to HEX string
public static String getHexString(byte[] b){
	  String result = &quot;&quot;;
	  for (int i=0; i &lt; b.length; i++) {
	    result +=
	          Integer.toString( ( b[i] &amp; 0xff ) + 0x100, 16).substring( 1 );
	  }
	  return result;
	}

///----------------------------------------------------------

/* ***   another way to generate the hex
 private static final char[] kDigits = { &#039;0&#039;, &#039;1&#039;, &#039;2&#039;, &#039;3&#039;, &#039;4&#039;, &#039;5&#039;, &#039;6&#039;, &#039;7&#039;, &#039;8&#039;, &#039;9&#039;, &#039;a&#039;,
	      &#039;b&#039;, &#039;c&#039;, &#039;d&#039;, &#039;e&#039;, &#039;f&#039; };

	  public static char[] bytesToHex(byte[] raw) {
	    int length = raw.length;
	    char[] hex = new char[length * 2];
	    for (int i = 0; i &gt; 4;
	      int lowIndex = value &amp; 0x0f;
	      hex[i * 2 + 0] = kDigits[highIndex];
	      hex[i * 2 + 1] = kDigits[lowIndex];
	    }
	    return hex;
	  }
*/


-------------------------------
The error response i got was:
mismatched call signature


any ideas?

greets jonas

btw: sry 4 my bad english xD</description>
		<content:encoded><![CDATA[<p>Could anyone help me, to implement a Java fix?<br />
here is what ive done until now:</p>
<p>String uId = &#8220;37f4dc9c6e435a790f4ebeb882a90d668b159b5d&#8221;;<br />
String apiK =&#8221;6fcfb11f176038e0934c2d3a05fb1fd854122c49&#8243;;<br />
String timeStamp = String.valueOf(System.currentTimeMillis()/1000);<br />
System.out.println(timeStamp);</p>
<p>String urlstr =  &#8220;http://www.seeqpod.com/api/v0.2/music/search/&#8221;+this.titel+&#8221;/&#8221;+timeStamp;</p>
<p>// the url part for the hmac<br />
String hmacstr = &#8220;/api/v0.2/music/search/&#8221;+this.titel+&#8221;/&#8221;+timeStamp;</p>
<p>url = new URL(urlstr);<br />
System.out.println(timeStamp);</p>
<p>//hmac<br />
String sCall = Signature.calculateRFC2104HMAC(hmacstr, apiK);<br />
System.out.println(sCall);</p>
<p>HttpURLConnection conn = (HttpURLConnection) url.openConnection();<br />
//add header infos<br />
conn.setRequestProperty(&#8220;Seeqpod-uid&#8221;, uId);<br />
conn.setRequestProperty(&#8220;Seeqpod-call-signature&#8221;, sCall);<br />
conn.setRequestProperty(&#8220;Seeqpod-timestamp&#8221;, timeStamp);<br />
conn.connect();<br />
//http status code<br />
System.out.println(conn.getResponseCode());</p>
<p>/print the response<br />
BufferedReader in = new BufferedReader(<br />
                        new InputStreamReader(<br />
                        conn.getInputStream()));</p>
<p>	            String inputLine;</p>
<p>	            while ((inputLine = in.readLine()) != null)<br />
	                System.out.println(inputLine);<br />
	            in.close();</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
/// Generate the hmac sha-1 hex code<br />
public static String calculateRFC2104HMAC(String data, String key)<br />
throws java.security.SignatureException<br />
{<br />
String result;<br />
try {</p>
<p>// get an hmac_sha1 key from the raw key bytes<br />
SecretKeySpec signingKey = new SecretKeySpec(key.getBytes(), HMAC_SHA1_ALGORITHM);</p>
<p>// get an hmac_sha1 Mac instance and initialize with the signing key<br />
Mac mac = Mac.getInstance(HMAC_SHA1_ALGORITHM);<br />
mac.init(signingKey);</p>
<p>//compute the hmac on input data bytes<br />
byte[] rawHmac = mac.doFinal(data.getBytes());</p>
<p>// base16-encode the hmac<br />
result = Encoding.getHexString(rawHmac);<br />
System.out.println(Encoding.EncodeBase16(rawHmac));</p>
<p>} catch (Exception e) {<br />
throw new SignatureException(&#8220;Failed to generate HMAC : &#8221; + e.getMessage());<br />
}<br />
return result;<br />
}</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8211;<br />
//// byte[] to HEX string<br />
public static String getHexString(byte[] b){<br />
	  String result = &#8220;&#8221;;<br />
	  for (int i=0; i &lt; b.length; i++) {<br />
	    result +=<br />
	          Integer.toString( ( b[i] &amp; 0xff ) + 0&#215;100, 16).substring( 1 );<br />
	  }<br />
	  return result;<br />
	}</p>
<p>///&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-</p>
<p>/* ***   another way to generate the hex<br />
 private static final char[] kDigits = { &#8217;0&#8242;, &#8217;1&#8242;, &#8217;2&#8242;, &#8217;3&#8242;, &#8217;4&#8242;, &#8217;5&#8242;, &#8217;6&#8242;, &#8217;7&#8242;, &#8217;8&#8242;, &#8217;9&#8242;, &#8216;a&#8217;,<br />
	      &#8216;b&#8217;, &#8216;c&#8217;, &#8216;d&#8217;, &#8216;e&#8217;, &#8216;f&#8217; };</p>
<p>	  public static char[] bytesToHex(byte[] raw) {<br />
	    int length = raw.length;<br />
	    char[] hex = new char[length * 2];<br />
	    for (int i = 0; i &gt; 4;<br />
	      int lowIndex = value &amp; 0x0f;<br />
	      hex[i * 2 + 0] = kDigits[highIndex];<br />
	      hex[i * 2 + 1] = kDigits[lowIndex];<br />
	    }<br />
	    return hex;<br />
	  }<br />
*/</p>
<p>&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;&#8212;-<br />
The error response i got was:<br />
mismatched call signature</p>
<p>any ideas?</p>
<p>greets jonas</p>
<p>btw: sry 4 my bad english xD</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jason</title>
		<link>http://blog.headup.com/2009/03/free-to-use-c-fix-for-the-seeqpodcom-api/comment-page-1/#comment-54</link>
		<dc:creator>Jason</dc:creator>
		<pubDate>Wed, 01 Apr 2009 05:39:44 +0000</pubDate>
		<guid isPermaLink="false">http://blog.headup.com/?p=418#comment-54</guid>
		<description>I ran across in an example in Python - might help someone:
http://www.seeqpod.com/sampleClient.py

Jeremy - it sounds like something is funky with your timestamp/hashing.  Can you post a little code or something?

Yuval - can you elaborate on this pay model?
I haven&#039;t heard about it.  Seeqpod did file chapter 11 today, but I read its more for asset protection than closing the doors.

Jason</description>
		<content:encoded><![CDATA[<p>I ran across in an example in Python &#8211; might help someone:<br />
<a href="http://www.seeqpod.com/sampleClient.py" rel="nofollow">http://www.seeqpod.com/sampleClient.py</a></p>
<p>Jeremy &#8211; it sounds like something is funky with your timestamp/hashing.  Can you post a little code or something?</p>
<p>Yuval &#8211; can you elaborate on this pay model?<br />
I haven&#8217;t heard about it.  Seeqpod did file chapter 11 today, but I read its more for asset protection than closing the doors.</p>
<p>Jason</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeremy Daley</title>
		<link>http://blog.headup.com/2009/03/free-to-use-c-fix-for-the-seeqpodcom-api/comment-page-1/#comment-53</link>
		<dc:creator>Jeremy Daley</dc:creator>
		<pubDate>Tue, 31 Mar 2009 23:41:39 +0000</pubDate>
		<guid isPermaLink="false">http://blog.headup.com/?p=418#comment-53</guid>
		<description>ok, sorry to keep posting to here, but i was ecstatic to even SEE something about this issue in a google search result.

so here&#039;s how i&#039;ve been testing. i went ahead to the seeqpod website with firefox (LiveHTTP Headers plugin installed) and did a search/play that needed to grab a cached file (via HTTP POST):
http://www.seeqpod.com/api/v0.2/music/cache/000c16f1bc9b3aaca06c1d81af6794f770891a9f

...where that long code is the mp3_url_id.

the HTTP POST data from &quot;Live HTTP Headers&quot; showed the following variables:
Seeqpod%5Fcall%5Fsignature=b87c1b8ea4530e45dc4309b8b25a53c7d19bbfc9&amp;Seeqpod%5Fuid=69c976acce988bb343f1a90fa299856b2d65dc34&amp;Seeqpod%5Ftimestamp=1238540522&amp;random=G8pGs1Lrn

from that, i extracted the timestamp and call signature... ran the HMAC code with my appID and Jason&#039;s example... but can clearly see why seeqpod is telling me the signatures don&#039;t match. i&#039;m guessing we just have the hash computing data wrong. i&#039;m pretty sure %5F is the code for an underscore, but that doesn&#039;t seem to matter, cause i can&#039;t even get the call signatures in my HMAC to match with the hardcoded timestamp.

hope that makes any sense.</description>
		<content:encoded><![CDATA[<p>ok, sorry to keep posting to here, but i was ecstatic to even SEE something about this issue in a google search result.</p>
<p>so here&#8217;s how i&#8217;ve been testing. i went ahead to the seeqpod website with firefox (LiveHTTP Headers plugin installed) and did a search/play that needed to grab a cached file (via HTTP POST):<br />
<a href="http://www.seeqpod.com/api/v0.2/music/cache/000c16f1bc9b3aaca06c1d81af6794f770891a9f" rel="nofollow">http://www.seeqpod.com/api/v0.2/music/cache/000c16f1bc9b3aaca06c1d81af6794f770891a9f</a></p>
<p>&#8230;where that long code is the mp3_url_id.</p>
<p>the HTTP POST data from &#8220;Live HTTP Headers&#8221; showed the following variables:<br />
Seeqpod%5Fcall%5Fsignature=b87c1b8ea4530e45dc4309b8b25a53c7d19bbfc9&amp;Seeqpod%5Fuid=69c976acce988bb343f1a90fa299856b2d65dc34&amp;Seeqpod%5Ftimestamp=1238540522&amp;random=G8pGs1Lrn</p>
<p>from that, i extracted the timestamp and call signature&#8230; ran the HMAC code with my appID and Jason&#8217;s example&#8230; but can clearly see why seeqpod is telling me the signatures don&#8217;t match. i&#8217;m guessing we just have the hash computing data wrong. i&#8217;m pretty sure %5F is the code for an underscore, but that doesn&#8217;t seem to matter, cause i can&#8217;t even get the call signatures in my HMAC to match with the hardcoded timestamp.</p>
<p>hope that makes any sense.</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Jeremy Daley</title>
		<link>http://blog.headup.com/2009/03/free-to-use-c-fix-for-the-seeqpodcom-api/comment-page-1/#comment-52</link>
		<dc:creator>Jeremy Daley</dc:creator>
		<pubDate>Tue, 31 Mar 2009 19:37:52 +0000</pubDate>
		<guid isPermaLink="false">http://blog.headup.com/?p=418#comment-52</guid>
		<description>yeah, i&#039;ve got the search to work with the code recommendations above, but still get the mismatched call signature when trying to pull from the cache.

if you&#039;re unsure of the reason for getting the cached file, you may at one time run into an issue where either the mp3 won&#039;t play at all OR you&#039;ll get some other weird mp3 play (i.e. my latest one being some windows system startup sound).</description>
		<content:encoded><![CDATA[<p>yeah, i&#8217;ve got the search to work with the code recommendations above, but still get the mismatched call signature when trying to pull from the cache.</p>
<p>if you&#8217;re unsure of the reason for getting the cached file, you may at one time run into an issue where either the mp3 won&#8217;t play at all OR you&#8217;ll get some other weird mp3 play (i.e. my latest one being some windows system startup sound).</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Yuval Kesten</title>
		<link>http://blog.headup.com/2009/03/free-to-use-c-fix-for-the-seeqpodcom-api/comment-page-1/#comment-51</link>
		<dc:creator>Yuval Kesten</dc:creator>
		<pubDate>Tue, 31 Mar 2009 08:25:26 +0000</pubDate>
		<guid isPermaLink="false">http://blog.headup.com/?p=418#comment-51</guid>
		<description>Hi Guys!
I think that all of this code sharing is great!
The million$ question (or 0.003$...) is what are you going to do the day they start charging money?
We at Semantinet are checking the alternatives as we speak but we still haven&#039;t found such a large source which returns mp3s (and not flash players...) - I would really like to hear your thoughts as well.

Contact me at http://twitter.com/yuvalkesten or here on this blog</description>
		<content:encoded><![CDATA[<p>Hi Guys!<br />
I think that all of this code sharing is great!<br />
The million$ question (or 0.003$&#8230;) is what are you going to do the day they start charging money?<br />
We at Semantinet are checking the alternatives as we speak but we still haven&#8217;t found such a large source which returns mp3s (and not flash players&#8230;) &#8211; I would really like to hear your thoughts as well.</p>
<p>Contact me at <a href="http://twitter.com/yuvalkesten" rel="nofollow">http://twitter.com/yuvalkesten</a> or here on this blog</p>
]]></content:encoded>
	</item>
</channel>
</rss>

