<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>My Tech Blog</title><link>http://www.gideondsouza.com:80/blog</link><description>My Tech Blog</description><item><title>You get The type or namespace name Controller could not be found (are you missing a using directive or an assembly reference?) when adding a reference to an asp.net-mvc project</title><link>http://www.gideondsouza.com:80/blog/you-get-the-type-or-namespace-name-controller-could-not-be-found-are-you-missing-a-using-directive-or-an-assembly-reference-when-adding-a-reference-to-an-asp.net-mvc-project</link><description>&lt;p&gt;Have you by any chance, added a reference to an asp.net-mvc project from a Windows or Console project, and then you get:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;The type or namespace name 'Controller' could not be found (are you missing a using directive or an assembly reference?) &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Well the issue is fairly simple. &lt;/p&gt;

&lt;p&gt;&lt;strong&gt;tl:dr&lt;/strong&gt; : Just open project properties &gt; Set the Target Framework to '.NET Framework 4' (or 3.5 whichever you're looking at) instead of &lt;strong&gt;client profile&lt;/strong&gt;. Then &lt;strong&gt;Add Reference&lt;/strong&gt; to &lt;strong&gt;System.Web.Mvc&lt;/strong&gt;. And you're set :)&lt;/p&gt;
</description><pubDate>Wed, 09 Jan 2013 09:25:00 GMT</pubDate><guid isPermaLink="true">http://www.gideondsouza.com:80/blog/you-get-the-type-or-namespace-name-controller-could-not-be-found-are-you-missing-a-using-directive-or-an-assembly-reference-when-adding-a-reference-to-an-asp.net-mvc-project</guid></item><item><title>how to authenticate with oauth in perl (Dancer, GitHub, LWP::UserAgent) </title><link>http://www.gideondsouza.com:80/blog/how-to-authenticate-with-oauth-in-perl</link><description>&lt;p&gt;I've been playing with perl a lot lately and after recently playing with Catalyst, I moved on to Dancer.&lt;/p&gt;

&lt;p&gt;Dancer has a &lt;a href="http://search.cpan.org/dist/Dancer/lib/Dancer/Tutorial.pod"&gt;nice tutorial&lt;/a&gt; with a &lt;a href="https://github.com/PerlDancer/dancer-tutorial"&gt;simple dummy blog application. The app is on GitHub here&lt;/a&gt;. It describes quite a few aspects about Dancer, including sessions, routes, storage and displaying pages.&lt;/p&gt;

&lt;p&gt;It's a neat little example in that it's hardly a few files.&lt;/p&gt;

&lt;p&gt;Naturally I wanted to get my hands dirty and wanted to try and implement OAuth authentication with github. I don't mean by pulling a nice CPAN module (there isn't one) but writing the whole OAuth flow myself. Fortunately I found this to be a simple task.&lt;/p&gt;

&lt;p&gt;I managed to change the authentication in the sample dancer app to login with github. &lt;a href="https://github.com/gideondsouza/dancer-tutorial"&gt;I added this in a forked project.&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;So I'm going to describe the following:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Use &lt;a href="http://search.cpan.org/~gaas/libwww-perl-6.04/lib/LWP/UserAgent.pm"&gt;LWP::UserAgent&lt;/a&gt; to make requests to github &lt;/li&gt;
&lt;li&gt;Use &lt;a href="https://metacpan.org/module/JSON::Parse"&gt;JSON::Parse&lt;/a&gt; to gather the response from GitHub&lt;/li&gt;
&lt;li&gt;Set a session object to the username and avatar img url and use this on the masterpage (main.tt).&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;So you can see the forked project files. I just changed &lt;a href="https://github.com/gideondsouza/dancer-tutorial/blob/master/dancr.pl"&gt;dancr.pl&lt;/a&gt; and &lt;a href="https://github.com/gideondsouza/dancer-tutorial/blob/master/views/layouts/main.tt"&gt;main.tt&lt;/a&gt;. I also removed &lt;code&gt;login.tt&lt;/code&gt; since there is no need for that. You have to &lt;a href="https://github.com/settings/applications"&gt;add your application with github&lt;/a&gt; and then you'll get a &lt;code&gt;client id&lt;/code&gt; and &lt;code&gt;client secret&lt;/code&gt;.&lt;/p&gt;

&lt;h3&gt;Step 1 :&lt;/h3&gt;

&lt;p&gt;To login you have to redirect to &lt;code&gt;https://github.com/login/oauth/authorize&lt;/code&gt; with the following params : &lt;code&gt;YOUR CLIENT ID&lt;/code&gt;, &lt;code&gt;redirect url&lt;/code&gt;, &lt;code&gt;scope&lt;/code&gt; (these are permissions you want) and finally &lt;code&gt;state&lt;/code&gt; which is used to prevent &lt;a href="http://www.codinghorror.com/blog/2008/09/cross-site-request-forgeries-and-you.html"&gt;cross-site request forgery attacks&lt;/a&gt;&lt;/p&gt;

  &lt;script src="https://gist.github.com/4407530.js"&gt;&lt;/script&gt;

&lt;p&gt;I added two variables on the top and the login route changes to &lt;strong&gt;just&lt;/strong&gt; redirect the user to githubs login page. If the user allows your app, then github will send a special &lt;code&gt;code&lt;/code&gt; to your app by calling your &lt;strong&gt;callback url&lt;/strong&gt;. &lt;/p&gt;

&lt;h3&gt;Step 2 :&lt;/h3&gt;

&lt;p&gt;Goto your &lt;code&gt;Github &amp;gt; Account Settings -&amp;gt; Applications -&amp;gt; Your App -&amp;gt; Callback Url&lt;/code&gt;. &lt;strong&gt;Note&lt;/strong&gt; you can set this to localhost byt specifying it like this &lt;code&gt;127.0.0.1:&amp;lt;SOMEPORT&amp;gt;&lt;/code&gt;. I setup this url to &lt;code&gt;/auth/github/callback&lt;/code&gt;. So in my &lt;code&gt;dancr.pl&lt;/code&gt; I added this route, hopefully the comments should be a good explanation:&lt;/p&gt;

 &lt;script src="https://gist.github.com/4407631.js"&gt;&lt;/script&gt;

&lt;p&gt;This route sub uses a helper method that looks like the following, it parses the query string into a hash.&lt;/p&gt;

 &lt;script src="https://gist.github.com/4407649.js"&gt;&lt;/script&gt;

&lt;h3&gt;Step 3 :&lt;/h3&gt;

&lt;p&gt;The above step adds a few session variables if all goes well, so I then use these in the main.tt page like this:&lt;/p&gt;

 &lt;script src="https://gist.github.com/4407696.js"&gt;&lt;/script&gt; 

&lt;p&gt;And that's about it. If all goes well your homepage should look like this:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.gideondsouza.com/Media/Default/BlogPost/blog/Screen Shot 2012-12-29 at 9.19.57 PM.png" alt="Dancr screenie"&gt;&lt;/p&gt;

&lt;p&gt;Any comments, feedback and insults about this article are very welcome! :)&lt;/p&gt;
</description><pubDate>Sat, 29 Dec 2012 16:04:17 GMT</pubDate><guid isPermaLink="true">http://www.gideondsouza.com:80/blog/how-to-authenticate-with-oauth-in-perl</guid></item><item><title>iis website is not accessible over network even though you can ping it</title><link>http://www.gideondsouza.com:80/blog/iis-website-is-not-accessible-over-network-even-though-you-can-ping-it</link><description>&lt;p&gt;So you hosted your website on IIS...&lt;/p&gt;

&lt;p&gt;..You can ping the machine it's hosted on but you can't seem to see the site.&lt;/p&gt;

&lt;p&gt;Well, the problem is pretty simple. Most likely it's your firewall blocking &lt;/p&gt;

&lt;p&gt;To isolate the problem quickly, it's a good idea to just &lt;strong&gt;shut your firewall&lt;/strong&gt; momentarily and see if your site works.&lt;/p&gt;

