<?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/"
	>

<channel>
	<title>Adam.Kahtava.com / AdamDotCom &#187; Open Source</title>
	<atom:link href="http://adam.kahtava.com/journal/category/open-source/feed/" rel="self" type="application/rss+xml" />
	<link>http://adam.kahtava.com/journal</link>
	<description>A software development blog</description>
	<pubDate>Fri, 12 Mar 2010 03:41:25 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>The Project Badge: Show The World Your GitHub and Google Code Projects On Your Blog</title>
		<link>http://adam.kahtava.com/journal/2010/02/24/the-project-badge-show-the-world-your-github-and-google-code-projects-on-your-blog/</link>
		<comments>http://adam.kahtava.com/journal/2010/02/24/the-project-badge-show-the-world-your-github-and-google-code-projects-on-your-blog/#comments</comments>
		<pubDate>Wed, 24 Feb 2010 17:00:10 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
		
		<category><![CDATA[ADC Services]]></category>

		<category><![CDATA[ADC Website]]></category>

		<category><![CDATA[AJAX]]></category>

		<category><![CDATA[CSS]]></category>

		<category><![CDATA[JavaScript]]></category>

		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[Services]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2298</guid>
		<description><![CDATA[ 
The Project Badge displays your GitHub and Google Code projects in a badge that can be displayed on your site. This widget was built on the data being returned from my Open Source Service. 
View this post outside your RSS reader to see it in action or view it here.
The source for the Project [...]]]></description>
			<content:encoded><![CDATA[<p><iframe src="http://adam.kahtava.com/etcetera/open-source-project-badge/" style="border-width: 0px; width: 320px; height: 370px; margin-left: 15px; float: left;"> </iframe></p>
<p>The Project Badge displays your GitHub and Google Code projects in a badge that can be displayed on your site. This widget was built on the data being returned from my <a href="http://adam.kahtava.com/journal/2010/02/11/introducing-my-open-source-projects-service-grab-your-project-details-from-github-or-google-code/">Open Source Service</a>. </p>
<p><em>View this post outside your RSS reader to see it in action or view it <a href="http://adam.kahtava.com/etcetera/open-source-project-badge/">here</a>.</em></p>
<p>The source for the Project Badge can be found <a href="http://github.com/AdamDotCom/project-badge/">here</a> and the source for the accompanying service can be found <a href="http://code.google.com/p/adamdotcom-services/source/browse/trunk#trunk/AdamDotCom.OpenSource.Service/Source/Service">here</a>. A list of all my publicly available web services can be found <a href="http://adam.kahtava.com/publicly-available-web-services/">here</a>.</p>
<div style="clear:both;"></div>
<h3>Using The Project Badge On Your Website or Blog</h3>
<p><strong>1. Add The Asset References</strong></p>
<p>Add the following asset references, and a reference to jQuery (if you don't have one already).</p>
<div class="syntax_hilite">
<div id="html-4">
<div class="html"><span style="color: #009900;"><a href="http://december.com/html/4/element/link.html"><span style="color: #000000; font-weight: bold;">&lt;link</span></a> <span style="color: #000066;">rel</span>=<span style="color: #ff0000;">"stylesheet"</span> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/css"</span> <span style="color: #000066;">href</span>=<span style="color: #ff0000;">"http://github.com/AdamDotCom/project-badge/raw/master/project-badge.css"</span> /<span style="color: #000000; font-weight: bold;">&gt;</span></a></span><br />
<span style="color: #009900;"><a href="http://december.com/html/4/element/script.html"><span style="color: #000000; font-weight: bold;">&lt;script</span></a> <span style="color: #000066;">type</span>=<span style="color: #ff0000;">"text/javascript"</span> <span style="color: #000066;">src</span>=<span style="color: #ff0000;">"http://github.com/AdamDotCom/project-badge/raw/master/projectBadge.js"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span><span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/script&gt;</span></span></div>
</div>
</div>
<p></p>
<p><strong>2. Configure Your Accounts</strong></p>
<p>Set your project accounts (it's OK if you only use one host) then optionally set the appropriate filters - in my case <a href="http://code.google.com/u/adam.kahtava.com/">my Google Code projects</a> were prefixed with <em>adamdotcom</em> and I had duplicate projects on both GitHub and Google Code. By specifying <em>remove:adamdotcom,remove:duplicate-items</em> in my filters I filter out the duplicates and removed <em>adamdotcom</em> from the project name.</p>
<div class="syntax_hilite">
<div id="javascript-5">
<div class="javascript">&lt;script type=<span style="color: #3366CC;">"text/javascript"</span>&gt;<br />
&nbsp; projectBadge.<span style="color: #006600;">load</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#123;</span> <br />
&nbsp; &nbsp; &nbsp; gitHub: <span style="color: #3366CC;">'AdamDotCom'</span>, <br />
&nbsp; &nbsp; &nbsp; googleCode: <span style="color: #3366CC;">'adam.kahtava.com'</span><br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span>,<span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; &nbsp; filters: <span style="color: #3366CC;">'remove:adamdotcom,remove:duplicate-items,remove:-'</span><br />
&nbsp; &nbsp; <span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;<br />
&lt;/script&gt;</div>
</div>
</div>
<p></p>
<p><strong>3. Add The Widget Hook</strong><br />
Add an element to your site or blog with the id of <code>project-badge</code>.</p>
<div class="syntax_hilite">
<div id="html-6">
<div class="html"><span style="color: #009900;"><a href="http://december.com/html/4/element/div.html"><span style="color: #000000; font-weight: bold;">&lt;div</span></a> <span style="color: #000066;">id</span>=<span style="color: #ff0000;">"project-badge"</span><span style="color: #000000; font-weight: bold;">&gt;</span></a></span><br />
&nbsp; Loading...<br />
<span style="color: #009900;"><span style="color: #000000; font-weight: bold;">&lt;/div&gt;</span></span></div>
</div>
</div>
<p></p>
<p><strong>That's it!</strong><br />
If you have any issues, use the <a href="http://adam.kahtava.com/etcetera/open-source-project-badge/">the working example</a> as a reference, or send me a message.</p>
]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2010/02/24/the-project-badge-show-the-world-your-github-and-google-code-projects-on-your-blog/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Introducing my Open Source Projects Service: Grab Your Project Details From GitHub or Google Code</title>
		<link>http://adam.kahtava.com/journal/2010/02/11/introducing-my-open-source-projects-service-grab-your-project-details-from-github-or-google-code/</link>
		<comments>http://adam.kahtava.com/journal/2010/02/11/introducing-my-open-source-projects-service-grab-your-project-details-from-github-or-google-code/#comments</comments>
		<pubDate>Thu, 11 Feb 2010 16:00:55 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[ADC Services]]></category>

		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[RESTful]]></category>

		<category><![CDATA[Services]]></category>

		<category><![CDATA[WCF]]></category>

		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=2278</guid>
		<description><![CDATA[Say hello to the newest member of my service family; the Open Source Project Service. This service lets me (and you too my friends) grab our project details from either Google Code, or GitHub.
How it works
If you have a project on GitHub or Google Code, you can retrieve your project details.
Single project host retrieval URI:
http://adam.kahtava.com/services/open-source/projects/{project-host}.{xml&#124;json}?user={username}
Multiple [...]]]></description>
			<content:encoded><![CDATA[<p>Say <em>hello</em> to the newest member of <a href="http://adam.kahtava.com/journal/category/open-source/adc-services/">my service family</a>; <em>the Open Source Project Service</em>. This service lets me (and you too my friends) grab our project details from either <a href="http://code.google.com/u/adam.kahtava.com/">Google Code</a>, or <a href="http://github.com/AdamDotCom">GitHub</a>.</p>
<h3>How it works</h3>
<p>If you have a project on GitHub or Google Code, you can retrieve your project details.</p>
<p>Single project host retrieval URI:</p>
<p style="padding-left: 30px;"><span style="text-decoration: underline;">http://adam.kahtava.com/services/open-source/projects/<em>{project-host}</em>.<em>{xml|json}</em>?user=<em>{username}</em></span></p>
<p>Multiple project host retrieval URI:</p>
<p style="padding-left: 30px;"><span style="text-decoration: underline;">http://adam.kahtava.com/services/open-source/projects.<em>{xml|json}</em>?project-host:username=<em>{project-host1:username1,<span style="text-decoration: underline;"><em>project-host2:username2<span style="text-decoration: underline;"><em>}</em></span></em></span></em></span></p>
<p><strong>Example</strong>, requesting projects from Google Code in XML format:</p>
<p style="padding-left: 30px;">Request: <a href="http://adam.kahtava.com/services/open-source/projects/googlecode.xml?user=adam.kahtava.com">http://adam.kahtava.com/services/open-source/projects/googlecode.xml?user=adam.kahtava.com</a></p>
<p style="padding-left: 30px;">Response:</p>
<div class="syntax_hilite">
<div id="xml-10">
<div class="xml"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Projects</span> <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">"http://adam.kahtava.com/services/open-source"</span> xmlns:<span style="color: #000066;">i</span>=<span style="color: #ff0000;">"http://www.w3.org/2001/XMLSchema-instance"</span><span style="font-weight: bold; color: black;">&gt;</span></span><br />
&nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Project<span style="font-weight: bold; color: black;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Description<span style="font-weight: bold; color: black;">&gt;</span></span></span>The site source in use on Adam.Kahtava.com / AdamDotCom.com (http://adam.kahtava.com/)<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Description<span style="font-weight: bold; color: black;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;LastMessage<span style="font-weight: bold; color: black;">&gt;</span></span></span>More code coverage on controllers required!! :)<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/LastMessage<span style="font-weight: bold; color: black;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;LastModified<span style="font-weight: bold; color: black;">&gt;</span></span></span>2010-02-26<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/LastModified<span style="font-weight: bold; color: black;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Name<span style="font-weight: bold; color: black;">&gt;</span></span></span>website<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Name<span style="font-weight: bold; color: black;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Url<span style="font-weight: bold; color: black;">&gt;</span></span></span>http://code.google.com/p/adamdotcom-website<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Url<span style="font-weight: bold; color: black;">&gt;</span></span></span><br />
&nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Project<span style="font-weight: bold; color: black;">&gt;</span></span></span><br />
&nbsp; ...<br />
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Projects<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</div>
</div>
<p>
<strong>Example</strong>, requesting projects from GitHub in JSON format:</p>
<p style="padding-left: 30px;">Request: <a href="http://adam.kahtava.com/services/open-source/projects/github.json?user=adamdotcom">http://adam.kahtava.com/services/open-source/projects/github.json?user=adamdotcom</a></p>
<p style="padding-left: 30px;">Response:</p>
<div class="syntax_hilite">
<div id="javascript-11">
<div class="javascript"><span style="color: #66cc66;">&#91;</span><br />
&nbsp; <span style="color: #66cc66;">&#123;</span><br />
&nbsp; &nbsp; <span style="color: #3366CC;">"Description"</span>:<span style="color: #3366CC;">"A collection of my etcetera, so forth, and so on. Contains a PowerShell script for Twitter, a programming exercise in Ruby, a programming exercise for Google done in JavaScript."</span>,<br />
&nbsp; &nbsp; <span style="color: #3366CC;">"LastMessage"</span>:<span style="color: #3366CC;">"Bing-bing, changing filenames"</span>,<br />
&nbsp; &nbsp; <span style="color: #3366CC;">"LastModified"</span>:<span style="color: #3366CC;">"2009-06-08"</span>,<br />
&nbsp; &nbsp; <span style="color: #3366CC;">"Name"</span>:<span style="color: #3366CC;">"scripts"</span>,<br />
&nbsp; &nbsp; <span style="color: #3366CC;">"Url"</span>:<span style="color: #3366CC;">"http:<span style="color: #000099; font-weight: bold;">\/</span><span style="color: #000099; font-weight: bold;">\/</span>github.com<span style="color: #000099; font-weight: bold;">\/</span>AdamDotCom<span style="color: #000099; font-weight: bold;">\/</span>scripts"</span><br />
&nbsp; <span style="color: #66cc66;">&#125;</span>,<br />
&nbsp; ...<br />
<span style="color: #66cc66;">&#93;</span></div>
</div>
</div>
<p>
<strong>Example</strong>, requesting projects from both GitHub and Google Code in a single request in XML form:</p>
<p>Request: <a href="http://adam.kahtava.com/services/open-source/projects.xml?project-host:username=github:adamdotcom,googlecode:adam.kahtava.com">http://adam.kahtava.com/services/open-source/projects.xml?project-host:username=github:adamdotcom,googlecode:adam.kahtava.com</a></p>
<p>Response:</p>
<div class="syntax_hilite">
<div id="xml-12">
<div class="xml"><span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Projects</span> <span style="color: #000066;">xmlns</span>=<span style="color: #ff0000;">"http://adam.kahtava.com/services/open-source"</span> xmlns:<span style="color: #000066;">i</span>=<span style="color: #ff0000;">"http://www.w3.org/2001/XMLSchema-instance"</span><span style="font-weight: bold; color: black;">&gt;</span></span><br />
&nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Project<span style="font-weight: bold; color: black;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Description<span style="font-weight: bold; color: black;">&gt;</span></span></span>Displays your public source code repositories from Google Code and GitHub.<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Description<span style="font-weight: bold; color: black;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;LastMessage<span style="font-weight: bold; color: black;">&gt;</span></span></span>Added http://code.google.com/p/adamdotcom-services/ link<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/LastMessage<span style="font-weight: bold; color: black;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;LastModified<span style="font-weight: bold; color: black;">&gt;</span></span></span>2010-02-23<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/LastModified<span style="font-weight: bold; color: black;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Name<span style="font-weight: bold; color: black;">&gt;</span></span></span>project badge<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Name<span style="font-weight: bold; color: black;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Url<span style="font-weight: bold; color: black;">&gt;</span></span></span>http://github.com/AdamDotCom/project-badge<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Url<span style="font-weight: bold; color: black;">&gt;</span></span></span><br />
&nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Project<span style="font-weight: bold; color: black;">&gt;</span></span></span><br />
&nbsp; ...<br />
&nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Project<span style="font-weight: bold; color: black;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Description<span style="font-weight: bold; color: black;">&gt;</span></span></span>The site source in use on Adam.Kahtava.com / AdamDotCom.com (http://adam.kahtava.com/)<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Description<span style="font-weight: bold; color: black;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;LastMessage<span style="font-weight: bold; color: black;">&gt;</span></span></span>More code coverage on controllers required!! :)<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/LastMessage<span style="font-weight: bold; color: black;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;LastModified<span style="font-weight: bold; color: black;">&gt;</span></span></span>2010-02-26<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/LastModified<span style="font-weight: bold; color: black;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Name<span style="font-weight: bold; color: black;">&gt;</span></span></span>website<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Name<span style="font-weight: bold; color: black;">&gt;</span></span></span><br />
&nbsp; &nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;Url<span style="font-weight: bold; color: black;">&gt;</span></span></span>http://code.google.com/p/adamdotcom-website<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Url<span style="font-weight: bold; color: black;">&gt;</span></span></span><br />
&nbsp; <span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Project<span style="font-weight: bold; color: black;">&gt;</span></span></span><br />
&nbsp; ...<br />
<span style="color: #009900;"><span style="font-weight: bold; color: black;">&lt;/Projects<span style="font-weight: bold; color: black;">&gt;</span></span></span></div>
</div>
</div>
<p></p>
<h3>And Now What?</h3>
<p>View my sidebar widget that uses this service to display the latest updates from my source code repositories <a href="http://adam.kahtava.com/journal/2010/02/24/the-project-badge-show-the-world-your-github-and-google-code-projects-on-your-blog/">here</a>. </p>
<p>Contribute, view, or download this openly available source code <a href="http://code.google.com/p/adamdotcom-services/source/browse/trunk#trunk/AdamDotCom.OpenSource.Service/Source/Service">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2010/02/11/introducing-my-open-source-projects-service-grab-your-project-details-from-github-or-google-code/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Site Update: New Resume, Contact, Reviews, and Reading Lists Sections</title>
		<link>http://adam.kahtava.com/journal/2009/11/08/site-update-new-resume-contact-reviews-and-reading-lists-sections/</link>
		<comments>http://adam.kahtava.com/journal/2009/11/08/site-update-new-resume-contact-reviews-and-reading-lists-sections/#comments</comments>
		<pubDate>Sun, 08 Nov 2009 17:00:37 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[ADC Services]]></category>

		<category><![CDATA[ADC Website]]></category>

		<category><![CDATA[ASP.NET]]></category>

		<category><![CDATA[ASP.NET MVC]]></category>

		<category><![CDATA[Amazon]]></category>

		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=1974</guid>
		<description><![CDATA[This site now sports a Resume, Contact Me, Reviews, and Reading Lists section.
If you're reading this from an RSS feed, then the changes looks like this:

These new sections make use of the services I created earlier - my resume content is pulled directly from LinkedIn via my Resume service, the Reading Lists and Reviews are being pulled from Amazon [...]]]></description>
			<content:encoded><![CDATA[<p>This site now sports a <a href="http://adam.kahtava.com/resume/curriculum-vitae/software-developer/">Resume</a>, <a href="http://adam.kahtava.com/contact-me/">Contact Me</a>, <a href="http://adam.kahtava.com/book-reviews/">Reviews</a>, and <a href="http://adam.kahtava.com/reading-lists/recommended-and-wishlist/">Reading Lists</a> section.</p>
<p>If you're reading this from an RSS feed, then the changes looks like this:</p>
<p style="padding-left: 30px;"><img src="http://adam.kahtava.com/journal/images/blog/adamdotcom-navigation-update.png" alt="Navigation changes on my site" width="429" height="112" /></p>
<p>These new sections make use of the services I created earlier - my resume content is pulled directly from LinkedIn via my <a href="http://adam.kahtava.com/journal/2009/09/24/introducing-my-linkedin-resume-service-view-your-resume/">Resume service</a>, the Reading Lists and Reviews are being pulled from Amazon via my <a href="http://adam.kahtava.com/journal/2009/09/15/introducing-my-amazon-web-service-find-your-profile-view-your-wishlist-or-reviews/">Amazon service</a>, and I'm still working on a personalized greeting module which will make use of my <a href="http://adam.kahtava.com/journal/2009/09/30/introducing-my-whois-service-customize-your-site-content-based-on-referrals-location-and-more/">Whois service</a>.</p>
<p>Now, when I update my resume on LinkedIn, add a new item to my Amazon wishlist, or write a new Review on Amazon the content is updated within this site and indexed by the Google.</p>
<p>It took longer than expected to get these new pages up and running - mostly due to a couple false starts. You see, I'm running this site on Windows shared hosting which unfortunately doesn't give me many options - sure, sure, I could purchase another hosting account, but developers are like freak'n MAcGyver we like working within ridiculous constraints. It's all about the challenge! Anyways, I first tried using Ruby on Rails on shared hosting (fail), then tried using PHP on Trax (fail), and finally reverted to ASP.NET MVC. While ASP.NET MVC is heads and tails more fun than Web Forms / Classic ASP.NET, the impedance mismatch between strongly typed objects and web languages (JavaScript, CSS, XHTML) is still annoying. Thankfully the <a href="http://github.com/mvccontrib/MvcContrib">MVC Contrib</a> project solves some of these pains, however it can't solve them all.</p>
<p>My next steps with this site are to: finish the greeting module, update the layout (drop the WordPress theme), and finish a Github / Google Code repo widget (kind of like this <a href="http://drnicwilliams.com/2008/05/03/github-badge-for-your-blog/">one</a>) for the sidebar.</p>
<p>Contribute, view, or download the openly available source code <a href="http://code.google.com/p/adamdotcom-website/source/browse/trunk/#trunk/Source/Website">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2009/11/08/site-update-new-resume-contact-reviews-and-reading-lists-sections/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Introducing my Whois Service: Customize Your Site Content Based On Referrals, Location, and More</title>
		<link>http://adam.kahtava.com/journal/2009/09/30/introducing-my-whois-service-customize-your-site-content-based-on-referrals-location-and-more/</link>
		<comments>http://adam.kahtava.com/journal/2009/09/30/introducing-my-whois-service-customize-your-site-content-based-on-referrals-location-and-more/#comments</comments>
		<pubDate>Wed, 30 Sep 2009 16:00:31 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[ADC Services]]></category>

		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[RESTful]]></category>

		<category><![CDATA[Services]]></category>

		<category><![CDATA[WCF]]></category>

		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=1892</guid>
		<description><![CDATA[Services-services-services! Enough already! Today I introduce my Whois and Enhanced Whois Web Service.
The Enhanced Whois web service lets me know where my visitor are geographically located, provides filtering capabilities, and can act on referrals. This will allow me (or you) to personalize site greetings, hide my email address (or content) based on the visitor, and provide a [...]]]></description>
			<content:encoded><![CDATA[<p>Services-services-services! Enough already! Today I introduce my Whois and Enhanced Whois Web Service.</p>
<p>The Enhanced Whois web service lets me know where my visitor are geographically located, provides filtering capabilities, and can act on referrals. This will allow me (or you) to personalize site greetings, hide my email address (or content) based on the visitor, and provide a unique personal experience. Alternately I can use this service as a classic <a href="http://en.wikipedia.org/wiki/WHOIS">Whois</a> service.</p>
<h3>How it works.</h3>
<p>We're not anonymous on the internet and IP addresses are what uniquely defines your internet existence. <a href="http://en.wikipedia.org/wiki/WHOIS">Whois</a> services let us determine the registrant of internet resources.</p>
<p>Using my Whois service you can:</p>
<p><strong>View your enhanced whois record.</strong></p>
<p>By the visitor's IP address (your IP) URI:</p>
<p style="padding-left: 30px;"><span style="text-decoration: underline;">http://adam.kahtava.com/services/whois/enhanced.<em>{xml|json}</em></span></p>
<p>Example:</p>
<p style="padding-left: 30px;">Request: <a href="http://adam.kahtava.com/services/whois/enhanced.xml">http://adam.kahtava.com/services/whois/enhanced.xml</a></p>
<p style="padding-left: 30px;"><a href="http://adam.kahtava.com/services/resume/linkedin/adam-kahtava.xml"></a>Response (using my IP):</p>
<pre style="padding-left: 30px;">&lt;WhoisEnhancedRecord xmlns="http://adam.kahtava.com/services/whois" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"&gt;
  &lt;City&gt;Calgary&lt;/City&gt;
  &lt;Country&gt;Canada&lt;/Country&gt;
  &lt;FilterMatches i:nil="true"/&gt;
  &lt;FriendlyMatches i:nil="true"/&gt;
  &lt;IsFilterMatch&gt;false&lt;/IsFilterMatch&gt;
  &lt;IsFriendly&gt;false&lt;/IsFriendly&gt;
  &lt;Organization&gt;Shaw Communications Inc.&lt;/Organization&gt;
  &lt;StateProvince&gt;AB&lt;/StateProvince&gt;
&lt;/WhoisEnhancedRecord&gt;</pre>
<p>By the visitor's IP address specifying a referrer, and a filter URI:</p>
<p style="padding-left: 30px;"><span style="text-decoration: underline;">http://adam.kahtava.com/services/whois/enhanced.<em>{xml|json}</em>?filters=</span><span style="text-decoration: underline;"><em>{filters,filters,...}</em></span><span style="text-decoration: underline;">&amp;referrer=</span><span style="text-decoration: underline;"><em>{referrer}</em></span></p>
<p>Example:</p>
<p style="padding-left: 30px;">Request: <a href="http://adam.kahtava.com/services/whois/enhanced/xml?query=74.125.127.99&amp;filters=CA&amp;referrer=Twitter">http://adam.kahtava.com/services/whois/enhanced/xml?filters=CA&amp;referrer=Twitter</a></p>
<p style="padding-left: 30px;">Response (from an IP owned by Google, with a filter for California, and a referrer of Twitter specified):</p>
<pre style="padding-left: 30px; ">&lt;WhoisEnhancedRecord xmlns="http://adam.kahtava.com/services/whois" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"&gt;
  &lt;City&gt;Mountain View&lt;/City&gt;
  &lt;Country&gt;United states&lt;/Country&gt;
  &lt;FilterMatches&gt;
    &lt;string&gt;StateProvince&lt;/string&gt;
  &lt;/FilterMatches&gt;
  &lt;FriendlyMatches&gt;
    &lt;string&gt;<strong>google</strong>&lt;/string&gt;
    &lt;string&gt;<strong>twitter</strong>&lt;/string&gt;
  &lt;/FriendlyMatches&gt;
  &lt;IsFilterMatch&gt;true&lt;/IsFilterMatch&gt;
  &lt;IsFriendly&gt;true&lt;/IsFriendly&gt;
  &lt;Organization&gt;Google Inc.&lt;/Organization&gt;
  &lt;StateProvince&gt;<strong>CA</strong>&lt;/StateProvince&gt;
&lt;/WhoisEnhancedRecord&gt;</pre>
<p><strong>View your classic Whois record.</strong></p>
<p>By the visitor's IP address (your IP) URI:</p>
<p style="padding-left: 30px;"><span style="text-decoration: underline;">http://adam.kahtava.com/services/whois.<em>{xml|json}</em></span></p>
<p>Example:</p>
<p style="padding-left: 30px;">Request: <a href="http://adam.kahtava.com/services/whois.xml">http://adam.kahtava.com/services/whois.xml</a></p>
<div style="padding-left: 30px;">Response (using my IP):</div>
<pre style="padding-left: 30px;">&lt;WhoisRecord xmlns="http://adam.kahtava.com/services/whois" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"&gt;
  &lt;DomainName&gt;68.146.10.100&lt;/DomainName&gt;
  &lt;RegistryData&gt;
  &lt;AbuseContact&gt; ... &lt;/AbuseContact&gt;
  &lt;AdministrativeContact i:nil="true"/&gt;
  &lt;BillingContact i:nil="true"/&gt;
  &lt;CreatedDate&gt;2002-06-03&lt;/CreatedDate&gt;
  &lt;RawText&gt; ... &lt;/RawText&gt;
  &lt;Registrant&gt;
    &lt;Address&gt;Suite 800630 - 3rd Ave. SW&lt;/Address&gt;
    &lt;City&gt;Calgary&lt;/City&gt;
    &lt;Country&gt;CA&lt;/Country&gt;
    &lt;Name&gt;Shaw Communications Inc.&lt;/Name&gt;
    &lt;PostalCode&gt;T2P-4L4&lt;/PostalCode&gt;
    &lt;StateProv&gt;AB&lt;/StateProv&gt;
  &lt;/Registrant&gt;
  ...
&lt;/WhoisRecord&gt;</pre>
<h3>So... why is this useful?</h3>
<p>This is the first step for this site's personalization - if I know where the user came from, where the user is geographically located, and have the capabilities to filter their Whois responses, then I can tailor my content to the user. For example: if someone from Google landed on my site I could mention that I'd love to work there and provide my email address and phone number, similarly if someone from Calgary landed on my site I could provide my <a href="http://www.google.com/calendar/embed?src=kahtava.com_3b7tc69opbskf5cqgjflihhqpk@group.calendar.google.com&amp;gsessionid=KwiJcMzxbmfA1s3H-Nfjbg">public calendar of local events</a>. The possibilities are endless.</p>
<p>This service will be wrapped by a JavaScript widget that will take care of the asynchronous service polling, but that sounds like another post.</p>
<p>Contribute, view, or download the openly available source code <a href="http://code.google.com/p/adamdotcom-services/source/browse/trunk#trunk/AdamDotCom.Whois.Service/Source/Service">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2009/09/30/introducing-my-whois-service-customize-your-site-content-based-on-referrals-location-and-more/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Introducing my LinkedIn Resume Service: View Your Resume</title>
		<link>http://adam.kahtava.com/journal/2009/09/24/introducing-my-linkedin-resume-service-view-your-resume/</link>
		<comments>http://adam.kahtava.com/journal/2009/09/24/introducing-my-linkedin-resume-service-view-your-resume/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 16:00:19 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[ADC Services]]></category>

		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[RESTful]]></category>

		<category><![CDATA[Services]]></category>

		<category><![CDATA[WCF]]></category>

		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=1880</guid>
		<description><![CDATA[In my last post I mentioned that I was creating a couple web services that would hopefully bring together my online portfolio. Today I introduce my LinkedIn Resume Web Service.
How it works.
If you have a resume on LinkedIn and you've added services@adamdotcom.com as a contact then you can:
View your resume - retrieve your Resume by first [...]]]></description>
			<content:encoded><![CDATA[<p>In my <a href="http://adam.kahtava.com/journal/2009/09/15/introducing-my-amazon-web-service-find-your-profile-view-your-wishlist-or-reviews/">last post</a> I mentioned that I was creating a couple web services that would hopefully bring together my online portfolio. Today I introduce my LinkedIn Resume Web Service.</p>
<h3>How it works.</h3>
<p>If you have a resume on <a href="http://www.linkedin.com/profile?viewProfile=&amp;key=9962574">LinkedIn</a> and you've added <em>services@adamdotcom.com</em> as a contact then you can:</p>
<p><strong>View your resume</strong> - retrieve your Resume by first and last name.</p>
<p>By first and last name URI:</p>
<p style="padding-left: 30px;"><span style="text-decoration: underline;">http://adam.kahtava.com/services/resume/linkedin/<em>{firstName-lastName}</em>.<em>{xml|json}</em></span></p>
<p>Example:</p>
<p style="padding-left: 30px;">Request: <a href="http://adam.kahtava.com/services/resume/linkedin/adam-kahtava.xml">http://adam.kahtava.com/services/resume/linkedin/adam-kahtava.xml</a></p>
<p style="padding-left: 30px;"><a href="http://adam.kahtava.com/services/resume/linkedin/adam-kahtava.xml"></a>Response:</p>
<pre style="padding-left: 30px;">&lt;Resume xmlns="http://adam.kahtava.com/services/resume" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"&gt;
  &lt;Educations&gt;
    &lt;Education&gt;
      &lt;Certificate&gt;Computer Programming and Analysis&lt;/Certificate&gt;
      &lt;Institute&gt;Seneca College of Applied Arts and Technology&lt;/Institute&gt;
    &lt;/Education&gt;
    &lt;Education&gt;
      &lt;Certificate&gt;Bachelor of Science (Honours), Computer Science&lt;/Certificate&gt;
      &lt;Institute&gt;Trent University&lt;/Institute&gt;
    &lt;/Education&gt;
  &lt;/Educations&gt;
  &lt;Positions&gt;
    &lt;Position&gt;
      &lt;Company&gt;Corbis ...</pre>
<h3>Wow that was exciting, so now what?</h3>
<p>Well.. Head on over to my <a href="http://adam.kahtava.com/resume/curriculum-vitae/software-developer/">resume</a> page. My resume is being pulled from LinkedIn through this very service.</p>
<p>Contribute, view, or download the openly available source code <a href="http://code.google.com/p/adamdotcom-services/source/browse/trunk#trunk/AdamDotCom.Resume.Service/Source/Service">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2009/09/24/introducing-my-linkedin-resume-service-view-your-resume/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Introducing my Amazon Web Service: Find Your Profile, View Your Wishlist or Reviews</title>
		<link>http://adam.kahtava.com/journal/2009/09/15/introducing-my-amazon-web-service-find-your-profile-view-your-wishlist-or-reviews/</link>
		<comments>http://adam.kahtava.com/journal/2009/09/15/introducing-my-amazon-web-service-find-your-profile-view-your-wishlist-or-reviews/#comments</comments>
		<pubDate>Tue, 15 Sep 2009 16:00:12 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[ADC Services]]></category>

		<category><![CDATA[Amazon]]></category>

		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[RESTful]]></category>

		<category><![CDATA[Services]]></category>

		<category><![CDATA[WCF]]></category>

		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/?p=1822</guid>
		<description><![CDATA[
My online portfolio is increasingly scattered through the internet (reviews and wishlist are on Amazon, source code on github / Google Projects, resume on LinkedIn, and so on). I've been working on a couple services that will eventually pull my portfolio together while keeping a single point of reference, and... I'm sharing these services.
Introducing my [...]]]></description>
			<content:encoded><![CDATA[<div style="padding: 0px 0px 10px 5px; float: right;"><img src="http://awsmedia.s3.amazonaws.com/logo_aws.gif" alt="" /></div>
<p>My online portfolio is increasingly scattered through the internet (<a href="http://www.amazon.com/gp/cdp/member-reviews/A2JM0EQJELFL69/ref=cm_pdp_rev_all?ie=UTF8&amp;sort_by=MostRecentReview">reviews</a> and <a href="http://www.amazon.com/Adam-Kahtava/wishlist/3JU6ASKNUS7B8/ref=cm_pdp_wish_all_itms">wishlist</a> are on Amazon, source code on <a href="http://github.com/adamdotcom">github</a> / Google Projects, resume on <a href="http://www.linkedin.com/pub/adam-kahtava/3/405/466">LinkedIn</a>, and so on). I've been working on a couple services that will eventually pull my portfolio together while keeping a single point of reference, and... I'm sharing these services.</p>
<p>Introducing my Amazon Web Service.</p>
<h3>How it works.</h3>
<p>Basically if you have a Wishlist or a Review list on Amazon you can:</p>
<p><strong>Discover your profile</strong> - retrieve your ListId (for WishLists) or CustomerId (for Reviews):</p>
<p>Discovery URI:</p>
<p style="padding-left: 30px;"><span style="text-decoration: underline;">http://adam.kahtava.com/services/amazon/discover/user/</span><em><span style="text-decoration: underline;">{user-name}</span></em><span style="text-decoration: underline;">.</span><em><span style="text-decoration: underline;">{xml|json}</span></em></p>
<p>Example:</p>
<p style="padding-left: 30px; ">Request: <a href="http://adam.kahtava.com/services/amazon/discover/user/adam-kahtava.xml">http://adam.kahtava.com/services/amazon/discover/user/adam-kahtava.xml</a></p>
<p style="padding-left: 30px; ">Response:</p>
<pre style="padding-left: 30px; ">&lt;Profile xmlns="http://adam.kahtava.com/services/amazon" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"&gt;
  &lt;CustomerId&gt;A2JM0EQJELFL69&lt;/CustomerId&gt;
  &lt;ListId&gt;3JU6ASKNUS7B8&lt;/ListId&gt;
&lt;/Profile&gt;</pre>
<p><strong>View your Reviews - <span style="font-weight: normal;">retrieve your Reviews by username or Amazon CustomerId.</span></strong></p>
<p>By customerId URI:</p>
<p style="padding-left: 30px;"><span style="text-decoration: underline;">http://adam.kahtava.com/services/amazon/reviews/id/<em>{customerId}</em>.<em>{xml|json}</em></span></p>
<p>By username URI:</p>
<p style="padding-left: 30px;"><span style="text-decoration: underline;">http://adam.kahtava.com/services/amazon/reviews/user/<em>{user-name}</em>.<em>{xml|json}</em></span></p>
<p>Example:</p>
<p style="padding-left: 30px;">Request: <a href="http://adam.kahtava.com/services/amazon/reviews/id/A2JM0EQJELFL69.xml">http://adam.kahtava.com/services/amazon/reviews/id/A2JM0EQJELFL69.xml</a></p>
<p style="padding-left: 30px;">Response:</p>
<pre style="padding-left: 30px;">&lt;Reviews xmlns="http://adam.kahtava.com/services/amazon" xmlns:i="http://www.w3.org/2001/XMLSchema-instance"&gt;
  &lt;Review&gt;
    &lt;ASIN&gt;0321125215&lt;/ASIN&gt;
    &lt;Authors&gt;Eric Evans&lt;/Authors&gt;
    &lt;AuthorsMLA&gt;Evans Eric.&lt;/AuthorsMLA&gt;
    &lt;Content&gt;Through this book Evan's ...</pre>
<p><strong>View your Wishlist - <span style="font-weight: normal;">view your Wishlist by username or Amazon ListId.</span></strong></p>
<p>By listId URI:</p>
<p style="padding-left: 30px;"><span style="text-decoration: underline;">http://adam.kahtava.com/services/amazon/wishlist/id/<em>{listId}</em>.<em>{xml|json}</em></span></p>
<p>By username URI:</p>
<p style="padding-left: 30px;"><span style="text-decoration: underline;">http://adam.kahtava.com/services/amazon/wishlist/user/<em>{user-name}</em>.<em>{xml|json}</em></span></p>
<p>Example:</p>
<p style="padding-left: 30px;">Request: <a href="http://adam.kahtava.com/services/amazon/wishlist/user/adam-kahtava.json">http://adam.kahtava.com/services/amazon/wishlist/user/adam-kahtava.json</a></p>
<p style="padding-left: 30px;">Response:</p>
<pre style="padding-left: 30px;">[{"ASIN":"0471467413","Authors":"Mostafa Abd-El-Barr, Hesham El-Rewini", ...</pre>
<h3>So now what?</h3>
<p>Head on over to my <a href="http://adam.kahtava.com/book-reviews/">Reviews</a> and <a href="http://adam.kahtava.com/reading-lists/recommended-and-wishlist/">Reading List</a> pages. These pages make use of the data from this service. I should also mention that, this service was built on a previous iteration of my Amazon Web Service (<a href="http://adam.kahtava.com/journal/2008/10/06/how-to-display-your-amazon-reviews-and-wish-list-on-your-site-using-amazons-web-services/">How To Display Your Amazon Reviews and Wish List Using Amazon’s Web Services</a>).</p>
<p>Contribute, view, or download the openly available source code <a href="http://code.google.com/p/adamdotcom-services/source/browse/trunk#trunk/AdamDotCom.Amazon.Service/Source/Service">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2009/09/15/introducing-my-amazon-web-service-find-your-profile-view-your-wishlist-or-reviews/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Working On the Dark Side of the Technology Stack: A .NET Developer Working in the Java Community</title>
		<link>http://adam.kahtava.com/journal/2009/02/26/working-on-the-dark-side-of-the-technology-stack-a-net-developer-working-in-the-java-community/</link>
		<comments>http://adam.kahtava.com/journal/2009/02/26/working-on-the-dark-side-of-the-technology-stack-a-net-developer-working-in-the-java-community/#comments</comments>
		<pubDate>Thu, 26 Feb 2009 15:26:39 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
		
		<category><![CDATA[Musings]]></category>

		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[Personal]]></category>

		<category><![CDATA[Programming Languages]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/PermaLink,guid,acb8c5ea-3a52-4076-a729-6d666a0d1420.aspx</guid>
		<description><![CDATA[ 
 Over the past couple months I had the pleasure of working in a Java shop. Up to this point I&#39;ve spent most of my time in the .NET realm. Working with Java was a great chance to experience the similarities and contrasts between environments, cultures, and web application implementations. Here are a couple [...]]]></description>
			<content:encoded><![CDATA[<div style="padding-left: 5px; float: right;"><a href="http://flickr.com/photos/leahculver/2380865613/"><img style="border: 0px none ;" src="http://farm3.static.flickr.com/2206/2380865613_4671d9c404_m.jpg"></a> </div>
<p> Over the past couple months I had the pleasure of working in a Java shop. Up to this point I&#39;ve spent most of my time in the .NET realm. Working with Java was a great chance to experience the similarities and contrasts between environments, cultures, and web application implementations. Here are a couple of my observations.</p>
<p> <b>Java developers are more knowledgeable than the <i>typical </i>.NET developer. </b>Java developers tend to gravitate towards complexity, Linux, UNIX, open source, and continuous learning. They are less familiar with the wizards and drag-n-drop style development that often characterize .NET development. The Java developers I worked with didn&#39;t depend on a single unified IDE (like Visual Studio), instead each developer chose their text editor / environment (Emacs, Eclipse, TextMate, E-TextEditor, and jEdit were all being used on a single project). Each developer was responsible for being productive with their editor; and took responsibility for learning shortcuts, and other performance enhancing techniques. This broad use of editors placed an emphasis on the core command line tools which ensured that developers knew how the application was put together, and cultivated broad application troubleshooting skills within the team.  </p>
<p> <b>Unified IDEs (like Visual Studio or Eclipse) do not result in faster development, better developers do.</b> Developers empowered with the ability to choose their development environment / text editors / operating system resulted in more passion and responsibility. Informal friendly rivalry between editor users drove development faster while providing diversity within the work place. &nbsp;</p>
<p> <b>Programming languages and technology stacks don&#39;t matter to <i>experienced</i> software developers.</b> As a developer it&#39;s easy to become a fanboy of languages or technologies stacks, but... they don&#39;t matter - writing good software within the bounds of our project do. There&#39;s no reason to be tied to a specific language or technology stack. Sure, languages fall into a specific category (dynamic, static, classical inherited, prototypical inherited) but programming languages are very similar.</p>
<p> Steve McConnell has been saying this all along:<br />
<blockquote>mastering more than one language is often a watershed in the career of a professional programmer. <b>Once a programmer realizes that programming principles transcend the syntax of any specific language, the doors swing open to knowledge that truly makes a difference in quality and productivity.</b> - Steve McConnell, <a href="http://www.amazon.com/dp/0735619670/">Code Complete 2nd Edition</a></p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2009/02/26/working-on-the-dark-side-of-the-technology-stack-a-net-developer-working-in-the-java-community/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Law of Two Feet</title>
		<link>http://adam.kahtava.com/journal/2008/12/19/the-law-of-two-feet/</link>
		<comments>http://adam.kahtava.com/journal/2008/12/19/the-law-of-two-feet/#comments</comments>
		<pubDate>Sat, 20 Dec 2008 06:42:03 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
		
		<category><![CDATA[Musings]]></category>

		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[Personal]]></category>

		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/PermaLink,guid,f770210a-ac17-4411-83ba-cf4d2e0eec69.aspx</guid>
		<description><![CDATA[
The Law of Two Feet is just as applicable to life, as it is to Open Spaces.
The Law of Two Feet:
If at any time during our time together you find yourself in any situation where you are neither learning nor contributing, use your two feet. Go to some other place where you may learn and [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right; padding-left: 5px;"><a href="http://www.flickr.com/photos/owenthatsmyname/2942529789/"><img style="border: medium none ;" src="http://farm4.static.flickr.com/3190/2942529789_8dfb231125_m.jpg" alt="" /></a></div>
<p>The Law of Two Feet is just as applicable to life, as it is to Open Spaces.</p>
<p>The Law of Two Feet:</p>
<blockquote><p>If at any time during our time together you find yourself in any situation where you are neither learning nor contributing, use your two feet. Go to some other place where you may learn and contribute. - <a href="http://en.wikipedia.org/wiki/Open_Space_Technology#Philosophy">Open Spaces, Wikipedia</a></p></blockquote>
<p>By applying this philosophy to software development (programming languages, operating systems, and development ecosystems), I've really been been re-igniting my passion as a software developer. I am foremost a software developer and the tools and products I choose are secondary, but I lost sight of this over the past couple years. I was buying into being a <em>[insert your choice of ecosystem, language, operating system here]</em> developer.</p>
<p>Anyhow; this isn't to say I won't be raising my concerns (running away), I'll continue to make noise (because <a href="http://adam.kahtava.com/journal/2008/11/28/bad-advice-if-you-dont-have-anything-nice-to-say-dont-say-anything-at-all/">I believe it has value</a>), but when change doesn't manifest. I will (like so many people before me) use my own two feet and move towards a situation where I can continue to learn, contribute, and be the change I'd like to see .</p>
]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2008/12/19/the-law-of-two-feet/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Twitter on PowerShell</title>
		<link>http://adam.kahtava.com/journal/2008/12/05/twitter-on-powershell/</link>
		<comments>http://adam.kahtava.com/journal/2008/12/05/twitter-on-powershell/#comments</comments>
		<pubDate>Sat, 06 Dec 2008 01:04:40 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
		
		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[PowerShell]]></category>

		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/PermaLink,guid,c66b0d9a-30ac-4d30-a104-a64f9d0a8f21.aspx</guid>
		<description><![CDATA[Adam Geras originally wrote a script in PowerShell that saves all the Twitter posts for a specific user into a file (view Mr. Geras original post here).
I built on his script and extended it to:

 Post messages to Twitter
 Retrieve Twitter replies
 View my Twitter friends conversations
 Display the classic Twitter Fail Whale when an [...]]]></description>
			<content:encoded><![CDATA[<p>Adam Geras originally wrote a script in <a href="http://en.wikipedia.org/wiki/Windows_PowerShell">PowerShell</a> that saves all the Twitter posts for a specific user into a file (<a href="http://testfirst.spaces.live.com/blog/cns%217E0657B7A0134A74%21230.entry">view Mr. Geras original post here</a>).</p>
<p>I built on his script and extended it to:</p>
<ul>
<li> Post messages to Twitter</li>
<li> Retrieve Twitter replies</li>
<li> View my Twitter friends conversations</li>
<li> Display the classic Twitter <a href="http://en.wikipedia.org/wiki/Twitter#Outages"><em>Fail Whale</em></a> when an error occurs</li>
</ul>
<h3>Screen Shots</h3>
<p>Sending a Twitter message:<br />
<img src="http://adam.kahtava.com/journal/images/blog/blog-post-twitter-powershell-tweet.png" alt="" /></p>
<p>Viewing my friends conversations:<br />
<img src="http://adam.kahtava.com/journal/images/blog/blog-post-twitter-powershell-friends.png" alt="" /></p>
<p>The classic Twitter <em>Fail Whale</em>:<br />
<img src="http://adam.kahtava.com/journal/images/blog/blog-post-twitter-powershell-fail-whale.png" alt="" /></p>
<p><em>There's something beautiful about the classic green console on a black background - I think it's about being closer to the metal. :) What do you think?</em></p>
<p>Contribute, view, or download the openly available script here: <a href="http://code.google.com/p/adamdotcom-script/source/browse/trunk/Scripts/PowerShell/Twitter.ps1">Twitter.ps1</a></p>
]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2008/12/05/twitter-on-powershell/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Passion, Quality Over Quantity, Domestic Failure: Microsoft, Ford, GM, Chrysler?</title>
		<link>http://adam.kahtava.com/journal/2008/11/24/passion-quality-over-quantity-domestic-failure-microsoft-ford-gm-chrysler/</link>
		<comments>http://adam.kahtava.com/journal/2008/11/24/passion-quality-over-quantity-domestic-failure-microsoft-ford-gm-chrysler/#comments</comments>
		<pubDate>Mon, 24 Nov 2008 22:43:17 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
		
		<category><![CDATA[Musings]]></category>

		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[Personal]]></category>

		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/PermaLink,guid,14553847-8a49-4798-947f-2ed8e72788c6.aspx</guid>
		<description><![CDATA[Steve Ballmer (the CEO of Microsoft) made this comment during Mix '08 during his interview with Guy Kawasaki:
GUY KAWASAKI: Okay. ... so it was like in the ashtray of your Lexus?
STEVE BALLMER: I'm a Ford guy, and I'm slightly offended by that. My father who worked for Ford would be offended, but nonetheless ...
Fair enough, [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://en.wikipedia.org/wiki/Steve_Ballmer">Steve Ballmer</a> (the CEO of Microsoft) made this comment during <a href="http://archive.visitmix.com/blogs/News/Watch-Steve-Ballmer-and-Guy-Kawasaki-Live/">Mix '08 during his interview with Guy Kawasaki</a>:</p>
<blockquote><p><strong>GUY KAWASAKI</strong>: Okay. ... so it was like in the ashtray of your Lexus?<br />
<strong>STEVE BALLMER</strong>: <strong>I'm a Ford guy</strong>, and I'm slightly offended by that. My father who worked for Ford would be offended, but nonetheless ...</p></blockquote>
<p>Fair enough, Ballmer likes Ford, but what kills me is that he apparently made his choice by association. Like Ballmer, my extended family are (were) also employed by Ford in the US <a href="http://en.wikipedia.org/wiki/Rust_Belt%20">Rust Belt</a>. However, I still value quality and the economics of a purchase over my family affiliations. Of course, this is a broader issue - many people favour historical affiliation / <a href="http://en.wikipedia.org/wiki/Brand_loyalty">brand loyalty</a> over critical thinking and this may never change, but Ballmer is the CEO of Microsoft!</p>
<p>Now Ford, GM, Chrysler are on the verge of bankruptcy, and while many factors contribute to their situation. I think most people agree that these automakers kept making poor decisions for short term revenue gains - they kept making bigger expensive, less efficient cars, they were inward focuses and failed to look at possible future scenarios (like a global economic recession, skyrocketing oil prices, doomsday, blah-blah-blah). Basically, the big three automakers have been out of touch with the rest of the world. People like me (and probably you too) have never owned a domestic car. For myself, imports offered better value for my money (better fuel efficiency, a higher resale value, and a longer life). In addition, imports felt safer, sturdier, and were more aesthetically pleasing. Imports offered quality over quantity, and they looked nice too -<strong> imports made me a happy satisfied consumer</strong>.</p>
<p>Like the big three automakers, Microsoft (or Ballmer at least) is out of touch with their community (their developers). For myself, the community oriented / collaborative communities outside Microsoft are continually drawing me in. The openness of these communities and their open solutions is one part of the interest, but I'm also growing tired of working in an ecosystem (and with developers) that literally lag years behind the rest of the software world. Down here in the trenches Microsoft centric developers bear a striking resemblance to the unionized American autoworkers - inflexible, arrogant, and inward focused.</p>
<p><strong>I want a development stack I can be proud of, that embraces quality over quantity, to work with developers that share my values, and an environment that offers more aesthetics. In short I want to be a happy satisfied developer.</strong></p>
<p>In all fairness, it's great how Microsoft is opening up (i.e. IronRuby, IronPython, MVC, etc...), but there are already more open established and mature communities outside Microsoft.<strong> </strong>I also really like C#, WCF, ASP.NET MVC, and Server 2008, but it's all the baggage associated with the Microsoft ecosystem. It's also fair to mention that the <a href="http://altdotnet.org/">ALT.NET</a> community is making great strides, but it is fundamentally discouraging that ALT.NET had to be formed in the first place. I mean, where are all the ALT.Rails, ALT.Ruby, ALT.Linux, ALT.Java communities?!</p>
]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2008/11/24/passion-quality-over-quantity-domestic-failure-microsoft-ford-gm-chrysler/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Vernacular Culture and Heretics: Humanity the Zen of Zen?</title>
		<link>http://adam.kahtava.com/journal/2008/10/30/vernacular-culture-and-heretics-humanity-the-zen-of-zen/</link>
		<comments>http://adam.kahtava.com/journal/2008/10/30/vernacular-culture-and-heretics-humanity-the-zen-of-zen/#comments</comments>
		<pubDate>Thu, 30 Oct 2008 20:49:53 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
		
		<category><![CDATA[Book]]></category>

		<category><![CDATA[Musings]]></category>

		<category><![CDATA[Open Source]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/PermaLink,guid,204ffaf8-ae6d-40cd-823e-52ad132448d1.aspx</guid>
		<description><![CDATA[
I found Art Kleiner's concept of vernacular culture interesting in his book The Age of Heretics: A History of the Radical Thinkers Who Reinvented Corporate Management.
Vernacular as described by Kleiner:
Despite the power of corporate practice, something desperately desirable has been lost in everyday corporate life, and without it, corporations could not truly perform. This lost [...]]]></description>
			<content:encoded><![CDATA[<div style="float: right;"><a href="http://flickr.com/photos/maproomsystems/2341717746/sizes/s/"><img style="border: 0px none ;" src="http://farm4.static.flickr.com/3079/2341717746_71381da8f8_m.jpg" alt="" /></a></div>
<p>I found Art Kleiner's concept of vernacular culture interesting in his book <a href="http://www.amazon.com/Age-Heretics-Reinvented-Corporate-Management/">The Age of Heretics: A History of the Radical Thinkers Who Reinvented Corporate Management</a>.</p>
<p><strong><em>Vernacular </em></strong>as described by Kleiner:</p>
<blockquote><p>Despite the power of corporate practice, something desperately desirable has been lost in everyday corporate life, and without it, corporations could not truly perform. <strong>This lost quality, unnoticed and yet desperately needed, was the vernacular spirit of everyday life ...<br />
</strong><br />
there is no better word than vernacular for the quality of relationships and culture that dominated community life before the advent of the industrial age ... </p>
<p>Vernacular life was the way of life that still exists in these villages of our dreams ... In a vernacular culture the best things in life are free, economic and personal life are mixed together ... and every exchange of goods is not just an economic transaction but an expression of the community's spirit ...</p>
<p>the builders of industrial culture didn't have to reject vernacular culture; they merely ignored it or destroyed it in passing, while the power of finance and operations, the power of the numbers culture, undermined the relationships that vernacular culture depended on.
</p></blockquote>
<p>There's strong parallels to the vernacular culture, the Agile / Lean movement, open source, buying locally, the <a href="http://en.wikipedia.org/wiki/The_Toyota_Way">Toyota Way</a> and an innate human need for community and contribution. Today, many of the institutes that have been built on industrial culture (GM, Ford) seem to be faltering, whereas those that have been built on vernacular culture (Toyota, Google) seem to be succeeding.</p>
<p>Through the book the author suggests that heretics are often responsible for transforming industrial cultured institutes to ones that embrace vernacular culture.</p>
<p>Kleiner describes a <strong><em>heretic </em></strong>as:</p>
<blockquote><p>someone who sees a truth that contradicts the conventional wisdom of the institution to which he or she belongs and remains loyal to both entities - the institution and the new truth.</p></blockquote>
<p>One of the concepts that is continual presented within this text is that conventional wisdom and institutions are often incorrect, as individuals we can change our situation, our work environment, and our world, but in order to make change we need to identify, verbalize, and seek out new ideas and approaches.</p>
<p>I don't know how I was recommended this book, but I'm really enjoying it!</p>
]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2008/10/30/vernacular-culture-and-heretics-humanity-the-zen-of-zen/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How To Display Your Amazon Reviews and Wish List (on your site) Using Amazon&#8217;s Web Services</title>
		<link>http://adam.kahtava.com/journal/2008/10/06/how-to-display-your-amazon-reviews-and-wish-list-on-your-site-using-amazons-web-services/</link>
		<comments>http://adam.kahtava.com/journal/2008/10/06/how-to-display-your-amazon-reviews-and-wish-list-on-your-site-using-amazons-web-services/#comments</comments>
		<pubDate>Mon, 06 Oct 2008 22:55:43 +0000</pubDate>
		<dc:creator>Adam Kahtava</dc:creator>
		
		<category><![CDATA[.NET]]></category>

		<category><![CDATA[ASP.NET]]></category>

		<category><![CDATA[Amazon]]></category>

		<category><![CDATA[Open Source]]></category>

		<category><![CDATA[Software]]></category>

		<category><![CDATA[XML]]></category>

		<guid isPermaLink="false">http://adam.kahtava.com/journal/PermaLink,guid,e44d5916-5c12-4b66-a1a0-65bab52ed58c.aspx</guid>
		<description><![CDATA[
If you've ever landed on Amazon then you're probably familiar with their reviews and wish lists. Amazon provides access to these items (and many-many more) through their extensive web services - the Amazon web services can be complex and overwhelming when all you want is a review list and a single user specific wish list. [...]]]></description>
			<content:encoded><![CDATA[<div style="padding: 0px 0px 10px 5px; float: right;"><img src="http://awsmedia.s3.amazonaws.com/logo_aws.gif" alt="" /></div>
<p>If you've ever landed on Amazon then you're probably familiar with their <a href="http://www.amazon.com/gp/cdp/member-reviews/A2JM0EQJELFL69/ref=cm_pdp_rev_all?ie=UTF8&amp;sort_by=MostRecentReview">reviews</a> and <a href="http://www.amazon.com/gp/registry/registry.html/ref=cm_pdp_wish_all_itms?ie=UTF8&amp;type=wishlist&amp;id=3JU6ASKNUS7B8">wish lists</a>. Amazon provides access to these items (and many-many more) through their extensive web services - the Amazon web services can be complex and overwhelming when all you want is a review list and a single user specific wish list. For this site I wanted to pull in my reviews and wish list - displaying them alongside my blog. <em>It's fair to note, that user reviews are available via an <a href="http://www.amazon.com/rss/people/A2JM0EQJELFL69/reviews/ref=cm_pdp_rev_rss">RSS feed</a> (but this feed doesn't include all the details I wanted) and the wish list page still doesn't provide an RSS feed.</em> So a custom Amazon web service request was in order.</p>
<p><strong>Let me try to make this story short.</strong></p>
<p>If you want to request your reviews and your wish list you need the following:</p>
<ul>
<li> An Amazon Account: <a href="http://www.amazon.com/gp/css/homepage.html">http://www.amazon.com/gp/css/homepage.html</a> with at least a wish list or a review.</li>
<li> An Amazon Associates tag: <a href="https://affiliate-program.amazon.com/gp/associates/join/">https://affiliate-program.amazon.com/gp/associates/join/</a> (this will be your <strong>AssociatesTag</strong>).</li>
<li> An Amazon Web Service (AWS) access key: <a href="http://aws.amazon.com/">http://aws.amazon.com/</a> (this will be your <strong>AWSAccessKey</strong>).</li>
</ul>
<p>Once you have a wish list or review, you then need to:</p>
<ul>
<li> Get your <strong>CustomerId</strong> for the reviews. <em>I found my CustomerId by navigating to my reviews (<a href="http://www.amazon.com/gp/cdp/member-reviews/A2JM0EQJELFL69/">http://www.amazon.com/gp/cdp/member-reviews/A2JM0EQJELFL69/</a>) then pulling out 'A2JM0EQJELFL69' (the last element of the url).</em></li>
<li> Get your <strong>ListId</strong> for your wish list.  <em>I found my ListId by navigating to my wishlist (<a href="http://www.amazon.com/gp/registry/registry.html/?id=3JU6ASKNUS7B8">http://www.amazon.com/gp/registry/registry.html/?id=3JU6ASKNUS7B8</a>) then pulling out '3JU6ASKNUS7B8' (the identifier after id= from the url).</em></li>
</ul>
<p>Once you've collected all those bits, you need to:</p>
<ul>
<li> Checkout and download the <a href="http://code.google.com/p/adamdotcom-amazon/source/checkout">source code</a> for the project and build the assembly or download the <a href="http://adamdotcom-amazon.googlecode.com/files/AdamDotCom.Amazon.dll">pre-compiled assembly</a>.</li>
<li> Add the assembly reference to your project (remember, I'm assuming you're using .NET).</li>
<li> Make a call to the application which will generate XML files containing your respective reviews and wish list.</li>
</ul>
<p>Setting up the call would look something like this:</p>
<pre><span style="font-size: 8pt; font-family: &quot;Courier New&quot;; color: #2b91af;">IAmazonRequest</span><span style="font-size: 8pt; font-family: &quot;Courier New&quot;;"> amazonRequest = <span style="color: blue;">new</span> <span style="color: #2b91af;">AmazonRequest</span>()</span> <span style="font-size: 8pt; font-family: &quot;Courier New&quot;;">{</span>
<span style="font-size: 8pt; font-family: &quot;Courier New&quot;;"><span> </span>AssociateTag = <span style="color: #a31515;">"adamkahtavaap-20"</span>,
</span> <span style="font-size: 8pt; font-family: &quot;Courier New&quot;;"><span> </span>AWSAccessKeyId = </span><span style="font-size: 8pt; font-family: &quot;Courier New&quot;;"><span style="color: #a31515;">"1MRF________MR2"</span></span><span style="font-size: 8pt; font-family: &quot;Courier New&quot;;">,
</span> <span style="font-size: 8pt; font-family: &quot;Courier New&quot;;"><span> </span>CustomerId = <span style="color: #a31515;">"A2JM0EQJELFL69"</span>,
</span> <span style="font-size: 8pt; font-family: &quot;Courier New&quot;;"><span> </span>ListId = <span style="color: #a31515;">"3JU6ASKNUS7B8"</span></span>
<span style="font-size: 8pt; font-family: &quot;Courier New&quot;;">};</span>

<span style="font-size: 8pt; font-family: &quot;Courier New&quot;; color: #2b91af;">IFileParameters</span><span style="font-size: 8pt; font-family: &quot;Courier New&quot;;"> fileParameters = <span style="color: blue;">new</span> <span style="color: #2b91af;">FileParameters</span>()</span> <span style="font-size: 8pt; font-family: &quot;Courier New&quot;;">{
</span> <span style="font-size: 8pt; font-family: &quot;Courier New&quot;;"><span> </span>ProductFileNameAndPath = <span style="color: #a31515;">@"Products.xml"</span>,
</span> <span style="font-size: 8pt; font-family: &quot;Courier New&quot;;"><span> </span>ReviewFileNameAndPath = <span style="color: #a31515;">@"Reviews.xml"</span>,
</span> <span style="font-size: 8pt; font-family: &quot;Courier New&quot;;"><span> </span>ErrorFileNameAndPath = <span style="color: #a31515;">@"Errors.xml"</span><span>
</span></span> <span style="font-size: 8pt; font-family: &quot;Courier New&quot;;">};</span>

<span style="font-size: 8pt; font-family: &quot;Courier New&quot;; color: #2b91af;">IAmazonApplication</span><span style="font-size: 8pt; font-family: &quot;Courier New&quot;;"> amazonApplication = <span style="color: blue;">new</span> <span style="color: #2b91af;">AmazonApplication</span>(amazonRequest, fileParameters);</span>

<span style="font-size: 8pt; line-height: 115%; font-family: &quot;Courier New&quot;;">amazonApplication.Save();</span></pre>
<p>And Viola!</p>
<p>If you'd like to provide some design guidance, fix a bug, or request a feature, then visit (or join) <a href="http://code.google.com/p/adamdotcom-amazon/">the project</a> on Google Code. <em> </em></p>
<p><em> </em></p>
<p><em> Alternatively, you might also be interested in the <a href="http://linqinaction.net/files/folders/linqinaction/entry1952.aspx">LINQ To Amazon</a> source featured in the book <a href="http://www.amazon.com/LINQ-Action-Fabrice-Marguerie/dp/1933988169">LINQ in Action</a>.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://adam.kahtava.com/journal/2008/10/06/how-to-display-your-amazon-reviews-and-wish-list-on-your-site-using-amazons-web-services/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
