<?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>Simple Software</title>
	<atom:link href="http://haidersabri.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://haidersabri.com</link>
	<description>Haider Sabri's guide to painless coding.</description>
	<pubDate>Thu, 06 May 2010 18:04:03 +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>Mactracker&#8230;a cool tool</title>
		<link>http://haidersabri.com/2010/05/06/mactrackera-cool-tool/</link>
		<comments>http://haidersabri.com/2010/05/06/mactrackera-cool-tool/#comments</comments>
		<pubDate>Thu, 06 May 2010 18:04:03 +0000</pubDate>
		<dc:creator>haidersabri</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://haidersabri.com/2010/05/06/mactrackera-cool-tool/</guid>
		<description><![CDATA[Last week I walked into a huge tech company that had 30&#34; Dell monitors on every developer&#8217;s desk. The obvious reaction was temptation on my part. Anyhow, I started to wonder whether my Mac Pro &#38; Macbook Pro would suppor the high resolution it offers. Turns out the monitor needs a graphics card that supports [...]]]></description>
			<content:encoded><![CDATA[<p>Last week I walked into a huge tech company that had 30&quot; Dell monitors on every developer&#8217;s desk. The obvious reaction was temptation on my part. Anyhow, I started to wonder whether my Mac Pro &amp; Macbook Pro would suppor the high resolution it offers. Turns out the monitor needs a graphics card that supports dual-link DVI. Well, I found a really cool tool named <a href="http://mactracker.dreamhosters.com/" onclick="">MacTracker</a> that helped me make sure that my older Mac Pro would support it. This will help if you just want to know more about how different versions of Macs work.  <a href="http://mactracker.dreamhosters.com/" onclick="">Check it out</a>. </p>
<p style="color:#008;text-align:right;"><small><em>Powered by</em> <a href="http://www.qumana.com/" onclick="">Qumana</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://haidersabri.com/2010/05/06/mactrackera-cool-tool/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MySpaceID iPhone SDK</title>
		<link>http://haidersabri.com/2009/09/11/myspaceid-iphone-sdk/</link>
		<comments>http://haidersabri.com/2009/09/11/myspaceid-iphone-sdk/#comments</comments>
		<pubDate>Fri, 11 Sep 2009 11:43:25 +0000</pubDate>
		<dc:creator>haidersabri</dc:creator>
		
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://haidersabri.com/2009/09/02/myspaceid-iphone-sdk/</guid>
		<description><![CDATA[I recently completed the beta version of the MySpaceID iPhone SDK. The idea is to create a cocoa library that is easy for iPhone developers to start using when they want to integrate their iPhone applications with MySpaceID. 

This version of the library comes with support of 3-legged-OAuth, which keeps in tune with MySpace&#8217;s devotion to [...]]]></description>
			<content:encoded><![CDATA[<p><span style="color:Black">I recently completed the beta version of the MySpaceID iPhone SDK. The idea is to create a cocoa library that is easy for iPhone developers to start using when they want to integrate their iPhone applications with MySpaceID. </span></p>
<p><br/></p>
<p>This version of the library comes with support of 3-legged-OAuth, which keeps in tune with MySpace&#8217;s devotion to the &quot;Open Stack&quot;.  The 3-legged-OAuth flow requires a redirect to the browser, so your application will go to Safari for authentication.  Although breaking away from your application does seem rather counterintuitive from a user experience, the good news is after authentication, your app will be fired up once again.  This is because the SDK takes in your iPhone URL scheme to make a callback after authentication. The other good news is, you will only have to do this one time to associate your user with his MySpaceID.  This is because the SDK stores the Access Token needed for future requests.</p>
<p><br/></p>
<p><span style="color:Black">On top of OAuth support, the SDK comes with methods to make calls to the MySpace REST API&#8217;s.  We have full support for all the V1 and V2 endpoints. As more and more API&#8217;s get added, we will add more support.</span></p>
<p><span style="color:Black">I&#8217;ve also added a VERY simple dumb-down sample application with the SDK, just to demonstrate the OAuth flow, and a few API calls.</span></p>
<p><br/></p>
<p><span style="color:Black">I have to admit that this is actually my first real cocoa/iPhone project.  I&#8217;ve had a blast picking it up, and I really like the Cocoa Touch framework.  Coming from a managed and scripting code background, I did have hiccups with memory management, but I got the hang of it eventually.  I definitely see areas of improvement to the code, and welcome any feedback.</span></p>
<p><br/></p>
<p><span style="color:Black">Take a look at my code. We have open-sourced it like all the other SDK&#8217;s. Check it out here: <a href="http://code.google.com/p/myspaceid-iphone-sdk/" onclick="">Google Code Page</a> <a href="http://wiki.developer.myspace.com/index.php?title=Category:MySpaceID_SDK_for_iPhone" onclick="">MySpace Wiki Page</a> </span></p>
]]></content:encoded>
			<wfw:commentRss>http://haidersabri.com/2009/09/11/myspaceid-iphone-sdk/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Arabic PDF&#8217;s on Kindle DX</title>
		<link>http://haidersabri.com/2009/09/11/arabic-pdfs-on-kindle-dx/</link>
		<comments>http://haidersabri.com/2009/09/11/arabic-pdfs-on-kindle-dx/#comments</comments>
		<pubDate>Fri, 11 Sep 2009 11:39:29 +0000</pubDate>
		<dc:creator>haidersabri</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://haidersabri.com/?p=59</guid>
		<description><![CDATA[I recently purchased an Amazon Kindle DX because I really like to read books, and I have a ton of eBooks, articles and larger websites I&#8217;d like to read through but don&#8217;t have the discipline to sit behind a screen to read. I also find it far less enjoyable to read a book (as opposed [...]]]></description>
			<content:encoded><![CDATA[<p align="left">I recently purchased an Amazon Kindle DX because I really like to read books, and I have a ton of eBooks, articles and larger websites I&#8217;d like to read through but don&#8217;t have the discipline to sit behind a screen to read. I also find it far less enjoyable to read a book (as opposed to short articles, news, blogs, etc.) on a computer screen and my work station. I really need to have a book wherever I go to finish it. So for some time i tried using my iPhone for portable reading, but the screen is just too small for reading a book.</p>
<p></p>
<p align="left">I was really happy with the DX, but I found myself unable to read PDFs in Arabic. Every file I would put on my Kindle wouldn&#8217;t open, or it would render incorrectly. At first i assumed the DX didn&#8217;t support Right-To-Left texts like Arabic and Hebrew, but then i was wondering why. It made no sense to me, so I started messing around with the PDFs to see if I can fix them. I wasted time trying to export to a word document, RTF, anything really&#8230;my goal was to &quot;re-pdf&quot; the source so i can test what the problem was. Well, I was lucky to have tried something that worked out of the box! Using Acrobat Professional 8.0 (might work on previous versions. idk), just click Document-&gt;Reduce-File-Size. Make sure click the setting &quot;Make Compatible with Acrobat 8.0 or greater&quot;. Save, and move to your DX and you should be able to read Arabic (and Hebrew) PDF files now.</p>
]]></content:encoded>
			<wfw:commentRss>http://haidersabri.com/2009/09/11/arabic-pdfs-on-kindle-dx/feed/</wfw:commentRss>
		</item>
		<item>
		<title>My first post from my iPhone</title>
		<link>http://haidersabri.com/2009/08/25/my-first-post-from-my-iphonr/</link>
		<comments>http://haidersabri.com/2009/08/25/my-first-post-from-my-iphonr/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 09:29:19 +0000</pubDate>
		<dc:creator>haidersabri</dc:creator>
		
		<category><![CDATA[OpenID]]></category>

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

		<category><![CDATA[iPhone wordpress openid]]></category>

		<guid isPermaLink="false">http://haidersabri.com/2009/08/25/my-first-post-from-my-iphonr/</guid>
		<description><![CDATA[So it&#8217;s 2:30 am and in my home office I&#8217;ve been surfing the net, doing some research about OpenID and it&#8217;s footprint in the world today. I was curious how well the wordpress plugin for OpenID has gotten when I stumbled upon an article announcing the WordPress official app for iPhone. So yes, I got [...]]]></description>
			<content:encoded><![CDATA[<p>So it&#8217;s 2:30 am and in my home office I&#8217;ve been surfing the net, doing some research about OpenID and it&#8217;s footprint in the world today. I was curious how well the wordpress plugin for OpenID has gotten when I stumbled upon an article announcing the WordPress official app for iPhone. So yes, I got off topic and I am currently making my first blog post using this new app. </p>
<p>I have to admit that setup was extremely simple. The app allows you to set your tags (it knows tags you&#8217;ve already used before on your blog). Your also able to approve, delete and mark as spam any comments people have made to your blog ( man do I have a lot of spam!). You can even add photos!  </p>
<p>Anyhow. I&#8217;m going to end here. Now that this app is on my iPhone, I think I&#8217;ll try blogging more often. </p>
<p>Peace</p>
]]></content:encoded>
			<wfw:commentRss>http://haidersabri.com/2009/08/25/my-first-post-from-my-iphonr/feed/</wfw:commentRss>
		</item>
		<item>
		<title>HTTP Sniffer for Mac</title>
		<link>http://haidersabri.com/2009/06/15/http-sniffer-for-mac/</link>
		<comments>http://haidersabri.com/2009/06/15/http-sniffer-for-mac/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 23:44:51 +0000</pubDate>
		<dc:creator>haidersabri</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

		<guid isPermaLink="false">http://haidersabri.com/2009/06/15/http-sniffer-for-mac/</guid>
		<description><![CDATA[I&#8217;m much more accustomed to doing development on a windows machine. On windows, there is an invaluable tool that all web developers use (or should be using) to help them understand what&#8217;s happening on the HTTP pipeline. That application is called Fiddler.
Since I started doing more development on my Mac, i have struggled to find [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m much more accustomed to doing development on a windows machine. On windows, there is an invaluable tool that all web developers use (or should be using) to help them understand what&#8217;s happening on the HTTP pipeline. That application is called <a href="http://www.fiddler2.com/fiddler2/" onclick="">Fiddler</a>.</p>
<p>Since I started doing more development on my Mac, i have struggled to find a good, simple HTTP sniffer like Fiddler, till today. I&#8217;ve tried Charles, and I didn&#8217;t like it. I downloaded the trial to <a href="http://www.tuffcode.com/index.html" onclick="">HttpScoop</a> and so far its simple, easy to use, no need to set up proxies. I like it, and I think i will end up purchasing it.</p>
]]></content:encoded>
			<wfw:commentRss>http://haidersabri.com/2009/06/15/http-sniffer-for-mac/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MySpaceID SDK&#8217;s</title>
		<link>http://haidersabri.com/2009/06/15/myspaceid-sdks/</link>
		<comments>http://haidersabri.com/2009/06/15/myspaceid-sdks/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 23:39:55 +0000</pubDate>
		<dc:creator>haidersabri</dc:creator>
		
		<category><![CDATA[OpenID]]></category>

		<category><![CDATA[Web2.0]]></category>

		<guid isPermaLink="false">http://haidersabri.com/2009/06/15/myspaceid-sdks/</guid>
		<description><![CDATA[For a few months I&#8217;ve been working the MySpace Partner Relations team to evangelize MySpaceID, MySpace&#8217;s OpenID implementation. We&#8217;ve built out 6 libraries in different languages including: Java, PHP, Python, Ruby, C# and AS3.
I am currently working on a similar library in Objective-C that can be used for both iPhone and MAC-Native applications.
The code is [...]]]></description>
			<content:encoded><![CDATA[<p>For a few months I&#8217;ve been working the MySpace Partner Relations team to evangelize MySpaceID, MySpace&#8217;s OpenID implementation. We&#8217;ve built out 6 libraries in different languages including: Java, PHP, Python, Ruby, C# and AS3.</p>
<p>I am currently working on a similar library in Objective-C that can be used for both iPhone and MAC-Native applications.</p>
<p>The code is open sourced and hosted at Google Code. Take a <a href="http://code.google.com/p/myspaceid-php-sdk/" title="look" onclick="">look</a> at it sometime if your interested.</p>
]]></content:encoded>
			<wfw:commentRss>http://haidersabri.com/2009/06/15/myspaceid-sdks/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Google I/O</title>
		<link>http://haidersabri.com/2009/06/03/google-io/</link>
		<comments>http://haidersabri.com/2009/06/03/google-io/#comments</comments>
		<pubDate>Wed, 03 Jun 2009 22:56:56 +0000</pubDate>
		<dc:creator>haidersabri</dc:creator>
		
		<category><![CDATA[OpenStack]]></category>

		<category><![CDATA[Web2.0]]></category>

		<category><![CDATA[app engine]]></category>

		<category><![CDATA[google i/o]]></category>

		<category><![CDATA[google wave]]></category>

		<category><![CDATA[html 5]]></category>

		<guid isPermaLink="false">http://haidersabri.com/?p=47</guid>
		<description><![CDATA[Google I/O had its strong points, particularly at the keynotes. It also had some weak points in that a few of the sessions I attended seemed more to be product plugs than actual technology sessions. Here is my high level summary of Google I/O
App Engine
Before Google Wave was announced, App Engine was the most interesting [...]]]></description>
			<content:encoded><![CDATA[<p>Google I/O had its strong points, particularly at the keynotes. It also had some weak points in that a few of the sessions I attended seemed more to be product plugs than actual technology sessions. Here is my high level summary of Google I/O</p>
<p><span style="font-weight: bold;">App Engine</span><br />
Before Google Wave was announced, <a href="http://code.google.com/appengine/" onclick="">App Engine</a> was the most interesting subject at I/O, to me at least. Because I&#8217;ve built a few services in my day, App Engine appealed the most to me in that it offered a way to create services that are hosted in Google&#8217;s cloud. Google has ramped up its performance support, and automatically scales your service based upon the traffic that you are getting.  The big news at I/O was that we can now <a href="http://www.youtube.com/watch?v=P3GT4-m_6RQ" onclick="">build java applications on App Engine</a>.</p>
<p>What was even more interesting to me, however, was a session led by Brett Slatkin named &#8220;Offline Processing on App Engine: a Look Ahead&#8221;.  In this session Brett addressed some of the major concerns App Engine developers have when it comes to offline services.  For most of us looking for a service engine in the cloud, we can&#8217;t assume that all we need is a service that responds directly to user requests. We live in an age of mashing data via background services that have to crunch through data and metadata from numerous sources. App Engine doesn&#8217;t have an adequate solution for that currently. However, it seems that this year they will push forward with a task queue/executor model that relies on user injected <a href="http://en.wikipedia.org/wiki/Web_hooks" onclick="">web hooks</a> to permit background services to run on queue. This model will also permit developers to have a something akin to multithreading.</p>
<p><span style="font-weight: bold;">HTML 5</span></p>
<h2></h2>
<p><a href="http://en.wikipedia.org/wiki/HTML_5" onclick="">HTML 5</a> was definitely a recurring theme at Google I/O. It took up 1/2 of the first keynote. Google, along with Mozilla, Opera and Apple, consider HTML 5 to be a standard worth investing in. Some of the new elements introduced are section, audio, video, progress, nav, meter, time, aside, canvas, and datagrid. There is also great support for geolocation.</p>
<p><span style="font-weight: bold;">Google Web Toolkit<br />
<span style="font-weight: bold;"><br />
</span></span><a href="http://code.google.com/webtoolkit/" onclick="">GWT</a><span style="font-weight: bold;"><span style="font-weight: bold;"> </span></span>is an interesting platform that allows you to right Java code that automatically gets converted into Javascript by the GWT compiler. This allows for a simple way to create AJAX apps using Java.<span style="font-weight: bold;"><span style="font-weight: bold;"> </span></span>Google also created a plugin for Eclipse to make debugging and deploying very easy.<span style="font-weight: bold;"><span style="font-weight: bold;">  </span></span>To testify to the richness of GWT, Google announced that Wave was completely built on GWT.<span style="font-weight: bold;"><span style="font-weight: bold;"></p>
<p>Google Wave</p>
<p></span></span>The announcement of Google Wave came on the <a href="http://www.youtube.com/watch?v=v_UyVmITiYQ" onclick="">2nd keynote</a>. I highly recommend you watch the keynote. Google Wave is a Product, a Platform and a Protocol, as Google demonstrates. The product aspect is best explained as a super fast web-based system to communicate &amp; collaborate using rich text, photos, videos and more.<span style="font-weight: bold;"><span style="font-weight: bold;">  </span></span>I was blown away at the speed and apparant ease of collaboration. There is a part in the keynote where the two presenters were both editing the same document and you can see both changes occurring simultaneously. This was all done with preserving the history of all editing, in the cloud.<span style="font-weight: bold;"><span style="font-weight: bold;"></p>
<p></span></span>Its a platform because it offers a rich set of APIs for us developers to plug into and begin extending. A neat translation extension was demonstrated where two people could be chatting live in 2 different langauges and Google Wave would translate on the fly! You can take a look at the Google Wave APIs <a href="http://code.google.com/apis/wave/" onclick="">here</a>.</p>
<p>Its a protocol because it is built upon a network protocol named the Google Wave Federation Protocol.  This means that anyone can be a wave provider and communicate with other wave provider via the shared protocol. A draft specification can be seen <a href="http://www.waveprotocol.org/draft-protocol-spec" onclick="">here</a>.</p>
<p><span style="font-weight: bold;">Summary</span></p>
<p>Google I/O was a very interesting conference. It exposed me to platforms and APIs that I hadn&#8217;t been aware of.  Google Wave was an amazing showcase that has huge potential for the future. The new Android phone was a definite perk that no one was expecting.</p>
<p><span style="font-weight: bold;"><span style="font-weight: bold;"></span></span><code></code></p>
]]></content:encoded>
			<wfw:commentRss>http://haidersabri.com/2009/06/03/google-io/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Scott Hanselman&#8217;s MVC Demo at MIX</title>
		<link>http://haidersabri.com/2009/03/23/scott-hanselmans-mvc-demo-at-mix/</link>
		<comments>http://haidersabri.com/2009/03/23/scott-hanselmans-mvc-demo-at-mix/#comments</comments>
		<pubDate>Mon, 23 Mar 2009 21:02:58 +0000</pubDate>
		<dc:creator>haidersabri</dc:creator>
		
		<category><![CDATA[ASP.NET]]></category>

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

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

		<guid isPermaLink="false">http://haidersabri.com/?p=46</guid>
		<description><![CDATA[Scott never disappoints in his presentations.  We are all fans Scott. Anyhow, this is a great piece on ASP.NET MVC, which is something I find to be a very promising addition to the ASP.NET stack. Enjoy the presentation.
]]></description>
			<content:encoded><![CDATA[<p>Scott never disappoints in his presentations.  We are all fans Scott. Anyhow, this is a great piece on ASP.NET MVC, which is something I find to be a very promising addition to the ASP.NET stack. Enjoy the <a href="http://videos.visitmix.com/MIX09/T49F" onclick="">presentation</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://haidersabri.com/2009/03/23/scott-hanselmans-mvc-demo-at-mix/feed/</wfw:commentRss>
		</item>
		<item>
		<title>A great video explaining OpenID</title>
		<link>http://haidersabri.com/2009/03/05/a-great-video-explaining-openid/</link>
		<comments>http://haidersabri.com/2009/03/05/a-great-video-explaining-openid/#comments</comments>
		<pubDate>Thu, 05 Mar 2009 23:33:27 +0000</pubDate>
		<dc:creator>haidersabri</dc:creator>
		
		<category><![CDATA[OpenID]]></category>

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

		<category><![CDATA[Web2.0]]></category>

		<guid isPermaLink="false">http://haidersabri.com/?p=45</guid>
		<description><![CDATA[http://www.youtube.com/watch?v=xcmY8Pk-qEk
]]></description>
			<content:encoded><![CDATA[<p>http://www.youtube.com/watch?v=xcmY8Pk-qEk</p>
]]></content:encoded>
			<wfw:commentRss>http://haidersabri.com/2009/03/05/a-great-video-explaining-openid/feed/</wfw:commentRss>
		</item>
		<item>
		<title>OpenID+OAuth Hybrid Tested</title>
		<link>http://haidersabri.com/2009/02/04/openidoauth-hybrid-tested/</link>
		<comments>http://haidersabri.com/2009/02/04/openidoauth-hybrid-tested/#comments</comments>
		<pubDate>Wed, 04 Feb 2009 19:37:34 +0000</pubDate>
		<dc:creator>haidersabri</dc:creator>
		
		<category><![CDATA[OpenStack]]></category>

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

		<category><![CDATA[Web2.0]]></category>

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

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

		<guid isPermaLink="false">http://haidersabri.com/?p=44</guid>
		<description><![CDATA[Its very exciting news to hear whats going on with the OpenStack technologies being worked on by a multitude of technology companies.  Now there is a new hybrid protocol that combines the benefits of OpenID with OAuth which effectively make it very easy to move from site to site and keep your data with you. [...]]]></description>
			<content:encoded><![CDATA[<p>Its very exciting news to hear whats going on with the OpenStack technologies being worked on by a multitude of technology companies.  Now there is a new hybrid protocol that combines the benefits of OpenID with OAuth which effectively make it very easy to move from site to site and keep your data with you. You can find out more on this blog by <a href="http://josephsmarr.com/2009/02/03/test-driving-the-new-hybrid/" onclick="">Joseph Smarr</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://haidersabri.com/2009/02/04/openidoauth-hybrid-tested/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