&lt;p&gt;Here are seven quick steps on how to update your firewall for IIS:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;p&gt;Click &lt;strong&gt;Start&lt;/strong&gt; and &lt;strong&gt;type firewall&lt;/strong&gt;. Find and select &lt;strong&gt;Windows Firewall with Advanced Security&lt;/strong&gt;.&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;In the window you see, Click &lt;strong&gt;Inbound Rules&lt;/strong&gt; on the right and then on the left click &lt;strong&gt;New Rule&lt;/strong&gt; like so:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.gideondsouza.com/Media/Default/BlogPost/blog/firewall1.PNG" alt="WindowsFirewall_AdvancedOptions"&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;The wizard shows up. Select &lt;strong&gt;Port&lt;/strong&gt; and click Next.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.gideondsouza.com/Media/Default/BlogPost/blog/step2_select port.PNG" alt="Step3"&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;TCP&lt;/strong&gt; and then choose to specify &lt;strong&gt;local port&lt;/strong&gt;. Type &lt;strong&gt;80&lt;/strong&gt;. Click Next.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.gideondsouza.com/Media/Default/BlogPost/blog/step3_tcp_80.PNG" alt="Step4"&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Select &lt;strong&gt;Allow the Connection&lt;/strong&gt;. Click Next.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.gideondsouza.com/Media/Default/BlogPost/blog/step4_allowconn.PNG" alt="Step5"&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Check &lt;strong&gt;domain&lt;/strong&gt;. Additionally you could check Private or Public if you need to host on these networks also.
&lt;img src="http://www.gideondsouza.com/Media/Default/BlogPost/blog/step5_domain.PNG" alt="Step6"&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;Lastly, give this Inbound Rule a name and some details:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.gideondsouza.com/Media/Default/BlogPost/blog/step6_name_finish.PNG" alt="Step7"&gt;&lt;/p&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Hopefully this should get your website back up and running.&lt;/p&gt;
</description><pubDate>Wed, 19 Dec 2012 10:48:00 GMT</pubDate><guid isPermaLink="true">http://www.gideondsouza.com:80/blog/iis-website-is-not-accessible-over-network-even-though-you-can-ping-it</guid></item><item><title>ajax upload files with asp.net-mvc and uploadify</title><link>http://www.gideondsouza.com:80/blog/ajax-upload-files-with-asp.net-mvc-and-uploadify</link><description>&lt;p&gt;After answering a question on stackoverflow I realized uploading files with ajax was something everyone was looking for.&lt;/p&gt;

&lt;p&gt;So to commemorate the &lt;a href="http://stackoverflow.com/badges/310/asp-net-mvc?userid=368070"&gt;asp.net-mvc badge&lt;/a&gt; I won recently I'm writing a full example of how to do this with asp.net-mvc.&lt;/p&gt;

&lt;p&gt;I'll use the &lt;a href="http://www.uploadify.com"&gt;uploadify jquery plugin&lt;/a&gt;. There are &lt;a href="http://www.webdeveloperjuice.com/2010/02/13/7-trusted-ajax-file-upload-plugins-using-jquery/"&gt;many others&lt;/a&gt; you can use too.&lt;/p&gt;

&lt;p&gt;So all in all it's pretty simple. We'll create something that looks like this:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.gideondsouza.com/Media/Default/BlogPost/blog/ajax_upload_mvc_uplodify.PNG" alt="Asp.net-mvc Ajax Upload screenshot"&gt;&lt;/p&gt;

&lt;p&gt;It allows you to select multiple files, uploads them asynchronously. Then appends a link to the file, assuming it's an image.&lt;/p&gt;

&lt;p&gt;I uploaded a picture of my &lt;a href="https://www.sparkfun.com/products/9284"&gt;Arduino Starter Kit&lt;/a&gt; :)&lt;/p&gt;

&lt;h2&gt;How to :&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Create a new asp.net mvc4 web application.&lt;/li&gt;
&lt;li&gt;Delete the &lt;code&gt;Index.cshtml&lt;/code&gt; page under &lt;code&gt;\View\Home\&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Open &lt;code&gt;HomeController.cs&lt;/code&gt; and Right Click the &lt;code&gt;Index()&lt;/code&gt; method.&lt;/li&gt;
&lt;li&gt;Click Add View, and uncheck &lt;em&gt;Use a Layout or Master Page&lt;/em&gt;.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Create an upload method like the following code snippet. 
Your home controller should look like this:&lt;/p&gt;

&lt;script src="https://gist.github.com/4284314.js"&gt;&lt;/script&gt;

&lt;p&gt;&lt;strong&gt;Note&lt;/strong&gt; : Uploadify names the file it sends as 'Filedata'. &lt;/p&gt;

&lt;p&gt;For the view it should look like this:&lt;/p&gt;

&lt;script src="https://gist.github.com/4284335.js"&gt;&lt;/script&gt;

&lt;p&gt;Note : I had to change the css in uploadify.css, line 74 to point to the uploadify-cancel.png correctly.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;74:   background: url('../Content/uploadify-cancel.png') 0 0 no-repeat;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And that's it!!! I have a full sample you can &lt;a href="http://gideondsouza.com/Media/Default/Misc/UploadifyExample.zip"&gt;download here&lt;/a&gt;.&lt;/p&gt;
</description><pubDate>Fri, 14 Dec 2012 10:42:00 GMT</pubDate><guid isPermaLink="true">http://www.gideondsouza.com:80/blog/ajax-upload-files-with-asp.net-mvc-and-uploadify</guid></item><item><title>scraping images with perl</title><link>http://www.gideondsouza.com:80/blog/scraping-images-with-perl</link><description>&lt;p&gt;So I've been dabbling with perl lately and this is how I feel today:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.gideondsouza.com/Media/Default/BlogPost/blog/regular_expressions.png" alt="xkcd.com/208"&gt;&lt;br&gt;
&lt;a href="http://xkcd.com/208/"&gt;See full comic here.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'm going to go through a simple image scraping program I conjured today. I wrote this to scrape images off a t-shirt gallery so that I could help my friend make a choice on his favourite one offline. \()/ &lt;em&gt;Proud to be a nerd&lt;/em&gt; \()/&lt;/p&gt;

&lt;p&gt;So for perl of course there already are modules on CPAN to help. I'm using two:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://search.cpan.org/dist/WWW-Mechanize/"&gt;WWW:Mechanize&lt;/a&gt; [ This is a pretty famous module and can be used for some automation, downloading content from the web etc]&lt;/li&gt;
&lt;li&gt;&lt;a href="http://search.cpan.org/~gaas/HTML-Parser-3.69/lib/HTML/TokeParser.pm"&gt;HTML::TokeParser&lt;/a&gt; [ We'll use this to parse the html and get to the tag we want. ]&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;My target html looked like this:&lt;/p&gt;

&lt;script src="https://gist.github.com/4265424.js"&gt;&lt;/script&gt;

&lt;p&gt;My "algorithm" went something like: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I used &lt;code&gt;WWW::Mechanize::get()&lt;/code&gt; to get the page I wanted. &lt;/li&gt;
&lt;li&gt;After this I supplied the page to &lt;code&gt;Html::TokerParser&lt;/code&gt;. &lt;/li&gt;
&lt;li&gt;From here I went looping through all the tags using the &lt;code&gt;get_tag&lt;/code&gt; function till I found one with the &lt;code&gt;gallery-img2&lt;/code&gt; class. &lt;/li&gt;
&lt;li&gt;Then I jumped to the next &lt;code&gt;img&lt;/code&gt; tag and got the &lt;code&gt;src&lt;/code&gt; attribute.&lt;/li&gt;
&lt;li&gt;And finally I used  &lt;code&gt;WWW::Mechanize::get&lt;/code&gt; to download the image for me.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;The code is thoroughly commented:&lt;/p&gt;

&lt;script src="https://gist.github.com/4264554.js"&gt;&lt;/script&gt;

&lt;p&gt;Any feedback, insults and improvements are welcome! :)&lt;/p&gt;
</description><pubDate>Wed, 12 Dec 2012 06:44:34 GMT</pubDate><guid isPermaLink="true">http://www.gideondsouza.com:80/blog/scraping-images-with-perl</guid></item><item><title>How do you learn to use VIM?</title><link>http://www.gideondsouza.com:80/blog/how-do-you-learn-to-use-vim</link><description>&lt;p&gt;So I've been slowly wading into the world of Linux/Bash/VIM/Perl, and for a windows guy it can be a murky path.&lt;/p&gt;

