<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Obvious Ideas</title>
	
	<link>http://www.arikfr.com/blog</link>
	<description>From the desk of a Software Developer</description>
	<lastBuildDate>Mon, 08 Mar 2010 07:03:08 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/ObviousIdeas" /><feedburner:info uri="obviousideas" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>There’s nothing wrong with Apple suing HTC. It’s the whole concept of patents that is wrong</title>
		<link>http://feedproxy.google.com/~r/ObviousIdeas/~3/Wbcp5TRtRB4/theres-nothing-wrong-with-apple-suing-htc-its-the-whole-concept-of-patents-that-is-wrong.html</link>
		<comments>http://www.arikfr.com/blog/theres-nothing-wrong-with-apple-suing-htc-its-the-whole-concept-of-patents-that-is-wrong.html#comments</comments>
		<pubDate>Mon, 08 Mar 2010 07:03:08 +0000</pubDate>
		<dc:creator>Arik</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.arikfr.com/blog/theres-nothing-wrong-with-apple-suing-htc-its-the-whole-concept-of-patents-that-is-wrong.html</guid>
		<description><![CDATA[
Today it&#39;s Apple filing a lawsuit against HTC, alleging that HTC infringing some of their patents &#8211; tomorrow it&#39;s Facebook who will file a lawsuit against the new kid in the block that will dare to implement newsfeeds. Patents on such things should be prohibited, they counteract innovation and competition. While HTC could afford buying rights from Apple [...]]]></description>
			<content:encoded><![CDATA[<div class='posterous_autopost'>
<div>Today it&#39;s <a href="http://www.engadget.com/2010/03/02/apple-sues-htc-for-infringing-20-iphone-patents/" onclick="javascript:urchinTracker ('/outbound/article/www.engadget.com');">Apple filing a lawsuit against HTC</a>, alleging that HTC infringing some of their patents &#8211; tomorrow it&#39;s <a href="http://www.allfacebook.com/2010/02/facebook-feed-patent/" onclick="javascript:urchinTracker ('/outbound/article/www.allfacebook.com');">Facebook who will file a lawsuit</a> against the new kid in the block that will dare to implement newsfeeds. Patents on such things should be prohibited, they counteract innovation and competition. While HTC could afford buying rights from Apple for these patents (in case Apple would be willing to sell rights), I don&#39;t think the same is true for some bootstrapped social network that would like to compete against Facebook.</div>
<p />
<div>Patents make sense for industries were by just copying some process you can compete with the patent inventor on the same level. It was meant to protect the inventors investment. But this no longer applies to products such as the iPhone or Facebook (or their features). They aren&#39;t selling us some features, they&#39;re selling a user experience. And this no one can copy from them, and even if someone does &#8211; they should just innovate and become better and not file lawsuits.</div>
<p />
<div>At least that is what I think.</div>
<p />
<div><b><i>Arik</i></b></div>
</p></div>
<img src="http://feeds.feedburner.com/~r/ObviousIdeas/~4/Wbcp5TRtRB4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.arikfr.com/blog/theres-nothing-wrong-with-apple-suing-htc-its-the-whole-concept-of-patents-that-is-wrong.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.arikfr.com/blog/theres-nothing-wrong-with-apple-suing-htc-its-the-whole-concept-of-patents-that-is-wrong.html</feedburner:origLink></item>
		<item>
		<title>Using Mixpanel API In Google App Engine Applications (Python)</title>
		<link>http://feedproxy.google.com/~r/ObviousIdeas/~3/QIIL33ZDyfQ/using-mixpanel-api-in-google-app-engine-applications-python.html</link>
		<comments>http://www.arikfr.com/blog/using-mixpanel-api-in-google-app-engine-applications-python.html#comments</comments>
		<pubDate>Mon, 14 Dec 2009 17:21:53 +0000</pubDate>
		<dc:creator>Arik</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[analysis]]></category>
		<category><![CDATA[analytics]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[app engine]]></category>
		<category><![CDATA[GAE]]></category>
		<category><![CDATA[gist]]></category>
		<category><![CDATA[google analytics]]></category>
		<category><![CDATA[google app engine]]></category>
		<category><![CDATA[mixpanel]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[sample]]></category>
		<category><![CDATA[Snippet]]></category>
		<category><![CDATA[tracking]]></category>

		<guid isPermaLink="false">http://www.arikfr.com/blog/?p=106</guid>
		<description><![CDATA[
We started using MixPanel to get realtime statistics on user engagement in our application. We&#8217;ve been using MixPanel before for funnel tracking, but you can&#8217;t really appreciate their service until you start using their event tracking. It is truly realtime (as advertised) &#8211; the second the user performs an action on your application, you see [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://mixpanel.com/site_media/images/splash/illustration.png" alt="" /></p>
<p>We started using <a href="http://mixpanel.com/" onclick="javascript:urchinTracker ('/outbound/article/mixpanel.com');">MixPanel</a> to get realtime statistics on user engagement in our application. We&#8217;ve been using MixPanel before for <a href="http://blog.mixpanel.com/funnel-analysis-with-mixpanel"title="Funnel analysis with Mixpanel"  onclick="javascript:urchinTracker ('/outbound/article/blog.mixpanel.com');">funnel tracking</a>, but you can&#8217;t really appreciate their service until you start using their event tracking. It is truly realtime (as advertised) &#8211; the second the user performs an action on your application, you see it on your dashboard.</p>
<p>Besides the realtime reporting what I really like about MixPanel is the fact that they allow easily reporting from your backend and not only from frontend/Javascript (as opposed to Google Analytics).</p>
<p>Within <a href="http://mixpanel.com/api/docs/walkthrough/" onclick="javascript:urchinTracker ('/outbound/article/mixpanel.com');">their documentation</a> they have code samples in many languages, including Python. But their Python sample requires ability to start new processes on the server you&#8217;re running &#8211; something not possible on App Engine. Therefore I changed it to use URLFetch in RPC mode (so that calls to Mixpanel won&#8217;t block the call):</p>
<p><script src="http://gist.github.com/256155.js?file=mixpanel.py"></script></p>
<p>It could be re-factored more, like allowing setting the project token outside the function call, but that I will leave for you to do <img src='http://www.arikfr.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  (and if you do, please share with us)</p>
<p><strong><em>Arik</em></strong></p>
<p><script src="http://www.reddit.com/r/AppEngine/button.js?t=3" type="text/javascript"></script></p>
<img src="http://feeds.feedburner.com/~r/ObviousIdeas/~4/QIIL33ZDyfQ" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.arikfr.com/blog/using-mixpanel-api-in-google-app-engine-applications-python.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.arikfr.com/blog/using-mixpanel-api-in-google-app-engine-applications-python.html</feedburner:origLink></item>
		<item>
		<title>App Engine: Mapping Entities Using Deferred Tasks</title>
		<link>http://feedproxy.google.com/~r/ObviousIdeas/~3/YLr17PN3-tE/app-engine-mapping-entities-using-deferred-tasks.html</link>
		<comments>http://www.arikfr.com/blog/app-engine-mapping-entities-using-deferred-tasks.html#comments</comments>
		<pubDate>Mon, 07 Dec 2009 18:57:28 +0000</pubDate>
		<dc:creator>Arik</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[app engine]]></category>
		<category><![CDATA[appengine]]></category>
		<category><![CDATA[Cloud]]></category>
		<category><![CDATA[Code]]></category>
		<category><![CDATA[computing]]></category>
		<category><![CDATA[deferred]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[Nick Johnson]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[sample]]></category>
		<category><![CDATA[task queues]]></category>

		<guid isPermaLink="false">http://www.arikfr.com/blog/?p=101</guid>
		<description><![CDATA[I recently started using deferred tasks in my App Engine application. I&#8217;m using them mainly for two things:

splitting user requests into two pieces &#8211; one that being done immediately and one that being done in the background, to speed up the response time.
mapping (iterating over) all my entities to calculate various statistics.

I won&#8217;t provide here [...]]]></description>
			<content:encoded><![CDATA[<p>I recently started using deferred tasks in my <a href="http://code.google.com/appengine" onclick="javascript:urchinTracker ('/outbound/article/code.google.com');">App Engine</a> application. I&#8217;m using them mainly for two things:</p>
<ol>
<li>splitting user requests into two pieces &#8211; one that being done immediately and one that being done in the background, to speed up the response time.</li>
<li>mapping (iterating over) all my entities to calculate various statistics.</li>
</ol>
<p>I won&#8217;t provide here details on how to use deferred tasks, because this is described in detail in a <a href="http://code.google.com/appengine/articles/deferred.html"title="Background work with the deferred library"  onclick="javascript:urchinTracker ('/outbound/article/code.google.com');">great article by Nick Johnson</a>, which I highly recommend reading. One thing I do want to share from my experience, is my implementation of the Mapper base class:</p>
<p><script src="http://gist.github.com/250932.js?file=mapper.py"></script></p>
<p>This implementation is taken from Nick&#8217;s article mentioned above, but I made some changes to it. The first change is giving subclasses the ability to set the property to order the entities by. I needed this, because I found out that when your entities have custom key names ordering by key breaks for some reason.</p>
<p>The other change is re-factoring the way the next batch starts. It seems to me that in the sample provided in the article there&#8217;s an error in the indentation, resulting in the code not doing batching properly and can even break in some situations. In my version every task run maps only one batch (or less). This is sub optimal in terms of # of tasks it takes to map all your entities, but as long as you don&#8217;t have really a lot of entities this is not such an issue.</p>
<p>I really would love to hear others&#8217; comments no my changes and about how you use deferred tasks or map your entities.</p>
<p><strong><em>Arik</em></strong></p>
<p><script type="text/javascript" src="http://www.reddit.com/r/AppEngine/button.js?t=3"></script></p>
<img src="http://feeds.feedburner.com/~r/ObviousIdeas/~4/YLr17PN3-tE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.arikfr.com/blog/app-engine-mapping-entities-using-deferred-tasks.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.arikfr.com/blog/app-engine-mapping-entities-using-deferred-tasks.html</feedburner:origLink></item>
		<item>
		<title>Simple Productivity Tip For Facebook Developers</title>
		<link>http://feedproxy.google.com/~r/ObviousIdeas/~3/lL40BcyhV7I/simple-productivity-tip-for-facebook-developers.html</link>
		<comments>http://www.arikfr.com/blog/simple-productivity-tip-for-facebook-developers.html#comments</comments>
		<pubDate>Sat, 28 Nov 2009 14:58:14 +0000</pubDate>
		<dc:creator>Arik</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[developers]]></category>
		<category><![CDATA[Facebook]]></category>
		<category><![CDATA[Productivity]]></category>
		<category><![CDATA[sandbox]]></category>
		<category><![CDATA[test]]></category>
		<category><![CDATA[tip]]></category>

		<guid isPermaLink="false">http://www.arikfr.com/blog/?p=97</guid>
		<description><![CDATA[
I&#8217;ve been doing quite a lot of Facebook development in the last few months. At first I was using my own account to do most of the testings for the apps I was working on. I always have (at least) two versions of the app &#8211; production and development. The development version is marked as [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/booleansplit/3972319375/" onclick="javascript:urchinTracker ('/outbound/article/www.flickr.com');"><img class="alignnone" title="Image by Robert S. Donovan" src="http://farm3.static.flickr.com/2667/3972319375_34f12a4f11_m.jpg" alt="" width="240" height="161" /></a></p>
<p>I&#8217;ve been doing quite a lot of Facebook development in the last few months. At first I was using my own account to do most of the testings for the apps I was working on. I always have (at least) two versions of the app &#8211; production and development. The development version is marked as sandboxed, so any action I do in it (including posting to the newsfeed) isn&#8217;t shown to my friends.</p>
<p>At first I felt that this is enough, and didn&#8217;t feel the need for a test account. But after some time I realized that while developing, anytime I get to my profile or newsfeed, I get distracted by my friends&#8217; posts. So I started using another account to do the testings. This way, whenever I get to the profile or newsfeed I practically see nothing there that can distract me from what I&#8217;m working on.</p>
<p>Another benefit of using a test account is that whenever you test something on the production (un-sandboxed) version of your app and need publish a lot to your newsfeed, you don&#8217;t spam your friends (or reveal upcoming features).</p>
<p>Of course, we can rely on our self discipline to avoid this distractions, but who are we kidding? <img src='http://www.arikfr.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong><em>Arik</em></strong></p>
<img src="http://feeds.feedburner.com/~r/ObviousIdeas/~4/lL40BcyhV7I" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.arikfr.com/blog/simple-productivity-tip-for-facebook-developers.html/feed</wfw:commentRss>
		<slash:comments>6</slash:comments>
		<feedburner:origLink>http://www.arikfr.com/blog/simple-productivity-tip-for-facebook-developers.html</feedburner:origLink></item>
		<item>
		<title>How To Protect Your Program Against Piracy</title>
		<link>http://feedproxy.google.com/~r/ObviousIdeas/~3/pXSiNJtZ0f4/how-to-protect-your-program-against-piracy.html</link>
		<comments>http://www.arikfr.com/blog/how-to-protect-your-program-against-piracy.html#comments</comments>
		<pubDate>Mon, 16 Nov 2009 18:22:16 +0000</pubDate>
		<dc:creator>Arik</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[37signals]]></category>
		<category><![CDATA[Microsoft]]></category>
		<category><![CDATA[piracy]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[xbox]]></category>
		<category><![CDATA[xbox live]]></category>

		<guid isPermaLink="false">http://www.arikfr.com/blog/?p=94</guid>
		<description><![CDATA[A friend of mine sent me this question by email today:
I have  a software written in visual C++ which is compiled into an .exe file and I wish to distribute (sell) it in a &#8220;secure&#8221; (anti pirated) way.  How can I &#8220;lock it&#8221; so it will be able to run on only one computer (the [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignnone" style="width: 250px"><a href="http://www.flickr.com/photos/penner42/2889744739/" onclick="javascript:urchinTracker ('/outbound/article/www.flickr.com');"><img src="http://farm4.static.flickr.com/3018/2889744739_399aa6795b_m.jpg" alt="This is another way to protect your software - just ask politely. (Photo by penner42 on Flickr)" width="240" height="172" /></a><p class="wp-caption-text">This is another way to protect your software - just ask politely. (Photo by penner42 on Flickr)</p></div>
<p>A friend of mine sent me this question by email today:</p>
<blockquote><p>I have  a software written in visual C++ which is compiled into an .exe file and I wish to distribute (sell) it in a &#8220;secure&#8221; (anti pirated) way.  How can I &#8220;lock it&#8221; so it will be able to run on only one computer (the one of the person who purchased the software)?  Is there a software to turn .exe files into protected ones, or good tutorials on what to do from the coding side?</p></blockquote>
<p>I thought that for the general good and in order to get more views on the topic, I will post my answer to him here:</p>
<p>I can think of mainly four ways to protect your software -</p>
<ol>
<li>Some serial number authentication mechanism &#8211; this is the most traditional way and it fails big time. All of the documented techniques to protect yourself in such a way are already broken, and if you&#8217;re not in the field of software security you probably won&#8217;t find anything better. This might be a good way if you know that your target market is non-technical people who probably won&#8217;t bother breaking your authentication mechanism themselves and usually don&#8217;t know someone who can do it for them.</li>
<li>Serial number authentication and online check &#8211; this is what Babylon do. When their application connects to their server it verifies the serial number it has with their database, if they see some misuse they either lock your application or just stop providing you answers. Microsoft use similar technique with XBox Live accounts &#8211; whenever you connect to XBox Live they check if the games you run are legal &#8211; if not they take actions against you. <a href="http://www.informationweek.com/news/hardware/peripherals/showArticle.jhtml?articleID=221601267" onclick="javascript:urchinTracker ('/outbound/article/www.informationweek.com');">In recent check they disabled 1 million pirated accounts</a>. But not only they disabled their access to XBox Live, they also disabled the hard drive in their console. This is quite good method as long as your software requires constant communication with your server. If not there are ways to override this protections (like disabling access to the Internet from your application).</li>
<li>Good target market &#8211; like in mentioned in (1) a lot depends on your target audience. If you create a truly great product and price it in reasonable and achievable price, most people are likely to pay (unless your target solely to the Israeli market&#8230;).</li>
<li>Online service &#8211; if you convert your software into an online service (like the <a href="http://www.37signals.com/" onclick="javascript:urchinTracker ('/outbound/article/www.37signals.com');">37Signals</a> products, <a href="http://www.zoho.com/" onclick="javascript:urchinTracker ('/outbound/article/www.zoho.com');">ZoHo</a>, <a href="http://www.github.com/" onclick="javascript:urchinTracker ('/outbound/article/www.github.com');">GitHub</a> and many more), you are fully protected up to the extent that people will use stolen credit cards or hack your system in some way. But this actions are considered as &#8220;real crimes&#8221; by most people and they will less likely use them or spread the knowledge about them.</li>
</ol>
<p>This are the four ways I can think of. If you ask me what would I do, I would go with option #4 &#8211; all other ways (besides #3) require you to invest unreasonable time and money in protecting your software instead of improving it. While it can be a nice mouse&amp;cat game, it highly unproductive.</p>
<p>That&#8217;s what I think, I&#8217;m not sure if it really helps my friend, but maybe one of the readers will offer some better insights &amp; tips on the topic.</p>
<p><strong><em>Arik</em></strong></p>
<img src="http://feeds.feedburner.com/~r/ObviousIdeas/~4/pXSiNJtZ0f4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.arikfr.com/blog/how-to-protect-your-program-against-piracy.html/feed</wfw:commentRss>
		<slash:comments>8</slash:comments>
		<feedburner:origLink>http://www.arikfr.com/blog/how-to-protect-your-program-against-piracy.html</feedburner:origLink></item>
		<item>
		<title>Launching Lite Apps – the fastest way to tweet or email from the iPhone</title>
		<link>http://feedproxy.google.com/~r/ObviousIdeas/~3/xWk21qlKh5Q/liteapps-released.html</link>
		<comments>http://www.arikfr.com/blog/liteapps-released.html#comments</comments>
		<pubDate>Sun, 11 Oct 2009 23:50:27 +0000</pubDate>
		<dc:creator>Arik</dc:creator>
				<category><![CDATA[Web Apps]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Email]]></category>
		<category><![CDATA[fast]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[lite]]></category>
		<category><![CDATA[liteapps]]></category>
		<category><![CDATA[litemail]]></category>
		<category><![CDATA[litetweet]]></category>
		<category><![CDATA[mail.app]]></category>
		<category><![CDATA[oauth]]></category>
		<category><![CDATA[quick]]></category>
		<category><![CDATA[twii]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.arikfr.com/blog/launching-lite-apps-%e2%80%93-the-fastest-way-to-tweet-or-email-from-the-iphone.html</guid>
		<description><![CDATA[Ever since I got my iPhone, there was this thing that was really frustrating for me &#8211; the time it takes to write a single tweet or compose a single email. While the Mail.app on the iPhone is quite fast, it sometimes annoys me that if I just want to send a quick email I [...]]]></description>
			<content:encoded><![CDATA[<div><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;">Ever since I got my iPhone, there was this thing that was really frustrating for me &#8211; the time it takes to write a single tweet or compose a single email. While the Mail.app on the iPhone is quite fast, it sometimes annoys me that if I just want to send a quick email I have to go through the inbox and it checks for new mail in the process.</span></span></div>
<div><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><br />
</span></span></div>
<div><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;">I guess part of the problem is the fact that I&#8217;m still using the first generation iPhone, which is slow. But considering the fact that I&#8217;m not alone with an old iPhone, I thought that a solution should be available or made. For the tweeting part of the problem I found Twii &#8211; a simple app whose all purpose is to compose tweets. It&#8217;s an OK solution, but I don&#8217;t like that it doesn&#8217;t use OAuth and my tweets appear as they were tweeted from &#8220;API&#8221; (usually a sign for spammers).</span></span></span></div>
<div><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><br />
</span></span></span></div>
<div><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;">So I decided that if there&#8217;s no reasonable solution for the problem, I should create one. As I already wanted to try the iPhone SDK, so this two small apps seemed to be good candidates for a first project. I started poking around with XCode and Objective-C, but never had the time to really build this apps. Besides the lack of time issue, the fact that I needed to wait for the whole AppStore approval process was a big turn off.</span></span></span></span></div>
<div><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><br />
</span></span></span></span></div>
<div><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;">And then it hit me &#8211; why should I waste my time on ObjectiveC and the AppStore, when what I want to create is so simple? I did a few experiments and realized that it is possible to create a good user experience with web apps on the iPhone (HTML 5 FTW!). So instead of poking around with XCode and Objective-C, I started poking around with <a href="http://jqtouch.com/"style="color: #bc7134; text-decoration: none; padding: 0px; margin: 0px;"  target="_blank" onclick="javascript:urchinTracker ('/outbound/article/jqtouch.com');">jQTouch</a>.</span></span></span></span></span></div>
<div><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><br />
</span></span></span></span></span></div>
<div><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;">Today I finally had the time to wrap everything up in a reasonable package. Now after few hours of coding and mainly designing (and without waiting for the AppStore gods to approve my apps), <strong>I invite you to try out my first </strong><a href="http://liteappshome.com/"style="color: #bc7134; text-decoration: none; padding: 0px; margin: 0px;"  target="_blank" onclick="javascript:urchinTracker ('/outbound/article/liteappshome.com');"><strong>LiteApps &#8211; LiteTweet and LiteMail</strong></a>.</span></span></span></span></span></span></div>
<div><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><br />
</span></span></span></span></span></span></div>
<div><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; padding: 0px; margin: 0px;"><span style="line-height: 19px; padding: 0px; margin: 0px;">This is a very preliminary release of the apps, and I really look forward for your feedback and ideas on this. There&#8217;s a lot to improve &#8211; mainly I want to improve the startup time for this apps, as this is the most important feature.</span></span></span></span></span></span></span></span></div>
<div><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; font-size: 13px; line-height: 19px; padding: 0px; margin: 0px;"><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; padding: 0px; margin: 0px;"><span style="line-height: 19px; padding: 0px; margin: 0px;"><br />
</span></span></span></span></span></span></span></span></div>
<div><span style="font-family: 'Lucida Grande', Verdana, Arial, 'Bitstream Vera Sans', sans-serif; padding: 0px; margin: 0px;"><span style="line-height: 19px; padding: 0px; margin: 0px;">Please be tolerant to bugs, security issues and other bizzare stuff. Also, please report them to me <img src='http://www.arikfr.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  I&#8217;m available on <a href="http://twitter.com/arikfr"style="color: #bc7134; text-decoration: none; padding: 0px; margin: 0px;"  target="_blank" onclick="javascript:urchinTracker ('/outbound/article/twitter.com');">Twitter</a> or <a style="color: #bc7134; text-decoration: none; padding: 0px; margin: 0px;" href="mailto:arik@liteappshome.com" target="_blank">email</a>.</span></span></div>
<p><img src="http://posterous.com/getfile/files.posterous.com/arikfr/gcFEPruXyF7Ac0lg9R1wCl8TLCwCKcmNln9WNcIEVVAhbnJl9KZroYeejvQy/photo_3.jpg" alt="" width="320" height="480" /> <img src="http://posterous.com/getfile/files.posterous.com/arikfr/aceerT4NFP6XsnoB5cYHKz7q59pqoG289SXWXQazCOhqEyuveEd2amsqVpDo/photo.jpg" alt="" width="320" height="480" /></p>
<div><a href="http://arikfr.posterous.com/launching-lite-apps-the-fastest-way-to-tweet" onclick="javascript:urchinTracker ('/outbound/article/arikfr.posterous.com');">See and download the full gallery on posterous</a></div>
<img src="http://feeds.feedburner.com/~r/ObviousIdeas/~4/xWk21qlKh5Q" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.arikfr.com/blog/liteapps-released.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.arikfr.com/blog/liteapps-released.html</feedburner:origLink></item>
		<item>
		<title>Another Example Of How Wrong The Game And Music Industries</title>
		<link>http://feedproxy.google.com/~r/ObviousIdeas/~3/fOU3BILYjNw/another-example-of-how-wrong-the-game-and-music-industries.html</link>
		<comments>http://www.arikfr.com/blog/another-example-of-how-wrong-the-game-and-music-industries.html#comments</comments>
		<pubDate>Thu, 13 Aug 2009 19:59:15 +0000</pubDate>
		<dc:creator>Arik</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.arikfr.com/blog/another-example-of-how-wrong-the-game-and-music-industries.html</guid>
		<description><![CDATA[


The massive Steam holiday sale was also a big win for Valve and its partners. The following holiday sales data was released, showing the sales breakdown organized by price reduction: 10% sale = 35% increase in sales (real dollars, not units shipped) 25% sale = 245% increase in sales50% sale = 320% increase in sales [...]]]></description>
			<content:encoded><![CDATA[<p><span style="color: rgb(66, 64, 55); font-family: Arial, Helvetica, sans-serif; font-size: 12px; line-height: 21px;">
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;">
<blockquote style="margin-top: 18px; margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 10px; border-left-width: 4px !important; border-left-style: solid !important; border-left-color: rgb(221, 221, 221) !important;">
<p style="margin-top: 18px; margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;">The massive Steam holiday sale was also a big win for Valve and its partners. The following holiday sales data was released, showing the sales breakdown organized by price reduction:<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;" /> 10% sale = 35% increase in sales (real dollars, not units shipped)<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;" /> 25% sale = 245% increase in sales<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;" />50% sale = 320% increase in sales<br style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;" /> 75% sale = 1470% increase in sales</p>
</blockquote>
<p style="margin-top: 18px; margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;">(via <span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;"><a href="http://www.codinghorror.com/blog/archives/001293.html" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(188, 113, 52); text-decoration: none;" onclick="javascript:urchinTracker ('/outbound/article/www.codinghorror.com');"></a><a href="http://www.codinghorror.com/blog/archives/001293.html" style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; color: rgb(188, 113, 52); text-decoration: none;" onclick="javascript:urchinTracker ('/outbound/article/www.codinghorror.com');">http://www.codinghorror.com/blog/archives/001293.html</a><span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;">)</span></span></p>
<p style="margin-top: 18px; margin-right: 0px; margin-bottom: 18px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;"><span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;"><span style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;">Basically what they proved is that when a game is priced in a reasonable price they sell more. This way sells go up, privacy goes down and everyone are happy (besides the lawyers which have no one to sue for copyrights infringement).</span></span></p>
</p></div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;"></div>
<div style="margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px;"> Same thing can be learnt from the AppStore where $9.99 considered as an outrageous high price, but the app developers still make decent I come with those prices due to high volume of sales.</div>
<p></span>
<p style="font-size: 10px;">  <a href="http://posterous.com" onclick="javascript:urchinTracker ('/outbound/article/posterous.com');">Posted via email</a>   from <a href="http://arikfr.posterous.com/another-example-of-how-wrong-the-game-and-mus-0" onclick="javascript:urchinTracker ('/outbound/article/arikfr.posterous.com');">Arik&#8217;s posterous</a>  </p>
<img src="http://feeds.feedburner.com/~r/ObviousIdeas/~4/fOU3BILYjNw" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.arikfr.com/blog/another-example-of-how-wrong-the-game-and-music-industries.html/feed</wfw:commentRss>
		<slash:comments>3</slash:comments>
		<feedburner:origLink>http://www.arikfr.com/blog/another-example-of-how-wrong-the-game-and-music-industries.html</feedburner:origLink></item>
		<item>
		<title>Howto Get a 1 Hour Reminder Before Facebook Opens Vanity Urls Creation</title>
		<link>http://feedproxy.google.com/~r/ObviousIdeas/~3/FQdlASTsaHA/howto-get-a-1-hour-reminder-before-facebook-opens-vanity-urls-creation.html</link>
		<comments>http://www.arikfr.com/blog/howto-get-a-1-hour-reminder-before-facebook-opens-vanity-urls-creation.html#comments</comments>
		<pubDate>Tue, 09 Jun 2009 20:55:11 +0000</pubDate>
		<dc:creator>Arik</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.arikfr.com/blog/?p=76</guid>
		<description><![CDATA[
Just read on TheNextWeb that Facebook is about to allow users to switch from profile urls like http://www.facebook.com/profile.php?id=1234567890 to http://www.facebook.com/username. Awesome, right? They will open up the registration on Saturday, June 13. On the registration page there&#8217;s currently nothing, but a countdown until registration is open.
If you have a common name and you&#8217;re afraid that [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.flickr.com/photos/arikfr/3612088168/" title="Facebook Usernames Countdown by arikfr, on Flickr" onclick="javascript:urchinTracker ('/outbound/article/www.flickr.com');"><img src="http://farm4.static.flickr.com/3387/3612088168_1510a03f9f_o.jpg" width="296" height="153" alt="Facebook Usernames Countdown" /></a></p>
<p><a href="http://thenextweb.com/2009/06/09/facebook-vanity-urls-rolling-saturday-countdown/" onclick="javascript:urchinTracker ('/outbound/article/thenextweb.com');">Just read on TheNextWeb </a>that Facebook is about to allow users to switch from profile urls like http://www.facebook.com/profile.php?id=1234567890 to <a href="http://www.facebook.com/username/" onclick="javascript:urchinTracker ('/outbound/article/www.facebook.com');">http://www.facebook.com/username</a>. Awesome, right? They will open up the registration on Saturday, June 13. On the <a href="http://www.facebook.com/username/" onclick="javascript:urchinTracker ('/outbound/article/www.facebook.com');">registration page</a> there&#8217;s currently nothing, but a countdown until registration is open.</p>
<p>If you have a common name and you&#8217;re afraid that your username will be taken (like I do), you probably want some alert before the countdown reaches 0. Well, that&#8217;s exactly why I created the <a href="http://twitter.com/fbname" onclick="javascript:urchinTracker ('/outbound/article/twitter.com');">@fbname</a> Twitter bot.</p>
<p><a href="http://twitter.com/fbname" title="@fbname" onclick="javascript:urchinTracker ('/outbound/article/twitter.com');"><img src="http://farm4.static.flickr.com/3664/3612085772_0205e74f85.jpg" width="360" height="84" alt="FB Name Twitter Bot" /></a><br />
<strong><a href="http://twitter.com/fbname" onclick="javascript:urchinTracker ('/outbound/article/twitter.com');">Just follow @fbname</a> and it will DM you 1 hour before the registration of vanity urls is actually available on Facebook.</strong></p>
<p>Enjoy <img src='http://www.arikfr.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
<em><strong>Arik</strong></em></p>
<img src="http://feeds.feedburner.com/~r/ObviousIdeas/~4/FQdlASTsaHA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.arikfr.com/blog/howto-get-a-1-hour-reminder-before-facebook-opens-vanity-urls-creation.html/feed</wfw:commentRss>
		<slash:comments>4</slash:comments>
		<feedburner:origLink>http://www.arikfr.com/blog/howto-get-a-1-hour-reminder-before-facebook-opens-vanity-urls-creation.html</feedburner:origLink></item>
		<item>
		<title>PHP Wrapper for the Mr. Tweet API</title>
		<link>http://feedproxy.google.com/~r/ObviousIdeas/~3/3H-k4ijxsto/php-wrapper-for-the-mr-tweet-api.html</link>
		<comments>http://www.arikfr.com/blog/php-wrapper-for-the-mr-tweet-api.html#comments</comments>
		<pubDate>Tue, 02 Jun 2009 18:41:15 +0000</pubDate>
		<dc:creator>Arik</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[API]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[json]]></category>
		<category><![CDATA[mr. tweet]]></category>
		<category><![CDATA[mrtweet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://www.arikfr.com/blog/?p=73</guid>
		<description><![CDATA[The Mr. Tweet people announced their new API to the public and I&#8217;ve just published on GitHub my PHP Wrapper for the Mr. Tweet API.

    PHP Wrapper for Mr.Tweet&#8217;s V1 API
    API Doc: http://api.mrtweet.com/v1/docs
    It uses libcurl and requires PHP 5 >= 5.2.0 for json_decode.
  [...]]]></description>
			<content:encoded><![CDATA[<p>The Mr. Tweet people <a href="http://blog.mrtweet.net/launching-the-mrtweet-api-with-tweetvisor-and-topify-what-can-you-do" onclick="javascript:urchinTracker ('/outbound/article/blog.mrtweet.net');">announced their new API to the public</a> and I&#8217;ve just published on GitHub my <a href="http://github.com/arikfr/mrtweet-php/tree/master" onclick="javascript:urchinTracker ('/outbound/article/github.com');">PHP Wrapper</a> for the <a href="http://mrtweet.pbworks.com/" onclick="javascript:urchinTracker ('/outbound/article/mrtweet.pbworks.com');">Mr. Tweet API</a>.</p>
<blockquote><p>
    PHP Wrapper for Mr.Tweet&#8217;s V1 API<br />
    API Doc: http://api.mrtweet.com/v1/docs</p>
<p>    It uses libcurl and requires PHP 5 >= 5.2.0 for json_decode.<br />
    Of course, you can rewrite to use other json decode funtions (or SimpleXMLElement for the XML response) and something<br />
    different than libcurl.</p>
<p>    While it very straightforward, see MrTweetApiTest.php for example of usage.</p>
<p>    Used originally for Topify (http://topify.com/).</p></blockquote>
<p>Their API is in alpha right now, so you need to request an API key by emailing api@mrtweet.com.</p>
<p>Would love to hear comments and to see people forking it! <img src='http://www.arikfr.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><strong><em>Arik</em></strong></p>
<img src="http://feeds.feedburner.com/~r/ObviousIdeas/~4/3H-k4ijxsto" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.arikfr.com/blog/php-wrapper-for-the-mr-tweet-api.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.arikfr.com/blog/php-wrapper-for-the-mr-tweet-api.html</feedburner:origLink></item>
		<item>
		<title>How To Create a Teapot with PHP</title>
		<link>http://feedproxy.google.com/~r/ObviousIdeas/~3/swaSi2frgw8/how-to-create-a-teapot-with-php.html</link>
		<comments>http://www.arikfr.com/blog/how-to-create-a-teapot-with-php.html#comments</comments>
		<pubDate>Wed, 13 May 2009 09:05:30 +0000</pubDate>
		<dc:creator>Arik</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[2324]]></category>
		<category><![CDATA[brew]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[rfc]]></category>
		<category><![CDATA[rfc-2324]]></category>
		<category><![CDATA[teapot]]></category>
		<category><![CDATA[topify]]></category>

		<guid isPermaLink="false">http://www.arikfr.com/blog/?p=67</guid>
		<description><![CDATA[Saw on @toolmantim&#8217;s blog that he turned his blog into a tea pot. He even made a Rack middleware that can turn any Rake app into a teapot. &#8220;Cool! it can be cool addition to Topify, too&#8221;, I thought to myself. The problem? Topify is PHP and not Ruby. The solution? 6 lines of PHP [...]]]></description>
			<content:encoded><![CDATA[<p>Saw on @<a href="http://twitter.com/toolmantim" onclick="javascript:urchinTracker ('/outbound/article/twitter.com');">toolmantim</a>&#8217;s blog that he <a href="http://toolmantim.com/articles/im_a_little_teapot" onclick="javascript:urchinTracker ('/outbound/article/toolmantim.com');">turned his blog into a tea pot</a>. He even made <a href="http://github.com/toolmantim/teapot/" onclick="javascript:urchinTracker ('/outbound/article/github.com');">a Rack middleware</a> that can turn any Rake app into a teapot. <em>&#8220;Cool! it can be cool addition to Topify, too&#8221;</em>, I thought to myself. The problem? <a href="http://www.topify.com/" onclick="javascript:urchinTracker ('/outbound/article/www.topify.com');">Topify</a> is PHP and not Ruby. The solution? 6 lines of PHP code:<br />
<script src="http://gist.github.com/110940.js"></script></p>
<p>And now you can do :</p>
<blockquote><p>
<strong>arikfr:~ arik$ curl -i -X BREW http://topify.com/</strong><br />
HTTP/1.1 418 I&#8217;m a teapot<br />
Date: Wed, 13 May 2009 08:51:07 GMT<br />
Server: Apache/2.0.59 (Unix) PHP/5.2.6 DAV/2<br />
X-Powered-By: PHP/5.2.6<br />
Content-Length: 29<br />
Content-Type: text/html</p>
<p>We do serve ICE Tea, though.</p></blockquote>
<p>It&#8217;s not as elegant as Ruby code or Ruby gem, but it does the work.</p>
<p>If you use this on your own server, please ping me. I would love to hear <img src='http://www.arikfr.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<img src="http://feeds.feedburner.com/~r/ObviousIdeas/~4/swaSi2frgw8" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.arikfr.com/blog/how-to-create-a-teapot-with-php.html/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.arikfr.com/blog/how-to-create-a-teapot-with-php.html</feedburner:origLink></item>
	</channel>
</rss><!-- Dynamic Page Served (once) in 0.377 seconds -->
