<?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>Navarr&#039;s Tech Side &#187; General</title>
	<atom:link href="http://tech.navarr.me/topics/general/feed" rel="self" type="application/rss+xml" />
	<link>http://tech.navarr.me</link>
	<description>The Technical Side of my Life</description>
	<lastBuildDate>Tue, 07 Feb 2012 22:32:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
<cloud domain='tech.navarr.me' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
		<item>
		<title>Xoom and ICS</title>
		<link>http://tech.navarr.me/2012/02/xoom-and-ics.html</link>
		<comments>http://tech.navarr.me/2012/02/xoom-and-ics.html#comments</comments>
		<pubDate>Tue, 07 Feb 2012 02:21:26 +0000</pubDate>
		<dc:creator>Navarr</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://tech.navarr.me/?p=580</guid>
		<description><![CDATA[So, today I managed to snag myself a Xoom.  By which h of course I mean that I received a Xoom in the mail from my good friend Amazon.com.  I have been playing with it since I opened hue packaging and so far I have to say that I absolutely love it.  Touch typing on [...]]]></description>
			<content:encoded><![CDATA[<p>So, today I managed to snag myself a Xoom.  By which h of course I mean that I received a Xoom in the mail from my good friend Amazon.com.  I have been playing with it since I opened hue packaging and so far I have to say that I absolutely love it.  Touch typing on a screen is definitely awkward but I have a feeling that I'll get more used to it as time goes on.  </p>
<p>This is my first tablet, and hopeful I'll be able to writ some neat maps for it.  I've already had a great idea that nobody seems to be implementing in the android store atm.</p>
<p>So maybe I will at a future date?</p>
]]></content:encoded>
			<wfw:commentRss>http://tech.navarr.me/2012/02/xoom-and-ics.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Feeling like I&#8217;m PWNing REST</title>
		<link>http://tech.navarr.me/2012/02/feeling-like-im-pwning-rest.html</link>
		<comments>http://tech.navarr.me/2012/02/feeling-like-im-pwning-rest.html#comments</comments>
		<pubDate>Sun, 05 Feb 2012 05:10:26 +0000</pubDate>
		<dc:creator>Navarr</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://tech.navarr.me/?p=576</guid>
		<description><![CDATA[I'm working hard to make the private API I'm implementing at my current job a RESTful uri scheme, and I feel like I hit a point of transcendence recently when I decided how to record a user staring a story. PUT /article/:articleID/favorite/:userID DELETE /article/:articleID/favorite/:userID I decided that POST didn't make sense, as you couldn't really favorite [...]]]></description>
			<content:encoded><![CDATA[<p>I'm working hard to make the private API I'm implementing at my current job a RESTful uri scheme, and I feel like I hit a point of transcendence recently when I decided how to record a user staring a story.</p>
<ul>
<li>PUT /article/:articleID/favorite/:userID</li>
<li>DELETE /article/:articleID/favorite/:userID</li>
</ul>
<p>I decided that POST didn't make sense, as you couldn't <em>really</em> favorite a story more than once at a time, and of course DELETE makes sense here.  Adding them as a relation between the article and the user seems to make sense in this URI scheme as well.</p>
<p>So, all in all, I'm proud of myself.  Despite it being such a tiny, simplistic thing.</p>
]]></content:encoded>
			<wfw:commentRss>http://tech.navarr.me/2012/02/feeling-like-im-pwning-rest.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Great Scott, I&#8217;ve discovered something delicious</title>
		<link>http://tech.navarr.me/2011/10/great-scott-ive-discovered-something-delicious.html</link>
		<comments>http://tech.navarr.me/2011/10/great-scott-ive-discovered-something-delicious.html#comments</comments>
		<pubDate>Sun, 02 Oct 2011 00:52:57 +0000</pubDate>
		<dc:creator>Navarr</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://tech.navarr.me/?p=553</guid>
		<description><![CDATA[Truthfully, I've tried my best to make a difference in programming, in code, trying to learn, trying to be amazing.  I never thought I'd just randomly happen upon a chance discovery that would turn out to be amazingly delicious. Late August, I went to my friend's house in Toledo.  There, we picked some pears.  I [...]]]></description>
			<content:encoded><![CDATA[<p>Truthfully, I've tried my best to make a difference in programming, in code, trying to learn, trying to be amazing.  I never thought I'd just randomly happen upon a chance discovery that would turn out to be amazingly delicious.</p>
<p>Late August, I went to my friend's house in Toledo.  There, we picked some pears.  I took home some for myself and placed them in my fridge, unfortunately never stopping to think to eat them.</p>
<p>Late September, I place a Sunkist can I had not had time to finish beside the pears, leaving it for later.</p>
<p>October 1st, I pull the pears out of the fridge, giving them up to inspection by Rebecca.  They look as if they haven't aged, possibly frozen by sitting beside the freezer inside the fridge.  I pull out the sunkist and set it on top of the fridge to deal with later.  Rebecca declares that the pears, although not yet rotten, would be as soon as they thawed as their cellular structure would not be able to survive being frozen and thawed.</p>
<p>Later that evening, I accidentally take a swig of the sunkist left on top of the fridge.  It has a delicious taste of pear to it, despite its flatness it does not taste bad.  It is delicious, but sickly sweet.  But <em>amazingly delicious</em>.</p>
<p>Now that I've learned this, what should I do about it?</p>
]]></content:encoded>
			<wfw:commentRss>http://tech.navarr.me/2011/10/great-scott-ive-discovered-something-delicious.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Web Needs a Federated Payment Protocol</title>
		<link>http://tech.navarr.me/2011/08/the-web-needs-a-federated-payment-protocol.html</link>
		<comments>http://tech.navarr.me/2011/08/the-web-needs-a-federated-payment-protocol.html#comments</comments>
		<pubDate>Tue, 30 Aug 2011 01:30:11 +0000</pubDate>
		<dc:creator>Navarr</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://tech.navarr.me/?p=549</guid>
		<description><![CDATA[When it comes to paying for good and services on the Internet, the consumer has many choices - Paypal, Amazon, Google Checkout, their respective Credit Card... However, you rarely see all of these accepted in a single place - and for very good reason: Its gorram difficult to implement so many different APIs and systems, [...]]]></description>
			<content:encoded><![CDATA[<p>When it comes to paying for good and services on the Internet, the consumer has many choices - Paypal, Amazon, Google Checkout, their respective Credit Card...</p>
<p>However, you rarely see all of these accepted in a single place - and for very good reason: Its gorram difficult to implement so many different APIs and systems, and have to deal with tracking each of them.</p>
<p>Clearly, the Web needs a way to deal with this - and having a Federated Payment Protocol would solve it.</p>
<p>Think about it: A vendor website would easily communicate with a payment processor through this protocol.  They wouldn't have to know who the Payment Processor is, or even care for that matter.  The vendor would issue a request to the payment processor.  The processor would be in charge of authenticating the user, and would send back their "terms" (out of the requested amount, *this* much will be dispersed and *this* much will be taken as a processing fee).  The vendor will agree, disagree, or change the payment amount based on what the processor sent.  The processor would then submit this change to the user, if the user accepted the processor would send the new details and the vendor would accept or deny.  The processor would send the money through whatever system they need to, notifying the vendor how long it should take, and if its a short enough time the vendor can hold the user until the payment has cleared (or if it is a trusted source not hold at all) and provide the promised goods or services, after confirming the transaction with their receiving service.</p>
<p>This solves a few key issues:</p>
<ul>
<li>Vendors have to trust that they are receiving the money for their services.</li>
<li>Credit Card details would never have to be provided to the vendor, as the service would be directly through their credit company's payment service.</li>
<li>Vendors would not have to implement different APIs for different payment methods.</li>
<li>"Credit Card Fraud" liability would be the burden of the Credit Company, of whom authenticated the user.  A vendor would no longer be required to make sure a person is who they say they are.</li>
<li>Banks could offer their own payment services ("Debit."  Possibly with No Fee, resulting in a reduction of prices from vendors, hopefully).</li>
</ul>
<div>Clearly this is a good idea, and I wish I had the know-how to put it together myself.</div>
]]></content:encoded>
			<wfw:commentRss>http://tech.navarr.me/2011/08/the-web-needs-a-federated-payment-protocol.html/feed</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Programs I Want to See Made Into (Browser) Web Applications</title>
		<link>http://tech.navarr.me/2011/06/programs-i-want-to-see-made-into-browser-web-applications.html</link>
		<comments>http://tech.navarr.me/2011/06/programs-i-want-to-see-made-into-browser-web-applications.html#comments</comments>
		<pubDate>Sat, 25 Jun 2011 18:36:35 +0000</pubDate>
		<dc:creator>Navarr</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://tech.navarr.me/2011/06/programs-i-want-to-see-made-into-browser-web-applications.html</guid>
		<description><![CDATA[MyAnimeList Updater Windows Live Writer PuTTY git – though Cloud9 IDE works pretty damn well. WinSCP or something similar]]></description>
			<content:encoded><![CDATA[<ul>
<li><a href="http://www.malupdater.com/">MyAnimeList Updater</a> </li>
<li><a href="http://explore.live.com/windows-live-writer">Windows Live Writer</a> </li>
<li><a href="http://www.chiark.greenend.org.uk/~sgtatham/putty/">PuTTY</a> </li>
<li>git – though Cloud9 IDE works pretty damn well. </li>
<li>WinSCP or something similar </li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://tech.navarr.me/2011/06/programs-i-want-to-see-made-into-browser-web-applications.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Closing Desktop Notifications on a Timer</title>
		<link>http://tech.navarr.me/2010/05/closing-desktop-notifications-on-a-timer.html</link>
		<comments>http://tech.navarr.me/2010/05/closing-desktop-notifications-on-a-timer.html#comments</comments>
		<pubDate>Tue, 11 May 2010 22:42:17 +0000</pubDate>
		<dc:creator>Navarr</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://tech.gtaero.net/2010/05/closing-desktop-notifications-on-a-timer.html</guid>
		<description><![CDATA[So, one of the few things about Chrome’s desktop notifications I’ve been trying to figure out is how to close them on a timer, and it finally came to me. This timer will only activate when the notification is opened, and will close the notification even if the page that originally spawned it has been [...]]]></description>
			<content:encoded><![CDATA[<p>So, one of the few things about Chrome’s desktop notifications I’ve been trying to figure out is how to close them on a timer, and it finally came to me.</p>
<p>This timer will only activate when the notification is opened, and will close the notification even if the page that originally spawned it has been closed.</p>
<p>Create and Show a new HTMLNotification.</p>
<pre><div id="wpshdo_1" class="wp-synhighlighter-outer"><div id="wpshdt_1" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_1"></a><a id="wpshat_1" class="wp-synhighlighter-title" href="#codesyntax_1"  onClick="javascript:wpsh_toggleBlock(1)" title="Click to show/hide code block">Code block</a></td><td align="right"><a href="#codesyntax_1" onClick="javascript:wpsh_code(1)" title="Show code only"><img border="0" style="border: 0 none" src="http://tech.navarr.me/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_1" onClick="javascript:wpsh_print(1)" title="Print code"><img border="0" style="border: 0 none" src="http://tech.navarr.me/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://tech.navarr.me/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://tech.navarr.me/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_1" class="wp-synhighlighter-inner" style="display: block;"><pre class="html4strict" style="font-family:monospace;"><span style="color: #00bbdd;">&lt;!DOCTYPE html&gt;</span>
<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/html.html"><span style="color: #000000; font-weight: bold;">html</span></a>&gt;</span>
	<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/head.html"><span style="color: #000000; font-weight: bold;">head</span></a>&gt;</span>
		<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/title.html"><span style="color: #000000; font-weight: bold;">title</span></a>&gt;</span>Notification Title<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/title.html"><span style="color: #000000; font-weight: bold;">title</span></a>&gt;</span>
		<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/style.html"><span style="color: #000000; font-weight: bold;">style</span></a> <span style="color: #000066;">type</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;text/css&quot;</span>&gt;</span>
			body,body* { font-family: sans-serif; font-size: 10pt; }
			h1 { font-family: sans-serif; margin: 0; padding: 0; font-size: 12pt; font-weight: bold; }
			p { margin: 0; padding: 0; }
		<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/style.html"><span style="color: #000000; font-weight: bold;">style</span></a>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/head.html"><span style="color: #000000; font-weight: bold;">head</span></a>&gt;</span>
	<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/body.html"><span style="color: #000000; font-weight: bold;">body</span></a> <span style="color: #000066;">onload</span><span style="color: #66cc66;">=</span><span style="color: #ff0000;">&quot;setTimeout(self.close,5000)&quot;</span>&gt;</span>
		<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/h1.html"><span style="color: #000000; font-weight: bold;">h1</span></a>&gt;</span>Notification Title<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/h1.html"><span style="color: #000000; font-weight: bold;">h1</span></a>&gt;</span>
		<span style="color: #009900;">&lt;<a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span>Notification Text<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/p.html"><span style="color: #000000; font-weight: bold;">p</span></a>&gt;</span>
	<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/body.html"><span style="color: #000000; font-weight: bold;">body</span></a>&gt;</span>
<span style="color: #009900;">&lt;<span style="color: #66cc66;">/</span><a href="http://december.com/html/4/element/html.html"><span style="color: #000000; font-weight: bold;">html</span></a>&gt;</span></pre></div></div></pre>
<p>That will close the window after five seconds and will look just like a normal notification! <img src='http://tech.navarr.me/wp-includes/images/smilies/icon_biggrin.gif' alt=':D' class='wp-smiley' /> </p>
<p>What I learned is: <strong>Notification Windows respond to the javascript method self.close()</strong></p>
]]></content:encoded>
			<wfw:commentRss>http://tech.navarr.me/2010/05/closing-desktop-notifications-on-a-timer.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Open Letter to Dave Winer</title>
		<link>http://tech.navarr.me/2010/05/open-letter-to-dave-winer.html</link>
		<comments>http://tech.navarr.me/2010/05/open-letter-to-dave-winer.html#comments</comments>
		<pubDate>Sun, 02 May 2010 22:00:17 +0000</pubDate>
		<dc:creator>Navarr</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://tech.gtaero.net/2010/05/open-letter-to-dave-winer.html</guid>
		<description><![CDATA[I know you invented RSS and all that, but please, please stop raping your feed. I do not like getting this every couple of weeks, or days.. I don’t know, I have no concept of time, but this isn’t the first time its happened. Please?]]></description>
			<content:encoded><![CDATA[<p>I know you invented RSS and all that, but please, <strong><em>please</em></strong> stop raping your feed.</p>
<p>I do not like getting this every couple of weeks, or days.. I don’t know, I have no concept of time, but this isn’t the first time its happened.</p>
<p><a href="http://tech.gtaero.net/wp-content/uploads/2010/05/image.png" rel="lightbox[456]"><img style="display: block; float: none; margin-left: auto; margin-right: auto" title="image" alt="image" src="http://tech.gtaero.net/wp-content/uploads/2010/05/image_thumb.png" width="500" height="200" /></a> </p>
<p><strong>Please</strong>?</p>
]]></content:encoded>
			<wfw:commentRss>http://tech.navarr.me/2010/05/open-letter-to-dave-winer.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Why SuperTweets won&#8217;t kill URL Shorteners</title>
		<link>http://tech.navarr.me/2010/04/why-supertweets-wont-kill-url-shorteners.html</link>
		<comments>http://tech.navarr.me/2010/04/why-supertweets-wont-kill-url-shorteners.html#comments</comments>
		<pubDate>Wed, 14 Apr 2010 19:38:37 +0000</pubDate>
		<dc:creator>Navarr</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Twitter]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[bit.ly]]></category>
		<category><![CDATA[supertweets]]></category>
		<category><![CDATA[twitter]]></category>
		<category><![CDATA[url shorteners]]></category>

		<guid isPermaLink="false">http://tech.gtaero.net/2010/04/why-supertweets-wont-kill-url-shorteners.html</guid>
		<description><![CDATA[Now, the title of this blog post makes it sound like I’m going to write an essay about why SuperTweets (and the probability of them having a URL metadata for tweets) will not be killing URL Shorteners like j.mp and bit.ly anytime soon. 1) URL Shorteners Keep You Safe One of the things URL shorteners [...]]]></description>
			<content:encoded><![CDATA[<p>Now, the title of this blog post makes it sound like I’m going to write an essay about why SuperTweets (and the probability of them having a URL metadata for tweets) will not be killing URL Shorteners like j.mp and bit.ly anytime soon.</p>
<h3>1) URL Shorteners Keep You Safe</h3>
<p>One of the things URL shorteners do now is they keep you safe from malicious websites.&#160; You can preview the site you are visiting, and if its determined to be delicious the short URL will either be deleted or blocked or a warning will be shown, letting you know it is no longer safe to visit that URL.</p>
<h3>2) URL Shorteners are Branded</h3>
<p>All I really have to say here is “Bit.ly Pro”&#160; URL Shorteners now have custom branding, so it makes it even easier to send people to your website or promote your brand on twitter by including the link in the text.</p>
<h3>3) URL Shorteners are Easy to Remember</h3>
<p>When they are used correctly.&#160; Services like bit.ly allow you to give a custom name to your short link.&#160; This is especially useful in media such as Television or Print: <a href="http://j.mp/cnn-transgender">http://j.mp/cnn-transgender</a> is much easier to remember and type than <a href="http://www.cnn.com/2010/LIVING/04/14/transgender.irpt/index.html?hpt=C1">www.cnn.com/2010/LIVING/04/14/transgender.irpt/index.html?hpt=C1</a></p>
<p>With even just these three simple reasons in mind, it is very clear to me that URL shorteners will not be dying anytime soon, no matter how much metadata you can attach to tweets.&#160; I’m not even sure they’re bad for the internet, anymore.</p>
]]></content:encoded>
			<wfw:commentRss>http://tech.navarr.me/2010/04/why-supertweets-wont-kill-url-shorteners.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Very Best Thing about Unixkcd</title>
		<link>http://tech.navarr.me/2010/04/the-very-best-thing-about-unixkcd.html</link>
		<comments>http://tech.navarr.me/2010/04/the-very-best-thing-about-unixkcd.html#comments</comments>
		<pubDate>Thu, 01 Apr 2010 10:39:42 +0000</pubDate>
		<dc:creator>Navarr</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://tech.gtaero.net/2010/04/the-very-best-thing-about-unixkcd.html</guid>
		<description><![CDATA[guest@xkcd:/$ make me a sandwich What? Make it yourself. guest@xkcd:/$ sudo make me a sandwich Okay.]]></description>
			<content:encoded><![CDATA[<blockquote><p>guest@xkcd:/$ make me a sandwich</p>
<p>What? Make it yourself.</p>
<p>guest@xkcd:/$ sudo make me a sandwich</p>
<p>Okay.</p>
</blockquote>
]]></content:encoded>
			<wfw:commentRss>http://tech.navarr.me/2010/04/the-very-best-thing-about-unixkcd.html/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Geosense &#8211; I&#8217;m in Love</title>
		<link>http://tech.navarr.me/2010/03/geosense-im-in-love.html</link>
		<comments>http://tech.navarr.me/2010/03/geosense-im-in-love.html#comments</comments>
		<pubDate>Mon, 01 Mar 2010 10:13:03 +0000</pubDate>
		<dc:creator>Navarr</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://tech.gtaero.net/2010/03/geosense-im-in-love.html</guid>
		<description><![CDATA[I love applications that fill in where hardware fails, but this one is really taking the cake!&#160; Geosense for Windows gives you the capabilities of a GPS sensor in your computer (but without the actual hardware!)&#160; It uses Google Location Services to triangulate your location and provide your coordinates to applications that request them. Unfortunately, [...]]]></description>
			<content:encoded><![CDATA[<p align="center"><img title="Geosense for Windows" alt="Geosense for Windows" src="http://www.geosenseforwindows.com/images/logo.png" /></p>
<p align="left">I love applications that fill in where hardware fails, but this one is really taking the cake!&#160; <strong><a href="http://www.geosenseforwindows.com/">Geosense for Windows</a></strong> gives you the capabilities of a GPS sensor in your computer (but without the actual hardware!)&#160; It uses Google Location Services to triangulate your location and provide your coordinates to applications that request them.</p>
<p align="left"><a href="http://tech.gtaero.net/wp-content/uploads/2010/03/image2.png" rel="lightbox[388]"><img style="display: block; float: none; margin-left: auto; margin-right: auto" title="Sensor Properties Dialog" alt="Sensor Properties Dialog" src="http://tech.gtaero.net/wp-content/uploads/2010/03/image_thumb2.png" width="500" height="310" /></a> </p>
<p>Unfortunately, not many applications use this type of data (yet) but <a href="http://www.istartedsomething.com/20100301/geosense-for-windows-location-released/">Long Zheng</a> and <a href="http://www.withinwindows.com/2010/03/01/geosense-the-first-really-really-cool-windows-sensor/">Rafael Rivera</a> are hoping that with this new default driver for PCs without GPS, that many more developers will embrace the creation of geo-location in desktop applications.</p>
<p>Continue Reading for Code Snippets</p>
<p> <span id="more-388"></span>
<p>To that effect, I’ve included some Code Snippets that were originally posted on <a href="http://www.theleagueofpaul.com/blog/2010/03/01/geosense-for-windows-for-devs/">The League of Paul</a>:</p>
<p>Use with the <a href="http://code.msdn.microsoft.com/SensorsAndLocation/Release/ProjectReleases.aspx?ReleaseId=2359">Sensor and Location .NET Interop Sample Library</a>:</p>
<pre><div id="wpshdo_2" class="wp-synhighlighter-outer"><div id="wpshdt_2" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_2"></a><a id="wpshat_2" class="wp-synhighlighter-title" href="#codesyntax_2"  onClick="javascript:wpsh_toggleBlock(2)" title="Click to show/hide code block">Code block</a></td><td align="right"><a href="#codesyntax_2" onClick="javascript:wpsh_code(2)" title="Show code only"><img border="0" style="border: 0 none" src="http://tech.navarr.me/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_2" onClick="javascript:wpsh_print(2)" title="Print code"><img border="0" style="border: 0 none" src="http://tech.navarr.me/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://tech.navarr.me/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://tech.navarr.me/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_2" class="wp-synhighlighter-inner" style="display: block;"><pre class="cpp" style="font-family:monospace;"><span style="color: #0000ff;">using</span> Windows7.<span style="color: #007788;">Location</span><span style="color: #008080;">;</span>
&nbsp;
<span style="color: #0000ff;">public</span> <span style="color: #0000ff;">class</span> Location
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">public</span> String City <span style="color: #008000;">&#123;</span> get<span style="color: #008080;">;</span> set<span style="color: #008080;">;</span> <span style="color: #008000;">&#125;</span>
    <span style="color: #0000ff;">public</span> String Country <span style="color: #008000;">&#123;</span> get<span style="color: #008080;">;</span> set<span style="color: #008080;">;</span> <span style="color: #008000;">&#125;</span>
    <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">double</span> Latitude <span style="color: #008000;">&#123;</span> get<span style="color: #008080;">;</span> set<span style="color: #008080;">;</span> <span style="color: #008000;">&#125;</span>
    <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">double</span> Longitude <span style="color: #008000;">&#123;</span> get<span style="color: #008080;">;</span> set<span style="color: #008080;">;</span> <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span>
&nbsp;
<span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">class</span> GlobalPosition
<span style="color: #008000;">&#123;</span>
    <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">static</span> LatLongLocationProvider _provider<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">static</span> CivicAddressLocationProvider _civicprovider<span style="color: #008080;">;</span>
    <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">static</span> <span style="color: #0000ff;">bool</span> _loadproviderthrowsexception <span style="color: #000080;">=</span> <span style="color: #0000ff;">false</span><span style="color: #008080;">;</span>
    <span style="color: #0000ff;">private</span> <span style="color: #0000ff;">const</span> uint DEFAULT_REPORT_INTERVAL <span style="color: #000080;">=</span> <span style="color: #0000dd;">0</span><span style="color: #008080;">;</span>
&nbsp;
    <span style="color: #0000ff;">public</span> <span style="color: #0000ff;">static</span> Location GetLocation<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span>
    <span style="color: #008000;">&#123;</span>
        Location l <span style="color: #000080;">=</span> <span style="color: #0000dd;">new</span> Location<span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
&nbsp;
        <span style="color: #0000ff;">try</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>_loadproviderthrowsexception<span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                <span style="color: #0000ff;">return</span> null<span style="color: #008080;">;</span>
            <span style="color: #008000;">&#125;</span>
&nbsp;
            <span style="color: #0000ff;">if</span> <span style="color: #008000;">&#40;</span>_provider <span style="color: #000080;">==</span> null<span style="color: #008000;">&#41;</span>
            <span style="color: #008000;">&#123;</span>
                _provider <span style="color: #000080;">=</span> <span style="color: #0000dd;">new</span> LatLongLocationProvider<span style="color: #008000;">&#40;</span>DEFAULT_REPORT_INTERVAL<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
                _civicprovider <span style="color: #000080;">=</span> <span style="color: #0000dd;">new</span> CivicAddressLocationProvider<span style="color: #008000;">&#40;</span>DEFAULT_REPORT_INTERVAL<span style="color: #008000;">&#41;</span><span style="color: #008080;">;</span>
            <span style="color: #008000;">&#125;</span>
            var y <span style="color: #000080;">=</span> _civicprovider.<span style="color: #007788;">GetReport</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> as CivicAddressLocationReport<span style="color: #008080;">;</span>
&nbsp;
            l.<span style="color: #007788;">City</span> <span style="color: #000080;">=</span> y.<span style="color: #007788;">City</span><span style="color: #008080;">;</span>
            l.<span style="color: #007788;">Country</span> <span style="color: #000080;">=</span> y.<span style="color: #007788;">CountryOrRegion</span><span style="color: #008080;">;</span>
&nbsp;
            var x <span style="color: #000080;">=</span> _provider.<span style="color: #007788;">GetReport</span><span style="color: #008000;">&#40;</span><span style="color: #008000;">&#41;</span> as LatLongLocationReport<span style="color: #008080;">;</span>
            l.<span style="color: #007788;">Latitude</span> <span style="color: #000080;">=</span> x.<span style="color: #007788;">Latitude</span><span style="color: #008080;">;</span>
            l.<span style="color: #007788;">Longitude</span> <span style="color: #000080;">=</span> x.<span style="color: #007788;">Longitude</span><span style="color: #008080;">;</span>
            <span style="color: #0000ff;">return</span> l<span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
        <span style="color: #0000ff;">catch</span> <span style="color: #008000;">&#40;</span>Exception ex<span style="color: #008000;">&#41;</span>
        <span style="color: #008000;">&#123;</span>
            <span style="color: #0000ff;">return</span> null<span style="color: #008080;">;</span>
        <span style="color: #008000;">&#125;</span>
&nbsp;
    <span style="color: #008000;">&#125;</span>
<span style="color: #008000;">&#125;</span></pre></div></div></pre>
<p>and Powershell:</p>
<pre><div id="wpshdo_3" class="wp-synhighlighter-outer"><div id="wpshdt_3" class="wp-synhighlighter-expanded"><table border="0" width="100%"><tr><td align="left" width="80%"><a name="#codesyntax_3"></a><a id="wpshat_3" class="wp-synhighlighter-title" href="#codesyntax_3"  onClick="javascript:wpsh_toggleBlock(3)" title="Click to show/hide code block">Code block</a></td><td align="right"><a href="#codesyntax_3" onClick="javascript:wpsh_code(3)" title="Show code only"><img border="0" style="border: 0 none" src="http://tech.navarr.me/wp-content/plugins/wp-synhighlight/themes/default/images/code.png" /></a>&nbsp;<a href="#codesyntax_3" onClick="javascript:wpsh_print(3)" title="Print code"><img border="0" style="border: 0 none" src="http://tech.navarr.me/wp-content/plugins/wp-synhighlight/themes/default/images/printer.png" /></a>&nbsp;<a href="http://tech.navarr.me/wp-content/plugins/wp-synhighlight/About.html" target="_blank" title="Show plugin information"><img border="0" style="border: 0 none" src="http://tech.navarr.me/wp-content/plugins/wp-synhighlight/themes/default/images/info.gif" /></a>&nbsp;</td></tr></table></div><div id="wpshdi_3" class="wp-synhighlighter-inner" style="display: block;"><pre class="powershell" style="font-family:monospace;"><span style="color: #000000;">&#91;</span>Reflection.Assembly<span style="color: #000000;">&#93;</span>::<span style="color: #800000;">LoadFile</span><span style="color: #000000;">&#40;</span><span style="color: #800000;">&quot;\Windows7.SensorAndLocation.dll&quot;</span><span style="color: #000000;">&#41;</span>
<span style="color: #800080;">$provider</span> <span style="color: pink;">=</span> <span style="color: #008080; font-weight: bold;">new-object</span> Windows7.Location.LatLongLocationProvider<span style="color: #000000;">&#40;</span>0<span style="color: #000000;">&#41;</span>
<span style="color: #800080;">$position</span> <span style="color: pink;">=</span> <span style="color: #800080;">$provider</span>.GetReport<span style="color: #000000;">&#40;</span><span style="color: #000000;">&#41;</span>
<span style="color: #800080;">$position</span>.Latitude
<span style="color: #800080;">$position</span>.Longitude</pre></div></div></absolute></pre>
]]></content:encoded>
			<wfw:commentRss>http://tech.navarr.me/2010/03/geosense-im-in-love.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