&lt;p&gt;I recently took up the idea of learning VIM. Yes! It's scary! It barely works like any other text editor you're used to (on Windows especially) so here is the minimal stuff you need to know to get started:&lt;/p&gt;

&lt;h3&gt;VIM has two modes&lt;/h3&gt;

&lt;ol&gt;
&lt;li&gt;Command Mode : Where you can do things like search/navigate etc &lt;/li&gt;
&lt;li&gt;Insert Mode : Where you can type in text. Press the &lt;em&gt;i&lt;/em&gt; Key to go into insert mode and &lt;em&gt;ESC&lt;/em&gt; to get out of it.&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;The following shortcuts will help get you productive on VIM as a beginner:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;To search press &lt;em&gt;/&lt;/em&gt; and then type what you're looking for. &lt;em&gt;n&lt;/em&gt; will take you to the next result and &lt;em&gt;N&lt;/em&gt; will take you back to the previous.&lt;/li&gt;
&lt;li&gt;Navigate up a line in command mode  &lt;em&gt;k&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Navigate down a line in command mode  &lt;em&gt;j&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Navigate left a character in command mode  &lt;em&gt;h&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;Navigate right a character  &lt;em&gt;l&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;To save a file  &lt;em&gt;:w [Press Enter]&lt;/em&gt; (will write to the file)&lt;/li&gt;
&lt;li&gt;To exit without saving (in command mode) &lt;em&gt;:q!&lt;/em&gt;[Press Enter]&lt;/li&gt;
&lt;li&gt;To Undo &lt;em&gt;u&lt;/em&gt;&lt;/li&gt;
&lt;li&gt;You can combine writing and quitting (in command mode): &lt;em&gt;:wq&lt;/em&gt; [Press Enter] Or you could also do &lt;em&gt;:x [Press Enter]&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;These shortcuts should allow you to do most things, to get turn into a power user you could look at many cheat sheets out there like &lt;a href="http://www.tuxfiles.org/linuxhelp/vimcheat.html"&gt;this one&lt;/a&gt; and keep using VIM.&lt;/p&gt;

&lt;p&gt;This is also an interesting little article you should go through:&lt;br&gt;
&lt;a href="http://cloudhead.io/2010/04/24/staying-the-hell-out-of-insert-mode/"&gt;http://cloudhead.io/2010/04/24/staying-the-hell-out-of-insert-mode/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.gideondsouza.com/Media/Default/BlogPost/blog/Screen Shot 2012-12-13 at 9.51.06 PM.png" alt="Editing ScrapeImages.pl in VIM"&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.gideondsouza.com/blog/scraping-images-with-perl"&gt;Read this&lt;/a&gt; for more about this program.&lt;/p&gt;
</description><pubDate>Tue, 11 Dec 2012 07:38:00 GMT</pubDate><guid isPermaLink="true">http://www.gideondsouza.com:80/blog/how-do-you-learn-to-use-vim</guid></item><item><title>CPAN doesn't install anything? Can't exec "make": No such file or directory </title><link>http://www.gideondsouza.com:80/blog/cpan-doesn-t-install-anything-can-t-exec-make-no-such-file-or-directory</link><description>&lt;p&gt;So you're on OSX and cpan just can't seem to install anything?&lt;/p&gt;

&lt;p&gt;Do you see the following somewhere in your shell :&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Can't exec "make": No such file or directory 
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Well then you're in luck, it's a plain simple fix.&lt;/p&gt;

