<?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>Jonathans stuff</title>
	<atom:link href="http://jonathantrevor.net/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://jonathantrevor.net</link>
	<description></description>
	<lastBuildDate>Wed, 25 Nov 2009 22:25:58 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.6</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Do not buy Samsung PN50B850 and PN50B860: they buzz LOUDLY</title>
		<link>http://jonathantrevor.net/?p=59</link>
		<comments>http://jonathantrevor.net/?p=59#comments</comments>
		<pubDate>Wed, 25 Nov 2009 22:25:58 +0000</pubDate>
		<dc:creator>jotter</dc:creator>
				<category><![CDATA[hardware]]></category>
		<category><![CDATA[buzz]]></category>
		<category><![CDATA[plasma]]></category>
		<category><![CDATA[PN50B850]]></category>
		<category><![CDATA[PN50B860]]></category>
		<category><![CDATA[samsung]]></category>

		<guid isPermaLink="false">http://jonathantrevor.net/?p=59</guid>
		<description><![CDATA[To all potential PN50B850/860 &#8220;thin&#8221; plasma buyers please be aware that the abnormally loud buzz exhibited by these sets is deemed &#8220;normal&#8221; by Samsung and no exchange or replacement will be performed. Buy a different brand.
The sets have been returned in droves to Best Buy and other retailers because of the buzzing noise they make. [...]]]></description>
			<content:encoded><![CDATA[<p>To all potential PN50B850/860 &#8220;thin&#8221; plasma buyers please be aware that the abnormally loud buzz exhibited by these sets is deemed &#8220;normal&#8221; by Samsung and <strong>no exchange or replacement will be performed</strong>. Buy a different brand.</p>
<p>The sets have been returned in droves to Best Buy and other retailers because of the buzzing noise they make. After working with Samsung case management for my particular set for many months they are now firmly committed to saying the level of buzz is normal for plasmas and this set. I can agree its normal for this set, but its at least 100x worse than every other plasma Ive owned (4). Yes they all buzz, but generally less than 6 INCHES away. Ive now had 4 different B850/B860 combinations and they all can be heard from 10 FEET. This range appears to have an inherent design fault.</p>
<p>If you <strong>do</strong> decide to get one, please remember to return it directly to the dealer you bought it from as Samsung will not be able to fix the &#8220;buzz&#8221; you are hearing. If you are a dealer this might not be the best set to stock. If the buzz does not bother you, then great &#8211; the set is wonderful apart from the buzz (really).</p>
<p>This is what I had to go through to get to the situation where I have a buzzing plasma that Samsung will not deal with (taken from by BBB complaint which Samsung waited the full duration of time to respond to, and said &#8220;tough&#8221;).</p>
<p>Samsung is unable to resolve an issue w/ several plasmas I have had from them from 6/15/09. Long version <a href="http://bit.ly/12Yi73">here</a>. Summary: 6/15 I bought a PN50B850 from Best Buy. It started &#8220;buzzing&#8221; &#038; I could hear it in another room when volume was on! I have owned 3 different plasma brands and this is 100x worse (not normal). Returned 1st TV to BB &#038; the 2nd arrived on 7/2. 2nd TV had same issue, could hear the buzz 15&#8242; away. Called SS who sent repair dealer (tvunlimited). Claimed &#8220;its normal&#8221;. I escalate it &#038; SS contacted a different repair center. On 7/24/09 tech tries to replace board but has wrong model. On 8/3/09 tech replaces 3 boards but buzzing got WORSE. On 8/14/09, cnet SS rep arranges replacing 2nd set w/ upgraded model. Unfortunately buzz still there. I have already installed the $$$ SS mount so I see if I can live w/ buzz. On 10/25/09 I decide I can&#8217;t. Called SS &#038; they send tech w/ new fix, but tv ALREADY has fix installed. No change to buzzing issue. Called support &#038; told they need to call the service center to check that the problem was &#8220;unrepairable&#8221; &#038; they&#8217;d call back. They didnt. I call a day later &#038; told tvunlimited should have set up appointment w/ me. I call tvunlimited &#038; they said no fix for problem, it&#8217;s &#8220;usual&#8221; on these sets. I call SS again on 11/3 &#038; they say need to contact someone in &#8220;product&#8221; &#038; will call back. No callback. I have now had 4 different versions of the same set. SS never call back when they say they would (4) &#038; not addressing the problem. The buzz w/ these TVs seems inherent design fault (not typical for plasmas). Widely reported across the web. Even cnet thread I started had 3 people returning buzzing sets.</p>
<p>Jonathan</p>
]]></content:encoded>
			<wfw:commentRss>http://jonathantrevor.net/?feed=rss2&amp;p=59</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>You wouldn&#8217;t believe where my iphone is&#8230;</title>
		<link>http://jonathantrevor.net/?p=57</link>
		<comments>http://jonathantrevor.net/?p=57#comments</comments>
		<pubDate>Fri, 26 Jun 2009 03:57:42 +0000</pubDate>
		<dc:creator>jotter</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://jonathantrevor.net/?p=57</guid>
		<description><![CDATA[Im still stunned by the entire unlikelihood of this but I thought I&#8217;d share the moment.
So Im driving along, and my iphone chirps at me, I reach out and see that its a meeting reminder. Being lazy I drop the phone in my lap. A few minutes later it slides off to the side of [...]]]></description>
			<content:encoded><![CDATA[<p>Im still stunned by the entire unlikelihood of this but I thought I&#8217;d share the moment.</p>
<p>So Im driving along, and my iphone chirps at me, I reach out and see that its a meeting reminder. Being lazy I drop the phone in my lap. A few minutes later it slides off to the side of my seat. Dang! I&#8217;ll pick it up later when I get home&#8230;</p>
<p>When I get home I can&#8217;t see the iphone ANYWHERE &#8211; its completely vanished&#8230; So I call it&#8230;. And the rest I&#8217;ll let my <a href="http://www.flickr.com/photos/jonathantrevor/sets/72157620431794239/">Flickr photos</a> show you:</p>
<p><img src="http://farm4.static.flickr.com/3321/3661012885_16cf64c313_d.jpg" alt="Trapped in the vents" /></p>
<p>Its right in the middle of this photo, somewhere in the aircon vents, under the upholstery.</p>
<p>I can sort of see how it got there, but really, how likely is it that it somehow got behind one of these vents under my seat and managed to get into those iphone sized holes:</p>
<p><img src="http://farm3.static.flickr.com/2574/3661013571_efaf4cfb8f.jpg" alt="Two small vents under the seat, facing backwards..." /></p>
<p>Off to the garage tomorrow to start taking the car apart&#8230;.</p>
]]></content:encoded>
			<wfw:commentRss>http://jonathantrevor.net/?feed=rss2&amp;p=57</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Talk on YQL and Pipes</title>
		<link>http://jonathantrevor.net/?p=55</link>
		<comments>http://jonathantrevor.net/?p=55#comments</comments>
		<pubDate>Tue, 03 Mar 2009 01:08:52 +0000</pubDate>
		<dc:creator>jotter</dc:creator>
				<category><![CDATA[YQL]]></category>
		<category><![CDATA[pipes]]></category>
		<category><![CDATA[yahoo]]></category>
		<category><![CDATA[presentation]]></category>

		<guid isPermaLink="false">http://jonathantrevor.net/?p=55</guid>
		<description><![CDATA[Last year I was invited to present at the Qcon conference in San Francisco. It was originally scheduled as a Pipes talk but the fortunate timing (shortly after YQL had launched) enabled me to cover both Pipes and YQL. InfoQ has just released the talk (video and slides) on their web site, so if you&#8217;re [...]]]></description>
			<content:encoded><![CDATA[<p>Last year I was invited to present at the Qcon conference in San Francisco. It was originally scheduled as a Pipes talk but the fortunate timing (shortly after YQL had launched) enabled me to cover both Pipes and YQL. InfoQ has just released the talk (video and slides) on their web site, so if you&#8217;re interested in either of these technologies you might want to <a href="http://www.infoq.com/presentations/Pipes-YQL-Jonathan-Trevor">take a look</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://jonathantrevor.net/?feed=rss2&amp;p=55</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Nikon: excellent customer service</title>
		<link>http://jonathantrevor.net/?p=53</link>
		<comments>http://jonathantrevor.net/?p=53#comments</comments>
		<pubDate>Fri, 30 Jan 2009 22:26:04 +0000</pubDate>
		<dc:creator>jotter</dc:creator>
				<category><![CDATA[hardware]]></category>
		<category><![CDATA[camera]]></category>
		<category><![CDATA[d60]]></category>
		<category><![CDATA[nikon]]></category>

		<guid isPermaLink="false">http://jonathantrevor.net/?p=53</guid>
		<description><![CDATA[I&#8217;ve found that most after-sales support for products and services is pretty terrible. Trying to diagnose problems with my Apple airport extreme, or fix an issue with a DSL connection for example, tend to leave you feeling frustrated and seem to always be excruciating.
Not so with my Nikon D60. Just over a month after getting [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve found that most after-sales support for products and services is pretty terrible. Trying to diagnose problems with my Apple airport extreme, or fix an issue with a DSL connection for example, tend to leave you feeling frustrated and seem to always be excruciating.</p>
<p>Not so with my Nikon D60. Just over a month after getting it from Amazon the internal flash stopped firing. I went to their site, created an account to register my camera, and reported the problem. A few days later an email arrived saying send it to this address. I packaged it up, sent via Fedex for around $8, and waited. I wondered what was happening and followed up on my original ticket on their web site. I was promptly give a service repair tracking number and explained it was covered. About 10 days later after sending my Nikon off, a fixed D60 arrived on my doorstep.</p>
<p>The whole process was straightforward, easy to understand, and just worked as I imagine an issue like this should be handled (albeit with the extra request for the service repair ticket number to track the progress). Kudos to Nikon.</p>
]]></content:encoded>
			<wfw:commentRss>http://jonathantrevor.net/?feed=rss2&amp;p=53</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>New YQL build out, includes a new microformat table</title>
		<link>http://jonathantrevor.net/?p=51</link>
		<comments>http://jonathantrevor.net/?p=51#comments</comments>
		<pubDate>Tue, 13 Jan 2009 19:16:39 +0000</pubDate>
		<dc:creator>jotter</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[example]]></category>
		<category><![CDATA[microformat]]></category>
		<category><![CDATA[release]]></category>
		<category><![CDATA[yahoo]]></category>
		<category><![CDATA[YQL]]></category>

		<guid isPermaLink="false">http://jonathantrevor.net/?p=51</guid>
		<description><![CDATA[Check out the change log for some of the highlights.
One of the new tables is pretty cool, as requested;) :

select * from microformats where url='http://wait-till-i.com'

Try it in the console, under &#8220;data&#8221;, or just run it from the public entrypoint directly.
Whats so interesting about the table, apart from the great microformat data it spits out, is [...]]]></description>
			<content:encoded><![CDATA[<p>Check out the <a href="http://developer.yahoo.net/forum/index.php?showtopic=610">change log</a> for some of the highlights.</p>
<p>One of the new tables is pretty cool, as requested;) :<br />
<code><br />
select * from microformats where url='http://wait-till-i.com'<br />
</code><br />
Try it in the <a href="http://developer.yahoo.com/yql/console">console</a>, under &#8220;data&#8221;, or just run it from the <a href="http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20microformats%20where%20url%3D'http%3A%2F%2Fwait-till-i.com'&#038;format=xml">public entrypoint</a> directly.</p>
<p>Whats so interesting about the table, apart from the great microformat data it spits out, is the other meta information:</p>
<pre>
...
&lt;language&gt;english&lt;/language&gt;
&lt;rss&gt;http://www.wait-till-i.com/feed&lt;/rss&gt;
&lt;format&gt;text/html&lt;/format&gt;
&lt;size&gt;30452&lt;/size&gt;
&lt;url&gt;http://wait-till-i.com/&lt;/url&gt;
&lt;summary&gt;
    &lt;title&gt;
        &lt;type&gt;default&lt;/type&gt;
        &lt;content&gt;Wait till I come!&lt;/content&gt;
    &lt;/title&gt;
    &lt;abstract&gt;
        &lt;type&gt;default&lt;/type&gt;
        &lt;content&gt;TTMHTM: The future of NASA 70s style, Microsoft Songsmith and why Starscream &lt;b&gt;...&lt;/b&gt; Basted Tetris - A Tetris version that analyzes the playfield and denies you the &lt;b&gt;...&lt;/b&gt;&lt;/content&gt;
    &lt;/abstract&gt;
    &lt;dispurl&gt;
        &lt;type&gt;default&lt;/type&gt;
        &lt;content&gt;&lt;b&gt;wait-till-i.com&lt;/b&gt;&lt;/content&gt;
    &lt;/dispurl&gt;
    &lt;fingerprint&gt;
        &lt;type&gt;default&lt;/type&gt;
        &lt;content&gt;3d4f995747df7c71&lt;/content&gt;
    &lt;/fingerprint&gt;
&lt;/summary&gt;
&lt;date&gt;2009/01/12&lt;/date&gt;
...
</pre>
<p>Intriguing eh?</p>
]]></content:encoded>
			<wfw:commentRss>http://jonathantrevor.net/?feed=rss2&amp;p=51</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Introduction to YQL on DevX</title>
		<link>http://jonathantrevor.net/?p=49</link>
		<comments>http://jonathantrevor.net/?p=49#comments</comments>
		<pubDate>Mon, 29 Dec 2008 17:45:24 +0000</pubDate>
		<dc:creator>jotter</dc:creator>
				<category><![CDATA[YQL]]></category>
		<category><![CDATA[yahoo]]></category>

		<guid isPermaLink="false">http://jonathantrevor.net/?p=49</guid>
		<description><![CDATA[DevX has published a quick introduction to YQL I wrote. 
They got a few edits into the document that I didn&#8217;t get a chance to look at over the xmas hols before it was published &#8211; so there are a couple of odd phrases here and there. However all in all I hope it gives [...]]]></description>
			<content:encoded><![CDATA[<p>DevX has published a <a href="http://www.devx.com/webdev/Article/40432">quick introduction to YQL</a> I wrote. </p>
<p>They got a few edits into the document that I didn&#8217;t get a chance to look at over the xmas hols before it was published &#8211; so there are a couple of odd phrases here and there. However all in all I hope it gives anyone interested in using YQL a quick overview of what it&#8217;s all about. </p>
]]></content:encoded>
			<wfw:commentRss>http://jonathantrevor.net/?feed=rss2&amp;p=49</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>YQL new features</title>
		<link>http://jonathantrevor.net/?p=45</link>
		<comments>http://jonathantrevor.net/?p=45#comments</comments>
		<pubDate>Fri, 19 Dec 2008 18:39:39 +0000</pubDate>
		<dc:creator>jotter</dc:creator>
				<category><![CDATA[YQL]]></category>
		<category><![CDATA[mashup]]></category>
		<category><![CDATA[yahoo]]></category>
		<category><![CDATA[geo]]></category>

		<guid isPermaLink="false">http://jonathantrevor.net/?p=45</guid>
		<description><![CDATA[We pushed a shiny new (to use Nagesh&#8217;s terms) YQL out yesterday and here&#8217;s a quick overview of the new things (beyond fixes mainly to the HTML and XHTML handling). Our docs are about to catch up but for those of you interested in the new feature list, here we go:

@var substitution from GET query [...]]]></description>
			<content:encoded><![CDATA[<p>We pushed a shiny new (to use Nagesh&#8217;s terms) YQL out yesterday and here&#8217;s a quick overview of the new things (beyond fixes mainly to the HTML and XHTML handling). Our docs are about to catch up but for those of you interested in the new feature list, here we go:</p>
<ul>
<li><strong>@var substitution from GET query string</strong>. YQL will &#8220;prepare&#8221; statements by replacing all @<i>var</i> literal values with the same named value in the query parameters. For example:
<p><code>http://query.yahooapis.com/v1/yql?name=dog&#038;q=select * from sometable where name=@name<br />
</code></p>
<p>Will result in the following statement being executed:</p>
<p><code>select * from sometable where name="dog"</code><br />
<br/>
</li>
<li><strong>(literal) sets</strong>. Literal arrays of strings or ints can be used in the IN () clause, for example:
<p><code>select * from social.profile where guid in ("1234","5566","123121");</code><br />
<br/></li>
<li><strong>(field list) IN (select keys)</strong>. The left hand side of an IN can how accept a list of fields in addition to a single field, and a sub-select within the right hand side of an IN can now return multiple scalars (from leaf values). The upshot is you can now join using multiple keys (not just a single one):
<p><code>select * from local.search where (latitude,longitude) in (select centroid.latitude, centroid.longitude from geo.places where text="north beach, san francisco") and radius=1 and query="pizza" and location=""</code><br />
<br/>
</li>
<li><strong>Sanitize output</strong>. Added a &#8217;sanitize&#8217; post-select function that will attempt to sanitize the output for HTML safe rendering (stripping certain tags, cooking data etc). To sanitize the entire document:
<p><code>select * from atable | sanitize()</code></p>
<p>To sanitize a specific field:</p>
<p><code>select * from atable | sanitize(field='foo')</code><br />
<br/>
</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://jonathantrevor.net/?feed=rss2&amp;p=45</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>YQL, now with no-auth</title>
		<link>http://jonathantrevor.net/?p=43</link>
		<comments>http://jonathantrevor.net/?p=43#comments</comments>
		<pubDate>Thu, 04 Dec 2008 00:27:04 +0000</pubDate>
		<dc:creator>jotter</dc:creator>
				<category><![CDATA[YQL]]></category>
		<category><![CDATA[yahoo]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[query]]></category>

		<guid isPermaLink="false">http://jonathantrevor.net/?p=43</guid>
		<description><![CDATA[Today we pushed the latest version of YQL live, and it now supports a new &#8220;public&#8221; endpoint:

http://query.yahooapis.com/v1/public/yql?q=show%20tables

Unlike the oauth entrypoint, that requires oauth signing and so on, this one needs no signing, no app id, no nothing &#8211; just your query. Its that easy.
So you can just run it in a browser: show tables
&#8230; and [...]]]></description>
			<content:encoded><![CDATA[<p>Today we pushed the latest version of YQL live, and it now supports a new &#8220;public&#8221; endpoint:</p>
<pre>
http://query.yahooapis.com/v1/public/yql?q=show%20tables
</pre>
<p>Unlike the oauth entrypoint, that requires oauth signing and so on, this one needs <b>no</b> signing, <b>no</b> app id, <b>no nothing</b> &#8211; just your query. Its that easy.</p>
<p>So you can just run it in a browser: <a href="http://query.yahooapis.com/v1/public/yql?q=show%20tables">show tables</a></p>
<p>&#8230; and go crazy! You can <a href="http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20upcoming.events%20where%20woeid%20in%20(select%20woeid%20from%20geo.places%20where%20text%3D%22North%20Beach%22%20limit%201)%20%7C%20sort(field%3D%22start_date%22)&#038;format=xml">find upcoming events in North Beach sorted by start time<a/>, or get a list of <a href="http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20local.search%20where%20query%3D%22sushi%22%20and%20location%3D%22san%20francisco%2C%20ca%22%20and%20Rating.AverageRating%3E4">Sushi restaurants with a 4 star or more rating in San Francisco</a>.</p>
<p>A couple of caveats:</p>
<ul>
<li>this only gives you access to <b>public</b> data. If you want access to a user&#8217;s social network or other more personal info you&#8217;ll still need to sign things and go in through the oauth endpoint. So the social tables won&#8217;t show up in /public</li>
<li>there are low rate limits on this endpoint. If you want a higher rate limit you&#8217;ll need to tell us who you are by getting a consumer key and secret from <a href="http://developer.yahoo.com/">developer.yahoo.com</a> and sign the oauth request.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://jonathantrevor.net/?feed=rss2&amp;p=43</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Mixing and matching (weather) services and data using YQL</title>
		<link>http://jonathantrevor.net/?p=40</link>
		<comments>http://jonathantrevor.net/?p=40#comments</comments>
		<pubDate>Tue, 04 Nov 2008 20:58:11 +0000</pubDate>
		<dc:creator>jotter</dc:creator>
				<category><![CDATA[YQL]]></category>
		<category><![CDATA[mashup]]></category>
		<category><![CDATA[yahoo]]></category>
		<category><![CDATA[join]]></category>
		<category><![CDATA[query]]></category>
		<category><![CDATA[weather]]></category>

		<guid isPermaLink="false">http://jonathantrevor.net/?p=40</guid>
		<description><![CDATA[Some recent discussion about the weather.forecast table lead to a really great example of mixing Yahoo and external services together.
The original poster wanted to get the forecast from the weather.forecast table for a non-US location. The table itself represents these types of location using a special key. For example, Prague (Czech Republic) is EZXX0012.
A followup [...]]]></description>
			<content:encoded><![CDATA[<p>Some <a href="http://developer.yahoo.net/forum/index.php?showtopic=280">recent discussion</a> about the <code>weather.forecast</code> table lead to a really great example of mixing Yahoo and external services together.</p>
<p>The original poster wanted to get the forecast from the <code>weather.forecast</code> table for a non-US location. The table itself represents these types of location using a special key. For example, Prague (Czech Republic) is <code>EZXX0012</code>.</p>
<p>A followup post indicate that weather.com has a service that actually turns text-based locations (like &#8220;Prague&#8221;) into a list of <a href="http://xoap.weather.com/search/search?where=prague">possible location IDs</a> that are suitable for the forecast table:</p>
<pre>
http://xoap.weather.com/search/search?where=prague
</pre>
<p>So now we have a great &#8220;join&#8221; situation, we can use one web service to join data in another completely different service and get the result we want for the inputs we have! So to get weather for all &#8220;prague&#8221;s in the world like this in YQL its a simple sub-select:</p>
<pre>
select * from weather.forecast where location in
   (select id from xml where
    url="http://xoap.weather.com/search/search?where=prague"
    and itemPath="search.loc")
</pre>
<p>You can see <a href="http://developer.yahoo.com/yql/console/?q=select%20*%20from%20weather.forecast%20where%20location%20in%20(select%20id%20from%20xml%20where%20url=%22http://xoap.weather.com/search/search?where=prague%22%20and%20itemPath=%22search.loc%22)">YQL run this query in the console</a> (you&#8217;ll need a Yahoo! login to get to the page).</p>
]]></content:encoded>
			<wfw:commentRss>http://jonathantrevor.net/?feed=rss2&amp;p=40</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Run YQL from your Javascript</title>
		<link>http://jonathantrevor.net/?p=35</link>
		<comments>http://jonathantrevor.net/?p=35#comments</comments>
		<pubDate>Fri, 31 Oct 2008 16:48:18 +0000</pubDate>
		<dc:creator>jotter</dc:creator>
				<category><![CDATA[YQL]]></category>
		<category><![CDATA[ajax]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[mashup]]></category>
		<category><![CDATA[scriptnode]]></category>
		<category><![CDATA[yahoo]]></category>
		<category><![CDATA[2-legged]]></category>
		<category><![CDATA[3-legged]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[signing]]></category>

		<guid isPermaLink="false">http://jonathantrevor.net/?p=35</guid>
		<description><![CDATA[We&#8217;ve been asked about this a few times: How can I run YQL from javascript with all this oauth stuff, I just want it to work!?
For real day-to-day use, the answer is you shouldn&#8217;t as any Javascript only technique inevitably exposes your shared secret. As with most secure APIs you should go via your own [...]]]></description>
			<content:encoded><![CDATA[<p>We&#8217;ve been asked about this a few times: How can I run YQL from javascript with all this oauth stuff, I just want it to work!?</p>
<p>For real day-to-day use, the answer is <b>you shouldn&#8217;t</b> as any Javascript only technique inevitably exposes your shared secret. As with most secure APIs you should go via your own proxy to do the signing (use the PHP SDK or any other oauth library). </p>
<p>However, its still useful to &#8220;get going&#8221; and try things out away from the <a href="http://developer.yahoo.com/yql/console">console</a> and my colleague Paul has created some simple sample code for <a href="http://paul.donnelly.org/2008/10/31/2-legged-oauth-javascript-function-for-yql/">executing 2-legged oauth queries from javascript</a> that enables you to call YQL functions without needing a server. Its as easy as:</p>
<pre>
var originalUrl="http://query.yahooapis.com/v1/yql?q=show%20tables&#038;output=json";
var signedUrl = makeSignedRequest("[API Key HERE]","[Shared Secret HERE]",originalUrl);
</pre>
<p>For the most part you&#8217;ll probably be doing this using script node includes, so you probably want to add the <code>callback</code> parameter to the original url you want signing (you cannot add it afterwards as that will change the URL signature and invalidate the signed Url you have). You&#8217;ll also be exposing your shared secret, so you should only use this for testing and prototyping because if someone else copies it, you&#8217;ll need to get another one.</p>
<p><b>Note:</b> the example is only 2-legged oauth. This lets YQL verify who the application is that&#8217;s using it, but not who the user is (which would be 3-legged). So it doesn&#8217;t bounce the page viewer anywhere (your users won&#8217;t even be aware of using YQL) and only allows the application access to public data. Thats still <b>a lot</b> of data, and enables you do some pretty powerful stuff <img src='http://jonathantrevor.net/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>So check out his <a href="http://paul.donnelly.org/2008/10/31/2-legged-oauth-javascript-function-for-yql/">recent post</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://jonathantrevor.net/?feed=rss2&amp;p=35</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