&lt;p&gt;You need Xcode command line tools (of course xcode itself), because &lt;code&gt;make&lt;/code&gt; comes with it. &lt;strong&gt;NOTE&lt;/strong&gt; : If you update to Mountain Lion you will need to install command line tools again! ;)&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Open Xcode&lt;/li&gt;
&lt;li&gt;Click the Xcode menu option on the top and select Preferences. (It's the &lt;code&gt;Command + &amp;lt;comma&amp;gt;&lt;/code&gt; if xcode is focused)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;You'll see the following window, click install on Command Line Tools. Once installed you're good to go! :)&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.gideondsouza.com/Media/Default/BlogPost/blog/Screen Shot 2012-11-26 at 8.28.44 PM.png" alt="XCode Preferences"&gt;&lt;/p&gt;

&lt;p&gt;You can even check if everything is ok by trying to run make on the command line:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;$ make 
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Lastly, you can also get the Command Line Tools as a &lt;code&gt;dmg&lt;/code&gt; for download from here:&lt;br&gt;
&lt;a href="https://developer.apple.com/downloads/index.action"&gt;https://developer.apple.com/downloads/index.action&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;But you'll need to sign in with your AppleID&lt;/p&gt;
</description><pubDate>Mon, 26 Nov 2012 15:15:19 GMT</pubDate><guid isPermaLink="true">http://www.gideondsouza.com:80/blog/cpan-doesn-t-install-anything-can-t-exec-make-no-such-file-or-directory</guid></item><item><title>solutions to sqlzoo.net More Join Operation Questions (Movie Database)</title><link>http://www.gideondsouza.com:80/blog/solutions-to-sqlzoo.net-more-join-operation-questions-movie-database</link><description>&lt;p&gt;While meandering around the web for sql exercises and tutorials I came across &lt;a href="http://www.sqlzoo.net"&gt;www.sqlzoo.net&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;It is the perfect place to get hands on knowledge for SQL, especially JOINS!&lt;/p&gt;

&lt;p&gt;Below are solutions to all the questions on the &lt;a href="http://sqlzoo.net/wiki/More_JOIN_operations"&gt;More JOIN Operations&lt;/a&gt; tutorial. Questions 1-6 are plain straightforward. Questions 7-11 are basic join questions and 12-16 and pretty hard. I ended up spending quite some time trying to solve the last bunch.&lt;/p&gt;

&lt;p&gt;Here are all the solutions in case you got stumped. (I just included all questions for completeness)&lt;/p&gt;

&lt;h3&gt;Problem 1 : List the films where the yr is 1962 [Show id, title]&lt;/h3&gt;

&lt;p&gt;This one is pretty straigh-forward.&lt;/p&gt;

&lt;script src="https://gist.github.com/3551780.js"&gt; &lt;/script&gt;

&lt;h3&gt;Problem 2 : Give year of 'Citizen Kane'.&lt;/h3&gt;

&lt;p&gt;This one too : &lt;/p&gt;

&lt;script src="https://gist.github.com/3551783.js"&gt; &lt;/script&gt;

&lt;h3&gt;Problem 3 : List all of the Star Trek movies, include the id title and yr. (All of these movies include the words Star Trek in the title.)&lt;/h3&gt;

&lt;script src="https://gist.github.com/3551454.js"&gt; &lt;/script&gt;

&lt;h3&gt;Problem 4 : What are the titles of the films with id 11768, 11955, 21191&lt;/h3&gt;

&lt;script src="https://gist.github.com/3551463.js"&gt; &lt;/script&gt;

&lt;h3&gt;Problem 5 : What id number does the actor 'Glenn Close' have?&lt;/h3&gt;

&lt;script src="https://gist.github.com/3551476.js"&gt; &lt;/script&gt;

&lt;h3&gt;Problem 6 : What is the id of the film 'Casablanca'&lt;/h3&gt;

&lt;script src="https://gist.github.com/3551479.js"&gt; &lt;/script&gt;

&lt;hr&gt;

&lt;h2&gt;Real join questions begin :&lt;/h2&gt;

&lt;h3&gt;Problem 7 : Obtain the cast list for 'Casablanca'. Use the id value that you obtained in the previous question.&lt;/h3&gt;

&lt;script src="https://gist.github.com/3551492.js"&gt; &lt;/script&gt;

&lt;h3&gt;Problem 8 : Obtain the cast list for the film 'Alien'&lt;/h3&gt;

&lt;script src="https://gist.github.com/3551529.js"&gt; &lt;/script&gt;

&lt;h3&gt;Problem 9 : List the films in which 'Harrison Ford' has appeared&lt;/h3&gt;

&lt;script src="https://gist.github.com/3551537.js"&gt; &lt;/script&gt;

&lt;h3&gt;Problem 10 : List the films where 'Harrison Ford' has appeared - but not in the star role. [Note: the ord field of casting gives the position of the actor. If ord=1 then this actor is in the starring role]&lt;/h3&gt;

&lt;script src="https://gist.github.com/3551544.js"&gt; &lt;/script&gt;

&lt;h3&gt;Problem 11: List the films together with the leading star for all 1962 films.&lt;/h3&gt;

&lt;script src="https://gist.github.com/3551556.js"&gt; &lt;/script&gt;

&lt;hr&gt;

&lt;h2&gt;Hard Questions.&lt;/h2&gt;

&lt;h3&gt;These questions are a little bit hard. Give some time to crack them before looking at the solutions.&lt;/h3&gt;

&lt;h3&gt;Problem 12 : Which were the busiest years for 'John Travolta'. Show the number of movies he made for each year.&lt;/h3&gt;

&lt;script src="https://gist.github.com/3551570.js"&gt; &lt;/script&gt;

&lt;h3&gt;Problem 13 : List the film title and the leading actor for all of 'Julie Andrews' films.&lt;/h3&gt;

&lt;script src="https://gist.github.com/3551578.js"&gt; &lt;/script&gt;

&lt;h3&gt;Problem 14 : Obtain a list of actors in who have had at least 30 starring roles. (Yep, the result set this generates is a empty set)&lt;/h3&gt;

&lt;script src="https://gist.github.com/3551585.js"&gt; &lt;/script&gt;

&lt;h3&gt;Problem 15 : List the 1978 films by order of cast list size.&lt;/h3&gt;

&lt;script src="https://gist.github.com/3551594.js"&gt; &lt;/script&gt;

&lt;h3&gt;Problem 16 : List all the people who have worked with 'Art Garfunkel'.&lt;/h3&gt;

&lt;script src="https://gist.github.com/3551605.js"&gt; &lt;/script&gt;

&lt;p&gt;And there you have it! Hope it was helpful.&lt;/p&gt;
</description><pubDate>Fri, 31 Aug 2012 11:40:48 GMT</pubDate><guid isPermaLink="true">http://www.gideondsouza.com:80/blog/solutions-to-sqlzoo.net-more-join-operation-questions-movie-database</guid></item><item><title>Time Predict</title><link>http://www.gideondsouza.com:80/blog/time-predict</link><description>&lt;p&gt;Time Predict is finally out! I've been working on it for sometime now and bothering my friends and colleagues to test it out for me.&lt;/p&gt;

&lt;p&gt;It's a simple application I wrote, pretty much a port of http://easyclock.appspot.com/ but it's &lt;strong&gt;on Android&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;This app came more out of a need I myself had. Hopefully it will be useful to other people too.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.gideondsouza.timepredict"&gt;&lt;img src="http://www.gideondsouza.com/Media/Default/BlogPost/blog/ice_pi_cropped.png" alt="Time Predict Screenie"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://play.google.com/store/apps/details?id=com.gideondsouza.timepredict"&gt;Get it from the market here.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'm very open to any Comments and Suggestions :)&lt;/p&gt;
</description><pubDate>Sun, 24 Jun 2012 13:15:00 GMT</pubDate><guid isPermaLink="true">http://www.gideondsouza.com:80/blog/time-predict</guid></item><item><title>How to get the current location, address and send it to a server on android</title><link>http://www.gideondsouza.com:80/blog/how-to-get-the-current-location-address-and-send-it-to-a-server-on-android</link><description>&lt;p&gt;Location, Location, Location! Well this article isn't all about location.&lt;/p&gt;

&lt;p&gt;Things I will cover in this article:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Get the location of the users device (via the NETWORK). This will be latitude and longitude.&lt;/li&gt;
&lt;li&gt;Reverse-Geo code information from the first step and get an address&lt;/li&gt;
&lt;li&gt;Send that off to a server via Http GET. (This is typically what you would want to do given a location ;) )&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;Getting a location&lt;/h3&gt;

&lt;p&gt;So first off, how do we get the users current latitude and longitude? There are two options (1) We could use the Network (2) Or the GPS. Somehow, getting a location from the network is quite accurate (I tested it a couple times) and it's fairly fast. Getting a location from the GPS then isn't too difficult.&lt;/p&gt;

&lt;p&gt;So in a default Android application you would want to add the following permission in your AndroidManifest.xml :&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;This is if you're using the network, to use the GPS you would need:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I have an &lt;code&gt;AddressActivity.java&lt;/code&gt; and a &lt;code&gt;main.xml&lt;/code&gt;. My view looks like this:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.gideondsouza.com/Media/Default/BlogPost/blog/eclipse_mainxml_Design.JPG" alt="main.xml design view"&gt;&lt;/p&gt;

&lt;p&gt;The first button gets my location and the code is below. This is pretty straightforward and the snippet is plagiarized straight from the &lt;a href="http://developer.android.com/guide/topics/location/obtaining-user-location.html"&gt;Android docs here&lt;/a&gt;. I have two activity level variables &lt;code&gt;lat&lt;/code&gt; and &lt;code&gt;lon&lt;/code&gt;, I store the locations here so I can use them later.&lt;/p&gt;

&lt;script src="https://gist.github.com/2864370.js"&gt; &lt;/script&gt;

&lt;p&gt;To get a location from the GPS you would just change this line:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, locationListener);
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;To:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER, 0, 0, locationListener);
&lt;/code&gt;&lt;/pre&gt;

&lt;h3&gt;Getting an Address&lt;/h3&gt;

&lt;p&gt;The magic for reverse geo-coding comes from the &lt;a href="http://developer.android.com/reference/android/location/Geocoder.html"&gt;Geocoder class&lt;/a&gt;.  You would need the Internet permission in your manifest and this results in an internet call. &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;uses-permission android:name="android.permission.INTERNET"/&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I encapsulate all my geocoder stuff into a &lt;code&gt;GetAddress()&lt;/code&gt; function which I call from my &lt;code&gt;btnAddress&lt;/code&gt;. It looks like this:&lt;/p&gt;

&lt;script src="https://gist.github.com/2864432.js"&gt; &lt;/script&gt;

&lt;h3&gt;Send to the Internet&lt;/h3&gt;

&lt;p&gt;Now typically when you get this far, you want to send this information off to your server somewhere and then do something useful with it. So the last function &lt;code&gt;postData()&lt;/code&gt; sends a latitude and longitude to my server. I made little dummy program on AppHabour in ASP.NET-MVC3. It sends the data via GET through a URL.&lt;/p&gt;

&lt;p&gt;No doubt you need the INTERNET permission as I described earlier. The code looks like this:&lt;/p&gt;

&lt;script src="https://gist.github.com/2864460.js"&gt; &lt;/script&gt;

&lt;p&gt;And there you have it! &lt;/p&gt;

&lt;p&gt;You can &lt;a href="http://www.gideondsouza.com/Media/Default/Misc/AndroidAddressApp.zip"&gt;download a fully runnable project of all this code from here&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Hopefully soon I will use an AsyncTask to wrap up all of this code, so it happens asynchronously.  &lt;/p&gt;
</description><pubDate>Sun, 03 Jun 2012 18:24:23 GMT</pubDate><guid isPermaLink="true">http://www.gideondsouza.com:80/blog/how-to-get-the-current-location-address-and-send-it-to-a-server-on-android</guid></item><item><title>a superfast way to search for prime numbers [sieve of eratosthenes]</title><link>http://www.gideondsouza.com:80/blog/a-superfast-way-to-search-for-prime-numbers</link><description>&lt;p&gt;I've been dabbling a little lately on &lt;em&gt;pure&lt;/em&gt; computer science stuff like computational complexity, algorithm design and math. (And interestingly I failed high school math quite badly once)&lt;/p&gt;

&lt;p&gt;Project Euler has been an interesting learning/practice ground : &lt;a href="http://projecteuler.net/about"&gt;http://projecteuler.net/about&lt;/a&gt; &lt;/p&gt;

&lt;p&gt;The problems here involve some math, but also deal with time complexity. If done wrong, some of the solutions to their problems could take days or longer (maybe years) to complete.&lt;/p&gt;

&lt;p&gt;Today at &lt;a href="http://projecteuler.net/problem=10"&gt;problem 10&lt;/a&gt; this was the case:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Find the sum of all the primes below two million.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;A normal &lt;em&gt;brute-force&lt;/em&gt; method just took way too long. On a relatively fast machine using the following method for checking for primes took nearly 22 minutes to run:&lt;/p&gt;

&lt;script src="https://gist.github.com/1978856.js"&gt; &lt;/script&gt;

&lt;p&gt;&lt;strong&gt;Enter-&lt;/strong&gt; Sieve of Eratosthenes : An interestingly fast way to find primes. &lt;/p&gt;

&lt;p&gt;You make a list of all your target numbers, in our case 1 to 2 million, then remove (or filter) all the multiples of numbers starting with two. You keep going removing multiples and your list ends up being only &lt;strong&gt;prime numbers&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Here's a visualization from the &lt;a href="http://en.wikipedia.org/wiki/Sieve_of_eratosthenes"&gt;wikipedia article&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.gideondsouza.com/Media/Default/BlogPost/blog/Sieve_of_Eratosthenes_animation.gif" alt="Visualization of Sieve of Eratosthenes"&gt;&lt;/p&gt;

&lt;p&gt;Here is a snippet of how I implemented it for the problem. See my whole problem solved &lt;a href="https://github.com/gideondsouza/ProjectEuler_CSharp/blob/master/ProjectEuler/Problems/Problem10.cs"&gt;here&lt;/a&gt;&lt;/p&gt;

&lt;script src="https://gist.github.com/1978926.js"&gt; &lt;/script&gt;

&lt;p&gt;&lt;strong&gt;Drum roll!&lt;/strong&gt; It took ~80 millisconds to run!&lt;/p&gt;

&lt;hr&gt;

&lt;p&gt;I'm aching to sneak in the time to get to &lt;code&gt;Level 1&lt;/code&gt; which is 25 problems solved! I just got my decathlete badge today.  Unfortunately the badges don't show in the little flair, they only show in your statistics page:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://projecteuler.net/profile/gideondsouza.png" alt="Project Euler Badge"&gt;&lt;/p&gt;

&lt;p&gt;I'm put up all my problems as I go on github. Check it out here:&lt;br&gt;
&lt;a href="https://github.com/gideondsouza/ProjectEuler_CSharp"&gt;https://github.com/gideondsouza/ProjectEuler_CSharp&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Hopefully this was somewhat insightful. &lt;/p&gt;
</description><pubDate>Mon, 05 Mar 2012 15:52:00 GMT</pubDate><guid isPermaLink="true">http://www.gideondsouza.com:80/blog/a-superfast-way-to-search-for-prime-numbers</guid></item><item><title>Resources for Learning advanced Javascript</title><link>http://www.gideondsouza.com:80/blog/resources-for-learning-advanced-javascript</link><description>&lt;p&gt;So lately I've been trying to learn a lot of javascript. Unfortunately there are too many nuances and funky things about javascript that you probably won't find all in one place&lt;/p&gt;

&lt;p&gt;As always learning by reading good code helps, and what better code repo to look at than the one and only dollar-sign-magic-library, JQuery!&lt;/p&gt;

&lt;p&gt;This nifty source viewer helps you peer into jquery source :&lt;br&gt;
&lt;a href="http://james.padolsey.com/jquery/"&gt;http://james.padolsey.com/jquery/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then there is a BRILLIANT interactive tutorial by the great John Resig:&lt;br&gt;
&lt;a href="http://ejohn.org/apps/learn/"&gt;http://ejohn.org/apps/learn/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Then there is &lt;a href="https://developer.mozilla.org/en/JavaScript"&gt;MDN - Mozilla Developer Network&lt;/a&gt;, this is MSDN for the html/js developer.&lt;/p&gt;

&lt;p&gt;Lastly here is my collection of excellent stackoverflow posts that have helped me understand javascript better:&lt;/p&gt;

&lt;p&gt;General Javascript:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://stackoverflow.com/q/1595611/368070"&gt;How to Properly Create a Custom Object in Javascript&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stackoverflow.com/q/1646698/368070"&gt;What is the "new" Keyword in Javascript&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stackoverflow.com/q/4650513/368070"&gt;Why/What is Javascript Prototyping&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stackoverflow.com/q/8453887/368070"&gt;Why is it necessary to set the Prototype Constructor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stackoverflow.com/q/1467710/368070"&gt;Calling Base method in javascript (using douglas crockfords functional inheritance)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stackoverflow.com/q/6346175/368070"&gt;Why "this " resolution in Javascript so special.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stackoverflow.com/q/1986896/368070"&gt;What is the difference between call and apply.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stackoverflow.com/q/9106665/368070"&gt;How to turn a string into a javascript call (with objects)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stackoverflow.com/q/130404/368070"&gt;Javascript Data formatting (Pretty Printer) - [Printing a data structure]&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stackoverflow.com/q/1098040/368070"&gt;Checking if an associative array key exists in javascript.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stackoverflow.com/q/6921588/368070"&gt;Reflecting the arguments within a javascript function.&lt;/a&gt; also &lt;a href="http://stackoverflow.com/q/662649/368070"&gt;see this post.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stackoverflow.com/q/784929/368070"&gt;What is the !! (not not) operator in Javascript.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stackoverflow.com/q/359494/368070"&gt;Operators : === vs == Does it matter which I use?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stackoverflow.com/q/7009115/368070"&gt;Behavior of delete operator in javascript.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stackoverflow.com/q/6232778/368070"&gt;var myArray, name (Significance of the comma after var declerations) &lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stackoverflow.com/q/801032/368070"&gt;Understand null in javascript.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stackoverflow.com/q/4360466/368070"&gt;Checking for null and undefined in Javascript.&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stackoverflow.com/q/3755606/368070"&gt;How does this work =&gt; !function(){}(); (what does the exclamation mark do)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Some Jquery Posts:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;p&gt;If you look at the JQuery Source, the entire code is in a block like this:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;(function( window, undefined ) {
//all JQuery code is here
})(window);&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://stackoverflow.com/q/2716069/368070"&gt;Here is a post explaining that.&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;p&gt;&lt;a href="http://stackoverflow.com/q/4083351/368070"&gt;What is JQuery.fn, what does is do?&lt;/a&gt;&lt;/p&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://stackoverflow.com/q/4754560/368070"&gt;Understand JQuery's JQuery.fn.init&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Hopefully I'll keep updating this as I go. If you come across any interesting posts, please do share them.&lt;/p&gt;
</description><pubDate>Sun, 26 Feb 2012 16:39:40 GMT</pubDate><guid isPermaLink="true">http://www.gideondsouza.com:80/blog/resources-for-learning-advanced-javascript</guid></item><item><title>A Simple tic tac toe game with QUnit, JQuery and a pure javascript engine</title><link>http://www.gideondsouza.com:80/blog/a-simple-tic-tac-toe-game-with-qunit-jquery-and-a-pure-javascript-engine</link><description>&lt;p&gt;Yes clearly it's been done way too many times, Tic tac toe. Even worse is I haven't implemented any game AI here, in this game two (human) players play against each other.&lt;/p&gt;

&lt;p&gt;Whats interesting about this:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I wrote a little separated &lt;a href="http://www.gideondsouza.com/Media/Default/Misc/ttt/js/engine.js"&gt;engine&lt;/a&gt; to process the game in pure javascript.&lt;/li&gt;
&lt;li&gt;I wrote a unit-test suite with &lt;a href="http://docs.jquery.com/QUnit"&gt;QUNit&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;I hooked up the engine with the UI with JQuery (this is more obvious then interesting)&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;See the screenie below, keeps track of player names, game count and score:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://www.gideondsouza.com/Media/Default/Misc/ttt/tttjs.html"&gt;Check it out live here&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.gideondsouza.com/Media/Default/Misc/ttt/unit-tests.htm"&gt;See the QUnit Test Suite&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I will (if there is any interest) put this out on github. Please do tell me if you find any mistakes in the design, structure or tests here.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.gideondsouza.com/Media/Default/BlogPost/blog/x_o_screenie.JPG" alt="Tic tac toe example screenie"&gt;&lt;/p&gt;
</description><pubDate>Wed, 08 Feb 2012 15:14:46 GMT</pubDate><guid isPermaLink="true">http://www.gideondsouza.com:80/blog/a-simple-tic-tac-toe-game-with-qunit-jquery-and-a-pure-javascript-engine</guid></item><item><title>HRESULT 0x80210015 when using Windows Imaging Acquisition</title><link>http://www.gideondsouza.com:80/blog/hresult-0x80210015-when-using-windows-imaging-a</link><description>&lt;p&gt;So if you don't know yet I have a little class library that makes scanning with a auto document feeder easy. (&lt;a href="http://adfwia.codeplex.com/"&gt;http://adfwia.codeplex.com/&lt;/a&gt;)&lt;/p&gt;

&lt;p&gt;I recently got a couple posts under my &lt;a href="http://adfwia.codeplex.com/discussions/271348"&gt;project discussions&lt;/a&gt; with this error. I had a good idea what the issue was since the library is a result of a project I worked on with WIA. &lt;/p&gt;

&lt;p&gt;Simply =&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Your scanner is &lt;strong&gt;not connected&lt;/strong&gt;&lt;/li&gt;
&lt;li&gt;Or &lt;strong&gt;Not supported&lt;/strong&gt;.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Another user who posted on the &lt;a href="http://adfwia.codeplex.com/discussions/271348"&gt;aforementioned discussion&lt;/a&gt;, fortified this judgement when he did some research.&lt;/p&gt;

&lt;p&gt;It's unfortunate the error has to be so arcane!!&lt;/p&gt;

&lt;p&gt;(The project is also on github here : &lt;a href="https://github.com/gideondsouza/AutoDocumentFeed_for_WIA"&gt;https://github.com/gideondsouza/AutoDocumentFeed&lt;em&gt;for&lt;/em&gt;WIA&lt;/a&gt; )&lt;/p&gt;
</description><pubDate>Tue, 31 Jan 2012 09:08:00 GMT</pubDate><guid isPermaLink="true">http://www.gideondsouza.com:80/blog/hresult-0x80210015-when-using-windows-imaging-a</guid></item><item><title>Learning from seven languages in seven weeks</title><link>http://www.gideondsouza.com:80/blog/learning-from-seven-languages-in-seven-weeks</link><description>&lt;p&gt;Lately I've been trying to break out of my &lt;em&gt;MS stack&lt;/em&gt; shell and learn some new things. I've been writing C# now for about 5 years and using visual studio since v6 so its its been slightly hard to adapt to newer things.&lt;/p&gt;

&lt;p&gt;Sometime ago on a &lt;a href="http://channel9.msdn.com/"&gt;Channel9&lt;/a&gt; talk I heard about this book, and finally it was available in an Indian Edition (which means it's affordable)&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Seven Languages in Seven Weeks: A Pragmatic Guide to Learning Programming Languages &lt;/p&gt;
  
  &lt;p&gt;&lt;img src="http://www.gideondsouza.com/Media/Default/BlogPost/blog/book_cover.jpg" alt="enter image description here"&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;This book is thoroughly interesting because it whizzes through seven different languages, they are : &lt;a href="http://en.wikipedia.org/wiki/Ruby_%28programming_language%29"&gt;Ruby&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Io_%28programming_language%29"&gt;Io&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Prolog"&gt;Prolog&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Scala_%28programming_language%29"&gt;Scala&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Erlang_%28programming_language%29"&gt;Erlang&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Clojure"&gt;Clojure&lt;/a&gt;, &lt;a href="http://en.wikipedia.org/wiki/Haskell_%28programming_language%29"&gt;Haskell&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;The book is divided into a section for each programming language, I'm almost through with the first one, Ruby. The author is funny and smart and most of all talks to you like a programmer. He distills the little nuances of the language and tells you what you need to know. &lt;/p&gt;

&lt;p&gt;As I go through the book I hope to blog about each language and what I've learned.&lt;/p&gt;
</description><pubDate>Thu, 01 Dec 2011 03:21:46 GMT</pubDate><guid isPermaLink="true">http://www.gideondsouza.com:80/blog/learning-from-seven-languages-in-seven-weeks</guid></item><item><title>A nifty export to CSV linq extension</title><link>http://www.gideondsouza.com:80/blog/a-nifty-export-to-csv-linq-extension</link><description>&lt;p&gt;So I've been using this little gem of a code snippet in quite a few apps.&lt;/p&gt;

&lt;p&gt;Nope, I didn't come up with it on my own, I got it from this blog article:&lt;br&gt;
&lt;a href="http://mikehadlow.blogspot.com/2008/06/linq-to-csv.html"&gt;http://mikehadlow.blogspot.com/2008/06/linq-to-csv.html&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;I'm not sure what exactly wasn't working but I changed something I don't quite remember.&lt;/p&gt;

&lt;p&gt;You use it like this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;IList&amp;lt;AnyTypeWithProperties&amp;gt; tableData = ...
tableData.AsCsv();//returns the data as csv in a string.
&lt;/code&gt;&lt;/pre&gt;

&lt;h4&gt;How-To:&lt;/h4&gt;

&lt;p&gt;Add a new file into visual studio, call it 'ExportToCsvExtension.cs' or anything you want. Remember an extension method must be defined on the TOP of its namespace.&lt;/p&gt;

&lt;p&gt;Here is the code:&lt;/p&gt;

&lt;script src="https://gist.github.com/1422966.js"&gt; &lt;/script&gt;

&lt;p&gt;Enjoy!&lt;/p&gt;
</description><pubDate>Sat, 26 Nov 2011 15:05:21 GMT</pubDate><guid isPermaLink="true">http://www.gideondsouza.com:80/blog/a-nifty-export-to-csv-linq-extension</guid></item><item><title>Abstracting reactive extensions for sql server compact and implementing an instant search</title><link>http://www.gideondsouza.com:80/blog/abstracting-reactive-extensions-for-sql-server-compact-and-implementing-an-instant-search</link><description>&lt;p&gt;So in the &lt;a href="http://www.gideondsouza.com/blog/implementing-simple-instant-search-with-rx-reactive-extensions"&gt;last Rx article&lt;/a&gt; I talked about instant search. This article, we're going to go quite a few steps further and search an sql-compact-4 database asychronously! Thats right!&lt;/p&gt;

&lt;p&gt;But! Its going to be a little head churner with lambdas and what nots, because we're going to encapsulate retreiving the data in a nice clean way(in my opinion) &lt;/p&gt;

&lt;p&gt;You could also just:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="#code"&gt;Skip to the code below&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.gideondsouza.com/Media/Default/Misc/BasicRxSearchClean.zip"&gt;Download the Sample&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Check the source on &lt;a href="https://github.com/thegiddygeek/RxSearchDB"&gt;GitHub&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What are we making:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.gideondsouza.com/Media/Default/BlogPost/blog/product.JPG" alt="enter image description here"&gt;&lt;/p&gt;

&lt;p&gt;You'll need the &lt;a href="http://visualstudiogallery.msdn.microsoft.com/0e313dfd-be80-4afb-b5e9-6e74d369f7a1/"&gt;SQL CE Compact Toolbox&lt;/a&gt; because we are going to want an entity framework object context. (Which visual studio won't create for sqlce4 if its not a web project)&lt;/p&gt;

&lt;p&gt;You'll also want the solution from the &lt;a href="http://www.gideondsouza.com/blog/implementing-simple-instant-search-with-rx-reactive-extensions"&gt;previous blog post on Rx&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Instructions:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 1&lt;/strong&gt; - Open the solution, open solution explorer (Ctrl + W, S). Right click the project and choose &lt;em&gt;add new item&lt;/em&gt;. Select &lt;em&gt;Data&lt;/em&gt; on the left and choose &lt;em&gt;SQL Server Compact 4 Local Database&lt;/em&gt; (Phew!)&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 2&lt;/strong&gt; - Its more easier to use Visual Studio's server explorer to create a new table. Open server explorer (Ctrl + W, L), it should show your database. (If it doesn't, right click connections and click &lt;em&gt;add connection&lt;/em&gt;). Expand your database, Right click Tables and click &lt;em&gt;Create Table&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Create a table like the following, note &lt;em&gt;ID&lt;/em&gt; is an identity:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.gideondsouza.com/Media/Default/BlogPost/blog/step2.JPG" alt="enter image description here"&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 3&lt;/strong&gt; - Throw in some data:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.gideondsouza.com/Media/Default/BlogPost/blog/step3.JPG" alt="enter image description here"&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Step 4&lt;/strong&gt; - Add an entity model for your database. You'll need to have installed SQL Compact Toolbox, goto &lt;code&gt;Tools&amp;gt;Sql Compact Toolbox&lt;/code&gt;, Right Click your database and click &lt;em&gt;Add Entity Data Model to current project&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.gideondsouza.com/Media/Default/BlogPost/blog/step4.jpg" alt="enter image description here"&gt;&lt;/p&gt;

&lt;h4&gt;The code&lt;p id="code"&gt;&lt;/h4&gt;

&lt;p&gt;We'll add two helper classes to &lt;strong&gt;abstract&lt;/strong&gt; the task of searching our database asychronously with Rx.&lt;/p&gt;

&lt;script src="https://gist.github.com/1422970.js"&gt; &lt;/script&gt;

&lt;p&gt;So we're defining a method here that will be based on a Type T, which will be our entity object and TContext which will be the DataContext. This complete generic interface will help you later on when you want to mock and/or use DI. (I typically use &lt;a href="http://mef.codeplex.com/"&gt;MEF&lt;/a&gt;.)&lt;/p&gt;

&lt;p&gt;We then implement it like so:&lt;/p&gt;

&lt;script src="https://gist.github.com/1422975.js"&gt; &lt;/script&gt;

&lt;p&gt;Notice, we'll use the &lt;code&gt;T&lt;/code&gt; at &lt;em&gt;runtime&lt;/em&gt; so we can use this like a repository for any entity object. &lt;/p&gt;

&lt;p&gt;Our one and only function &lt;code&gt;GetAllAsObservables&lt;/code&gt;, uses the &lt;code&gt;ToAsync&lt;/code&gt; method to &lt;strong&gt;convert&lt;/strong&gt; the lambda passed as an argument, into a function which returns an &lt;code&gt;IObservable&lt;/code&gt;. We then make a call to this function &lt;code&gt;getall()&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;We wrote &lt;code&gt;ToAsync(Database1Entities, IQueryable&amp;lt;T&amp;gt;)&lt;/code&gt; so &lt;code&gt;getall&lt;/code&gt; is a function that takes an &lt;strong&gt;instance&lt;/strong&gt; of &lt;code&gt;Database1Entities&lt;/code&gt; and returns an &lt;code&gt;IObservable&amp;lt;T&amp;gt;&lt;/code&gt; which we transform/project into &lt;code&gt;IObservable&amp;lt;IList&amp;lt;T&amp;gt;&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Our MainForm code now looks like this:&lt;/p&gt;

&lt;script src="https://gist.github.com/1422976.js"&gt; &lt;/script&gt;

&lt;h4&gt;Explaination :&lt;/h4&gt;

&lt;p&gt;First off, what we did &lt;a href="http://www.gideondsouza.com/blog/implementing-simple-instant-search-with-rx-reactive-extensions"&gt;last time&lt;/a&gt; was, we changed the &lt;code&gt;Textbox.TextChanged&lt;/code&gt; event to an observable sequence and throttled it by 500 milliseconds. So, our code got called by the &lt;em&gt;system&lt;/em&gt; every 500ms, we then executed &lt;code&gt;DO&lt;/code&gt; every time this happened. &lt;/p&gt;

&lt;p&gt;The original &lt;code&gt;SearchList&lt;/code&gt; function does not &lt;strong&gt;search asynchronously&lt;/strong&gt;, you could try and put &lt;code&gt;Thread.Sleep(5000)&lt;/code&gt; inside and it will block the UI.&lt;/p&gt;

&lt;p&gt;So now!! We execute an async call through our little helper class, to search our database.&lt;/p&gt;

&lt;p&gt;Remember our &lt;code&gt;GetAllAsObservables()&lt;/code&gt; expects a lamba that takes our data context and returns an &lt;code&gt;IQueryable&amp;lt;T&amp;gt;&lt;/code&gt;, this means you can pretty much run any query against your context an long as it returns the right type. Also, this runs in the context of sql, not in memory.&lt;/p&gt;

&lt;p&gt;We get in return an &lt;code&gt;IObservable&amp;lt;IList&amp;lt;T&amp;gt;&amp;gt;&lt;/code&gt; getfn. We then use &lt;code&gt;ObserveOn&lt;/code&gt; because we're going to touch UI from another thread. (This is equivalent to those &lt;code&gt;Invoke()&lt;/code&gt; calls you made in your old async code). This time on subscribe you are returned a an &lt;code&gt;IList&amp;lt;Customer&amp;gt;&lt;/code&gt;. The lambda you pass into &lt;code&gt;Subscribe&lt;/code&gt; is executed when the search is done async!&lt;/p&gt;

&lt;p&gt;So try and run the code! Type in some names! =D&lt;/p&gt;

&lt;p&gt;I hope this was useful, I'll take this further and get into how to properly abstract data access with Rx by creating Observable repositories. I've used these quite sucessfully in a number of apps!&lt;/p&gt;

&lt;p&gt;Any critique,  good, bad, ugly is welcome!&lt;/p&gt;

&lt;p&gt;Happy Coding&lt;/p&gt;
</description><pubDate>Sat, 19 Nov 2011 11:04:27 GMT</pubDate><guid isPermaLink="true">http://www.gideondsouza.com:80/blog/abstracting-reactive-extensions-for-sql-server-compact-and-implementing-an-instant-search</guid></item><item><title>Android Sdk gives failed to fetch url http://dl-ssl.google.com/.../repository.xml</title><link>http://www.gideondsouza.com:80/blog/android-sdk-gives-failed-to-fetch-url</link><description>&lt;p&gt;Are you trying to update your Android-SDK and get:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;get the “Failed to fetch URL http://dl-ssl.google.com/android/repository/repository.xml” &lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="http://stackoverflow.com/search?q=Failed+to+fetch+URL+http%3A%2F%2Fdl-ssl.google.com%2Fandroid%2Frepository%2Frepository.xml"&gt;Searching stackoverflow&lt;/a&gt; suggested an internet problem of some kind, but when I tried the URL in the browser itself it didn't work. &lt;/p&gt;

&lt;p&gt;Then I looked closer:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.gideondsouza.com/Media/Default/BlogPost/blog/Capture.JPG" alt="enter image description here"&gt;&lt;/p&gt;

&lt;p&gt;The SDK tools themselves have an update, so just select it and hit install.&lt;/p&gt;

&lt;p&gt;You'll land up with a new Android SDK Manager:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.gideondsouza.com/Media/Default/BlogPost/blog/newSDKMan.JPG" alt="enter image description here"&gt;&lt;/p&gt;

&lt;p&gt;Happy Coding! =)&lt;/p&gt;
</description><pubDate>Sat, 19 Nov 2011 07:16:01 GMT</pubDate><guid isPermaLink="true">http://www.gideondsouza.com:80/blog/android-sdk-gives-failed-to-fetch-url</guid></item><item><title>Implementing simple instant search with Rx (Reactive Extensions)</title><link>http://www.gideondsouza.com:80/blog/implementing-simple-instant-search-with-rx-reactive-extensions</link><description>&lt;p&gt;Haven't heard of Rx, this could be a little starter tutorial for you.&lt;/p&gt;

&lt;p&gt;Rx or Microsoft's &lt;a href="http://msdn.microsoft.com/en-us/data/gg577609"&gt;Reactive extensions &lt;/a&gt;makes life simple when it comes to asychronous programming&lt;/p&gt;

&lt;p&gt;My most favorite thing about Rx is how simple it makes &lt;em&gt;instant&lt;/em&gt; search! 
A while ago I &lt;a href="http://stackoverflow.com/questions/4278069/implement-instant-threaded-search-algorithm"&gt;asked around on stackoverflow&lt;/a&gt; and just architecturing it was so difficult.&lt;/p&gt;

&lt;p&gt;So I'm going to go through a dead simple example, where we're going to have an &lt;strong&gt;instant search&lt;/strong&gt;, but, we'll have some dummy data in memory that we're going to search.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt; : I wrote a continuation of this article &lt;a href="http://gideondsouza.com/blog/abstracting-reactive-extensions-for-sql-server-compact-and-implementing-an-instant-search"&gt;here&lt;/a&gt; where I describe instant search with Rx on a SqlCE database and a nice clean abstraction.&lt;/p&gt;

&lt;p&gt;Here's what it'll look like:&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.gideondsouza.com/Media/Default/BlogPost/blog/appCapture.JPG" alt="Instant Search App"&gt;&lt;/p&gt;

&lt;p&gt;I hope to do a post on searching real data, maybe with sql-compact 4, and then I'll get on to how to write &lt;a href="http://stackoverflow.com/questions/5349140/iasyncrepository-or-iobservablerepository-for-silverlight-4-wcf-data-services"&gt;Observable Repositories&lt;/a&gt; which makes life easier, especially for Silverlight!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;How To:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;So head over to Visual Studio and create a new form (or you can &lt;a href="http://www.gideondsouza.com/Media/Default/Misc/BasicRxSearchClean.zip"&gt;download the sample&lt;/a&gt;). Add a textbox and listbox like the screenshot.&lt;/p&gt;

&lt;p&gt;We need to install &lt;a href="http://nuget.org/List/Packages/Rx-Main"&gt;Rx-Main&lt;/a&gt; and &lt;a href="http://nuget.org/List/Packages/Rx-WinForms"&gt;Rx-WinForms&lt;/a&gt; from nuget.&lt;/p&gt;

&lt;p&gt;You can right click your solution and choose &lt;code&gt;Manage Nuget Packages..&lt;/code&gt; and search and install these.&lt;/p&gt;

&lt;p&gt;&lt;img src="http://www.gideondsouza.com/Media/Default/BlogPost/blog/nugetScrenie.JPG" alt="Visual Studio Package Manager"&gt;&lt;/p&gt;

&lt;p&gt;This is the code then:&lt;/p&gt;

&lt;script src="https://gist.github.com/1422982.js"&gt; &lt;/script&gt;

&lt;p&gt;&lt;strong&gt;What/How/Why?&lt;/strong&gt; :&lt;/p&gt;

&lt;p&gt;The starting point to observables is the &lt;a href="http://msdn.microsoft.com/en-us/library/hh244252(v=VS.103).aspx"&gt;Observable&lt;/a&gt; class, the &lt;a href="http://msdn.microsoft.com/en-us/library/hh229251(v=VS.103).aspx"&gt;FromEventPattern&lt;/a&gt; method creates an observable sequence from the &lt;code&gt;TextChanged&lt;/code&gt; event of the textbox. &lt;/p&gt;

&lt;p&gt;Think of this like a list of notifications coming to you. &lt;/p&gt;

&lt;p&gt;We then chain a method call to &lt;a href="http://msdn.microsoft.com/en-us/library/hh229400(v=VS.103).aspx"&gt;Throttle&lt;/a&gt; (my fav part!), it well, throttles this list of notifications by 500 milliseconds. &lt;/p&gt;

&lt;p&gt;Here, for win-forms you need the &lt;a href="http://msdn.microsoft.com/en-us/library/hh212067(v=VS.103).aspx"&gt;ControlScheduler&lt;/a&gt; class otherwise the throttling doesn't work too well. This class comes from the Rx-WinForms package we added earlier. The &lt;a href="http://msdn.microsoft.com/en-us/library/hh228941(v=VS.103).aspx"&gt;Do&lt;/a&gt; method just does the metho you want to run, and you send off the text from the the textbox over. Lastly, calling Subscribe starts off the notifications.&lt;/p&gt;

&lt;p&gt;&lt;a href="http://www.gideondsouza.com/Media/Default/Misc/BasicRxSearchClean.zip"&gt;Download the Sample here.&lt;/a&gt;(1.3MB) It's a clean solution but with the Rx nuget packages.&lt;/p&gt;

&lt;p&gt;Hope this was useful!&lt;/p&gt;
</description><pubDate>Thu, 17 Nov 2011 19:21:00 GMT</pubDate><guid isPermaLink="true">http://www.gideondsouza.com:80/blog/implementing-simple-instant-search-with-rx-reactive-extensions</guid></item><item><title>Windows Cannot Find Drivers - Setting up Android USB Debugging</title><link>http://www.gideondsouza.com:80/blog/windows-cannot-find-drivers-setting-up-android-usb-debugging</link><description>&lt;p&gt;So if you're trying to get Android USB debugging to work with your phone and it says:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Windows Cannot find Drivers&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Its probably a samsung phone? Yes?&lt;/p&gt;

&lt;p&gt;If it is then all you have to do it install &lt;a href="http://www.samsung.com/in/support/mobilesoftwaremanual/mobilesoftwaremanual.do?page=MOBILE.SOFTWARE.MANUAL"&gt;Samsung Kies&lt;/a&gt; and voila! You'll get everything up and running.&lt;/p&gt;

&lt;p&gt;If you're wondering how to &lt;strong&gt;debug a device on your phone&lt;/strong&gt;.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Make sure &lt;code&gt;USB Debugging&lt;/code&gt; on your phone is turned on (Mostly under &lt;code&gt;Settings&amp;gt;Applications&amp;gt;USB Debugging&lt;/code&gt;)&lt;/li&gt;
&lt;li&gt;(If you have a samsung phone install Samsung Kies)&lt;/li&gt;
&lt;li&gt;Connect your phone via USB&lt;/li&gt;
&lt;li&gt;In eclipse : Under the &lt;code&gt;Run Menu &amp;gt; Debug Congfigurations&lt;/code&gt; you should have a configuration under &lt;code&gt;Android Application&lt;/code&gt;, if you don't double click Android Application to create a new one.&lt;/li&gt;
&lt;li&gt;Select your configuration and then select the &lt;code&gt;Target Tab&lt;/code&gt;.&lt;/li&gt;
&lt;li&gt;Choose &lt;code&gt;Manual&lt;/code&gt; then Click &lt;code&gt;Debug&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;You will be presented with a list of your connected devices and your virtual devices.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;img src="http://www.gideondsouza.com/Media/Default/BlogPost/blog/windows-cannot-find-drivers-setting-up-android-usb-debugging/androidUsbDebug.JPG" alt="enter image description here"&gt;&lt;/p&gt;

&lt;p&gt;Happy Android Programming!&lt;/p&gt;
</description><pubDate>Sun, 13 Nov 2011 08:56:45 GMT</pubDate><guid isPermaLink="true">http://www.gideondsouza.com:80/blog/windows-cannot-find-drivers-setting-up-android-usb-debugging</guid></item></channel></rss>