<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><!-- generator="wordpress/2.3" --><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/" version="2.0">

<channel>
	<title>Obvious Ideas</title>
	<link>http://www.arikfr.com/blog</link>
	<description>From the desk of a Software Developer</description>
	<pubDate>Tue, 14 Oct 2008 13:18:05 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3</generator>
	<language>en</language>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/ObviousIdeas" type="application/rss+xml" /><item>
		<title>Gravatars to Google Contacts Importer</title>
		<link>http://www.arikfr.com/blog/gravats-to-google-contacts-importer.html</link>
		<comments>http://www.arikfr.com/blog/gravats-to-google-contacts-importer.html#comments</comments>
		<pubDate>Sun, 12 Oct 2008 07:16:28 +0000</pubDate>
		<dc:creator>Arik</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<category><![CDATA[.NET]]></category>

		<category><![CDATA[API]]></category>

		<category><![CDATA[Automattic]]></category>

		<category><![CDATA[C#]]></category>

		<category><![CDATA[Contacts]]></category>

		<category><![CDATA[Google]]></category>

		<category><![CDATA[Google Code]]></category>

		<category><![CDATA[Gravatar]]></category>

		<category><![CDATA[Mono]]></category>

		<category><![CDATA[Opensource]]></category>

		<guid isPermaLink="false">http://www.arikfr.com/blog/gravats-to-google-contacts-importer.html</guid>
		<description><![CDATA[I really like avatars and therefore I&#8217;m a big fan of Gravatar. When Google first released their Contacts API, the first thing I though of was creating a small application to sync my friend&#8217;s Gravatars to my Google Contacts addressbook. The problem was that the first version of the API didn&#8217;t have an option to manage the [...]<img height="1" width="1" src="http://services.nuconomy.com/i.nsi?methId=log&projTok=231af47d-01&ownus=admin&sver=WordPress%2F1.08+%28nuconomy%29&srcId=http%3A%2F%2Fwww.arikfr.com%2Fblog%2Fgravats-to-google-contacts-importer.html&crtId=148">]]></description>
			<content:encoded><![CDATA[<p>I really like avatars and therefore I&#8217;m a big fan of <a href="http://www.gravatar.com" title="Gravatar" onclick="javascript:urchinTracker ('/outbound/article/www.gravatar.com');">Gravatar</a>. When Google first <a href="http://googledataapis.blogspot.com/2008/03/3-2-1-contact-api-has-landed.html" onclick="javascript:urchinTracker ('/outbound/article/googledataapis.blogspot.com');">released their Contacts API</a>, the first thing I though of was creating a small application to sync my friend&#8217;s Gravatars to my Google Contacts addressbook. The problem was that the first version of the API didn&#8217;t have an option to manage the photos of the contacts. Few months later, <a href="http://googledataapis.blogspot.com/2008/05/google-contacts-api-update.html" onclick="javascript:urchinTracker ('/outbound/article/googledataapis.blogspot.com');">Google updated the API</a> to include the option to update the contact&#8217;s photos. I played a bit with the new API, but never had the time to write the appliaction.
</p>
<p>Yesterday  (October 11 2008), the guys from Automattic/Gravatar wrote a post the <a href="http://blog.gravatar.com/2008/10/11/gravatar-one-year-later/" title="Gravatar, one year later" onclick="javascript:urchinTracker ('/outbound/article/blog.gravatar.com');">summarizes their last year</a>. This reminded me of this small project that I always wanted to code. I&#8217;ve decidced to code a first release of the application and put the code on <a href="http://code.google.com/p/gravatar-importer/" title="Gravatars to Google Contacts Importer" onclick="javascript:urchinTracker ('/outbound/article/code.google.com');">Google Code</a> for other to contribute.</p>
<p>
<a href="http://www.flickr.com/photos/arikfr/2933928932/" onclick="javascript:urchinTracker ('/outbound/article/www.flickr.com');"><img src="http://farm4.static.flickr.com/3205/2933928932_19030debce_m.jpg" alt="Gravatars to Google Contacts Importer" width="240" height="180" /> </a>
</p>
<p>
I&#8217;v decided to make it a .NET application and not a Python script, to address more people (I guess that more people are comfortable with running application than Python scripts). The reason that this isn&#8217;t a webapp, is because it takes a whole lot of time to process each contact list. If there was an option to question the Gravatar API for existence of a Gravatar for each email, it would make everything a bit quicker.</p>
<p>
It&#8217;s .NET 2.0, so I guess there shouldn&#8217;t be a problem to run it on Linux using <a href="http://www.mono-project.com/Main_Page" title="Mono Project" onclick="javascript:urchinTracker ('/outbound/article/www.mono-project.com');">Mono</a>, although I didn&#8217;t try that. The code is very simple, so if someone wants to translate it to other languages it&#8217;s possible and shouldn&#8217;t take too much time.</p>
<p>This is an alpha version, therefore don&#8217;t be scared if a nasty exception jumps at you <img src='http://www.arikfr.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> There are a lot of things to imporve, like adding threads to speed up things, time left counter and more. When I will have some more free time, I might add all this.</p>
<p>This is my first opensource project and<span style="font-weight: bold" class="Apple-style-span"> your comments are mostly appreciated. </span></p>
<p><span style="font-weight: bold" class="Apple-style-span"></span><span style="font-weight: bold" class="Apple-style-span"><span style="font-style: italic" class="Apple-style-span">Arik</span></span></p>
<img height="1" width="1" src="http://services.nuconomy.com/i.nsi?methId=log&projTok=231af47d-01&ownus=admin&sver=WordPress%2F1.08+%28nuconomy%29&srcId=http%3A%2F%2Fwww.arikfr.com%2Fblog%2Fgravats-to-google-contacts-importer.html&crtId=148">]]></content:encoded>
			<wfw:commentRss>http://www.arikfr.com/blog/gravats-to-google-contacts-importer.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>How To Send SMS Message From Python Via Skype</title>
		<link>http://www.arikfr.com/blog/how-to-send-sms-message-from-python-via-skype.html</link>
		<comments>http://www.arikfr.com/blog/how-to-send-sms-message-from-python-via-skype.html#comments</comments>
		<pubDate>Fri, 03 Oct 2008 17:56:51 +0000</pubDate>
		<dc:creator>Arik</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<category><![CDATA[API]]></category>

		<category><![CDATA[COM]]></category>

		<category><![CDATA[Develop]]></category>

		<category><![CDATA[Java]]></category>

		<category><![CDATA[Python]]></category>

		<category><![CDATA[Script]]></category>

		<category><![CDATA[Skype]]></category>

		<category><![CDATA[SMS]]></category>

		<category><![CDATA[Snippet]]></category>

		<guid isPermaLink="false">http://www.arikfr.com/blog/how-to-send-sms-message-from-python-via-skype.html</guid>
		<description><![CDATA[In case you didn&#8217;t know, Skype offers an extensive API for their application. This API can be used via Java library, COM module or a Python library. The Java library, COM Module and Python library all share similar features and I decided to try out the Python library. What I wanted to do is to [...]<img height="1" width="1" src="http://services.nuconomy.com/i.nsi?methId=log&projTok=231af47d-01&ownus=admin&sver=WordPress%2F1.08+%28nuconomy%29&srcId=http%3A%2F%2Fwww.arikfr.com%2Fblog%2Fhow-to-send-sms-message-from-python-via-skype.html&crtId=148">]]></description>
			<content:encoded><![CDATA[<p>In case you didn&#8217;t know, <a href="https://developer.skype.com/" onclick="javascript:urchinTracker ('/outbound/article/developer.skype.com');">Skype offers an extensive API</a> for their application. This API can be used via <a href="https://developer.skype.com/wiki/Java_API" onclick="javascript:urchinTracker ('/outbound/article/developer.skype.com');">Java library</a>, <a href="https://developer.skype.com/Docs/Skype4COM" onclick="javascript:urchinTracker ('/outbound/article/developer.skype.com');">COM module</a> or a <a href="https://developer.skype.com/wiki/Skype4Py" onclick="javascript:urchinTracker ('/outbound/article/developer.skype.com');">Python library</a>. The Java library, COM Module and Python library all share similar features and I decided to try out the Python library. What I wanted to do is to write a simple Python script that uses the Skype API to send SMS message from Skype. After going through their API documention, I was ready to go and the outcome was this short script: </p>
<blockquote><p>
import Skype4Py <br />
skype = Skype4Py.Skype()<br />
skype.Attach()<br />
number = &#8216;+972&#8230;&#8217;<br />
sms = skype.CreateSms(Skype4Py.smsMessageTypeOutgoing, number)<br />
sms.Body = &#8216;Test SMS from Python!&#8217;<br />
sms.Send()</p></blockquote>
<p>I think that the code is pretty straightforward and doesn&#8217;t require additional explaining. Feel free to ask questions at the comments.<br />
<em>Arik</em></p>
<img height="1" width="1" src="http://services.nuconomy.com/i.nsi?methId=log&projTok=231af47d-01&ownus=admin&sver=WordPress%2F1.08+%28nuconomy%29&srcId=http%3A%2F%2Fwww.arikfr.com%2Fblog%2Fhow-to-send-sms-message-from-python-via-skype.html&crtId=148">]]></content:encoded>
			<wfw:commentRss>http://www.arikfr.com/blog/how-to-send-sms-message-from-python-via-skype.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Beware Of A Virus Spread Via Facebook</title>
		<link>http://www.arikfr.com/blog/facebook-virus.html</link>
		<comments>http://www.arikfr.com/blog/facebook-virus.html#comments</comments>
		<pubDate>Thu, 07 Aug 2008 05:14:46 +0000</pubDate>
		<dc:creator>Arik</dc:creator>
		
		<category><![CDATA[Web 2.0]]></category>

		<category><![CDATA[Email]]></category>

		<category><![CDATA[Facebook]]></category>

		<category><![CDATA[Messenger]]></category>

		<category><![CDATA[Notifications]]></category>

		<category><![CDATA[Phishing]]></category>

		<category><![CDATA[Virus]]></category>

		<category><![CDATA[Wall]]></category>

		<guid isPermaLink="false">http://www.arikfr.com/blog/facebook-virus.html</guid>
		<description><![CDATA[
This morning I&#8217;ve received a notification email from Facebook, notifying me that my friend Asaf left me a new message on my wall. This seemed to be OK until I read the message:
&#8220;hello Arik, hehe.. you could be tht naughty i didnt knw..really hard to see tht from my eyes lol  
have a luk [...]<img height="1" width="1" src="http://services.nuconomy.com/i.nsi?methId=log&projTok=231af47d-01&ownus=admin&sver=WordPress%2F1.08+%28nuconomy%29&srcId=http%3A%2F%2Fwww.arikfr.com%2Fblog%2Ffacebook-virus.html&crtId=148">]]></description>
			<content:encoded><![CDATA[<p><a href="http://flickr.com/photos/joffley/135052908/" onclick="javascript:pageTracker._trackPageview('/outbound/article/flickr.com');" onclick="javascript:urchinTracker ('/outbound/article/flickr.com');"><img src="http://farm1.static.flickr.com/45/135052908_c4bd1ed8a9_m.jpg" alt="Image by Jofelly" width="240" height="180" /></a></p>
<p>This morning I&#8217;ve received a notification email from<strong> Facebook</strong>, notifying me that my friend Asaf left me a new message on my <strong>wall</strong>. This seemed to be OK until I read the message:</p>
<blockquote><p>&#8220;hello Arik, hehe.. you could be tht naughty i didnt knw..really hard to see tht from my eyes lol <img src='http://www.arikfr.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>have a luk urself…<br />
http://www.google.com.id.ewv1g6d2.ij4s0h.2b99df1a.cn/gallery.php?id=dd83hikzt&amp;auth=9490559&amp;cyua=iy2qpfpelm<br />
(click open or run when prompted)</p></blockquote>
<p>The contents of the message was suspiciously similar to the<a href="http://news.cnet.com/MSN-Messenger-hit-by-double-whammy-worm/2100-7349_3-5562129.html?tag=nw.1" onclick="javascript:urchinTracker ('/outbound/article/news.cnet.com');"> Messenger virus messages</a>. Another look at the URL gave out the fact that this is not a Google url, but a phishing site. Because I use Ubuntu at the moment, I wasn&#8217;t concerned too much of being hit by a virus, so I followed the link. The link goes to a download page of <strong>Picture_dl.exe</strong>, <strong>which I guess is some sort of a virus/worm.</strong></p>
<p>I couldn&#8217;t find this message on my wall, so either Facebook removed it already or the email didn&#8217;t come from them. Either way, I&#8217;ve notified their support about that, and I hope they will act accordingly.</p>
<p>Bottom line - <strong>beware of viruses being spread via Facebook/look like Facebook notifications, and don&#8217;t click on every link</strong>&#8230;</p>
<p><em><strong>Arik</strong></em><br />
<script type="text/javascript"><!--
google_ad_client = "pub-5090284702891599";
/* 468x60, created 8/18/08 */
google_ad_slot = "1123851786";
google_ad_width = 468;
google_ad_height = 60;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<p><script type="text/javascript"><!--
google_ad_client = "pub-5090284702891599";
/* 468x15, created 8/18/08 */
google_ad_slot = "9309867189";
google_ad_width = 468;
google_ad_height = 15;
//-->
</script><br />
<script type="text/javascript"
src="http://pagead2.googlesyndication.com/pagead/show_ads.js">
</script></p>
<img height="1" width="1" src="http://services.nuconomy.com/i.nsi?methId=log&projTok=231af47d-01&ownus=admin&sver=WordPress%2F1.08+%28nuconomy%29&srcId=http%3A%2F%2Fwww.arikfr.com%2Fblog%2Ffacebook-virus.html&crtId=148">]]></content:encoded>
			<wfw:commentRss>http://www.arikfr.com/blog/facebook-virus.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Make the Unread Items in Google Reader Disappear</title>
		<link>http://www.arikfr.com/blog/make-the-unread-items-in-google-reader-disappear.html</link>
		<comments>http://www.arikfr.com/blog/make-the-unread-items-in-google-reader-disappear.html#comments</comments>
		<pubDate>Thu, 17 Jul 2008 06:39:00 +0000</pubDate>
		<dc:creator>Arik</dc:creator>
		
		<category><![CDATA[Productivity]]></category>

		<category><![CDATA[Web Development]]></category>

		<category><![CDATA[bokokmarklet]]></category>

		<category><![CDATA[Google Reader]]></category>

		<category><![CDATA[Greasemonkey]]></category>

		<category><![CDATA[Javascript]]></category>

		<category><![CDATA[Unread Items]]></category>

		<category><![CDATA[Userscripts.org]]></category>

		<guid isPermaLink="false">http://www.arikfr.com/blog/make-the-unread-items-in-google-reader-disappear.html</guid>
		<description><![CDATA[
The Unread Items counter in Google Reader is putting you under pressure? Can&#8217;t sleep because of it? Well, you don&#8217;t have to see it any more. I&#8217;ve hacked a simple Greasemonkey script that hides the unread items counter in Google Reader. There&#8217;re two flavours of the script: one that hides only the all items counter [...]<img height="1" width="1" src="http://services.nuconomy.com/i.nsi?methId=log&projTok=231af47d-01&ownus=admin&sver=WordPress%2F1.08+%28nuconomy%29&srcId=http%3A%2F%2Fwww.arikfr.com%2Fblog%2Fmake-the-unread-items-in-google-reader-disappear.html&crtId=148">]]></description>
			<content:encoded><![CDATA[<p><img src="http://farm4.static.flickr.com/3279/2675800365_ba22109a66.jpg?v=0" alt="אין יותר מספרים מלחיצים" width="514" height="218" /></p>
<p><strong>The Unread Items counter in <a href="http://www.google.com/reader" onclick="javascript:urchinTracker ('/outbound/article/www.google.com');">Google Reader</a> is putting you under pressure? Can&#8217;t sleep because of it? Well, you don&#8217;t have to see it any more.</strong> I&#8217;ve hacked a simple <a href="https://addons.mozilla.org/en-US/firefox/addon/748" onclick="javascript:urchinTracker ('/outbound/article/addons.mozilla.org');">Greasemonkey</a> script that hides the unread items counter in Google Reader. There&#8217;re two flavours of the script: one that <a href="http://userscripts.org/scripts/show/30160" onclick="javascript:urchinTracker ('/outbound/article/userscripts.org');">hides only the all items counter</a> and other one that <a href="http://userscripts.org/scripts/show/30159" onclick="javascript:urchinTracker ('/outbound/article/userscripts.org');">hides all the counters</a>.</p>
<p>To those of you who don&#8217;t know what Greasemonkey is:</p>
<blockquote><p><strong>Greasemonkey</strong> is a <a href="http://en.wikipedia.org/wiki/Mozilla_Firefox" onclick="javascript:urchinTracker ('/outbound/article/en.wikipedia.org');">Mozilla Firefox</a> <a href="http://en.wikipedia.org/wiki/Extension_%28Mozilla%29" onclick="javascript:urchinTracker ('/outbound/article/en.wikipedia.org');">extension</a> that allows users to install <a href="http://en.wikipedia.org/wiki/Scripting_programming_language" onclick="javascript:urchinTracker ('/outbound/article/en.wikipedia.org');">scripts</a> that make <a href="http://en.wikipedia.org/wiki/On_the_fly" onclick="javascript:urchinTracker ('/outbound/article/en.wikipedia.org');">on-the-fly</a> changes to most HTML-based <a href="http://en.wikipedia.org/wiki/Web_page" onclick="javascript:urchinTracker ('/outbound/article/en.wikipedia.org');">web pages</a>. [..]</p>
<p>Greasemonkey can be used for adding new functionality to web pages (for example, embedding price comparison in <a href="http://en.wikipedia.org/wiki/Amazon.com" onclick="javascript:urchinTracker ('/outbound/article/en.wikipedia.org');">Amazon.com</a> web pages), fixing rendering bugs, combining data from multiple webpages, and numerous other purposes.</p></blockquote>
<p>(From Wikipedia entry on <a href="http://en.wikipedia.org/wiki/Greasemonkey" onclick="javascript:urchinTracker ('/outbound/article/en.wikipedia.org');">Greasemonkey</a>)</p>
<p>You can find a lot more scripts on <a href="http://userscripts.org" onclick="javascript:urchinTracker ('/outbound/article/userscripts.org');">userscripts.org</a> . Beware that some scripts become unstable/not working due to constant updates of the web sites (most of Gmail scripts break every version update).</p>
<p>I&#8217;ve also created three bookmarklets that allow you to unhide and hide the counters, but had trouble to embed them in the post. So if anyone interested in them, just leave here a comment.</p>
<p>Comments are mostly welcomed.</p>
<p>Enjoy.</p>
<p><strong><em>Arik</em></strong></p>
<img height="1" width="1" src="http://services.nuconomy.com/i.nsi?methId=log&projTok=231af47d-01&ownus=admin&sver=WordPress%2F1.08+%28nuconomy%29&srcId=http%3A%2F%2Fwww.arikfr.com%2Fblog%2Fmake-the-unread-items-in-google-reader-disappear.html&crtId=148">]]></content:encoded>
			<wfw:commentRss>http://www.arikfr.com/blog/make-the-unread-items-in-google-reader-disappear.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>EXCLUSIVE: The Code Change That Was Needed To Increase Facebook Friends Limit</title>
		<link>http://www.arikfr.com/blog/exclusive-the-code-change-that-was-needed-to-increase-facebook-friends-limit.html</link>
		<comments>http://www.arikfr.com/blog/exclusive-the-code-change-that-was-needed-to-increase-facebook-friends-limit.html#comments</comments>
		<pubDate>Fri, 09 May 2008 17:25:30 +0000</pubDate>
		<dc:creator>Arik</dc:creator>
		
		<category><![CDATA[Web 2.0]]></category>

		<category><![CDATA[Web Development]]></category>

		<category><![CDATA[Code]]></category>

		<category><![CDATA[Code Samples]]></category>

		<category><![CDATA[Facebook]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.arikfr.com/blog/exclusive-the-code-change-that-was-needed-to-increase-facebook-friends-limit.html</guid>
		<description><![CDATA[Today Michael Arrington announced that Facebook lifted their 5000 friends limit. As a tech blogger, I bring you the &#8220;behind the scenes&#8221; view: the code change that was needed to be done to increase this limit:

For the non techies:

line 3: commented out - the previous friends limit defined
line 4 - the new friends limit

Shocking.  [...]<img height="1" width="1" src="http://services.nuconomy.com/i.nsi?methId=log&projTok=231af47d-01&ownus=admin&sver=WordPress%2F1.08+%28nuconomy%29&srcId=http%3A%2F%2Fwww.arikfr.com%2Fblog%2Fexclusive-the-code-change-that-was-needed-to-increase-facebook-friends-limit.html&crtId=148">]]></description>
			<content:encoded><![CDATA[<p>Today Michael Arrington announced that <a href="http://www.techcrunch.com/2008/05/09/facebook-to-lift-5000-friends-limit/" onclick="javascript:urchinTracker ('/outbound/article/www.techcrunch.com');">Facebook lifted their 5000 friends limit</a>. As a tech blogger, I bring you the &#8220;behind the scenes&#8221; view: the code change that was needed to be done to increase this limit:</p>
<p><a href="http://www.arikfr.com/blog/wp-content/uploads/2008/05/fb-friends-limit1.png" ><img src="http://www.arikfr.com/blog/wp-content/uploads/2008/05/fb-friends-limit-thumb.png" style="border: 0px none " alt="fb_friends_limit" width="351" border="0" height="121" /></a></p>
<p>For the non techies:</p>
<ul>
<li>line 3: commented out - the previous friends limit defined</li>
<li>line 4 - the new friends limit</li>
</ul>
<p>Shocking. <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 height="1" width="1" src="http://services.nuconomy.com/i.nsi?methId=log&projTok=231af47d-01&ownus=admin&sver=WordPress%2F1.08+%28nuconomy%29&srcId=http%3A%2F%2Fwww.arikfr.com%2Fblog%2Fexclusive-the-code-change-that-was-needed-to-increase-facebook-friends-limit.html&crtId=148">]]></content:encoded>
			<wfw:commentRss>http://www.arikfr.com/blog/exclusive-the-code-change-that-was-needed-to-increase-facebook-friends-limit.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Maybe It’s OK That Wordpress Kill Your CPU</title>
		<link>http://www.arikfr.com/blog/maybe-its-ok-that-wordpress-kill-your-cpu.html</link>
		<comments>http://www.arikfr.com/blog/maybe-its-ok-that-wordpress-kill-your-cpu.html#comments</comments>
		<pubDate>Wed, 23 Apr 2008 18:38:24 +0000</pubDate>
		<dc:creator>Arik</dc:creator>
		
		<category><![CDATA[Web Apps]]></category>

		<category><![CDATA[Web Development]]></category>

		<category><![CDATA[Bloggers]]></category>

		<category><![CDATA[Cache]]></category>

		<category><![CDATA[CodingHorror]]></category>

		<category><![CDATA[features]]></category>

		<category><![CDATA[Jeff Atwood]]></category>

		<category><![CDATA[Performance]]></category>

		<category><![CDATA[users]]></category>

		<category><![CDATA[Wordpress]]></category>

		<category><![CDATA[WP-Cache]]></category>

		<guid isPermaLink="false">http://www.arikfr.com/blog/maybe-its-ok-that-wordpress-kill-your-cpu.html</guid>
		<description><![CDATA[Jeff Atwood writes about WordPress performance. Quite astonishing - it appears to be that if your blog is medium sized (or bigger) you must install WP-Cache in order it will survive traffic peaks and doesn&#8217;t kill your server.
When I read it, my first though was: &#8220;too bad they though that fancy control panel is more [...]<img height="1" width="1" src="http://services.nuconomy.com/i.nsi?methId=log&projTok=231af47d-01&ownus=admin&sver=WordPress%2F1.08+%28nuconomy%29&srcId=http%3A%2F%2Fwww.arikfr.com%2Fblog%2Fmaybe-its-ok-that-wordpress-kill-your-cpu.html&crtId=148">]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.codinghorror.com" title="Coding Horror Blog" onclick="javascript:urchinTracker ('/outbound/article/www.codinghorror.com');">Jeff Atwood</a> writes <a href="http://www.codinghorror.com/blog/archives/001105.html" title="Behold WordPress, Destroyer of CPUs" onclick="javascript:urchinTracker ('/outbound/article/www.codinghorror.com');">about WordPress performance</a>. Quite astonishing - it appears to be that if your blog is medium sized (or bigger) you must install <a href="http://mnm.uib.es/gallir/wp-cache-2/" onclick="javascript:urchinTracker ('/outbound/article/mnm.uib.es');">WP-Cache</a> in order it will survive traffic peaks and doesn&#8217;t kill your server.</p>
<p>When I read it, my first though was: &#8220;too bad they though that fancy control panel is more important the performance.&#8221;, but then I though of something else - maybe avoiding performance issues and dealing with other stuff before that, that&#8217;s more user targeted thinking of features: most Wordpress users are small bloggers (like me (-:) and therefore they need better UI experience than caching, while the big fish can handle the extra hassle of installing WP-Cache or paying for a dedicated server.</p>
<p>Think of that next time you decide which feature to implement first. Remmeber - listen to your users, not your engineers <img src='http://www.arikfr.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p><em><strong>Arik</strong></em></p>
<img height="1" width="1" src="http://services.nuconomy.com/i.nsi?methId=log&projTok=231af47d-01&ownus=admin&sver=WordPress%2F1.08+%28nuconomy%29&srcId=http%3A%2F%2Fwww.arikfr.com%2Fblog%2Fmaybe-its-ok-that-wordpress-kill-your-cpu.html&crtId=148">]]></content:encoded>
			<wfw:commentRss>http://www.arikfr.com/blog/maybe-its-ok-that-wordpress-kill-your-cpu.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>The Benefits of Using Amazon EC2</title>
		<link>http://www.arikfr.com/blog/the-benefits-of-using-amazon-ec2.html</link>
		<comments>http://www.arikfr.com/blog/the-benefits-of-using-amazon-ec2.html#comments</comments>
		<pubDate>Tue, 22 Apr 2008 05:14:09 +0000</pubDate>
		<dc:creator>Arik</dc:creator>
		
		<category><![CDATA[Web Development]]></category>

		<category><![CDATA[Amazon EC2]]></category>

		<category><![CDATA[Amazon Web Services]]></category>

		<category><![CDATA[Animoto]]></category>

		<category><![CDATA[Cloud]]></category>

		<category><![CDATA[DRP]]></category>

		<category><![CDATA[GAE]]></category>

		<category><![CDATA[Google]]></category>

		<category><![CDATA[Google Application Engine]]></category>

		<category><![CDATA[Microsoft]]></category>

		<category><![CDATA[Rendering]]></category>

		<category><![CDATA[Scalability]]></category>

		<category><![CDATA[Scaling]]></category>

		<category><![CDATA[Video]]></category>

		<category><![CDATA[Virtualization]]></category>

		<category><![CDATA[Xen]]></category>

		<guid isPermaLink="false">http://www.arikfr.com/blog/the-benefits-of-using-amazon-ec2.html</guid>
		<description><![CDATA[Amazon Elastic Compute Cloud, also known as &#8220;EC2&#8243;, allows scalable deployment of applications.[1] Current users are able to create, launch and terminate server instances on demand, hence the term &#8220;elastic&#8221;.(Wikipedia)
I believe that the Amazon Web Services (and especially EC2) are one of the most influencing technologies that shape the future of the web. While for [...]<img height="1" width="1" src="http://services.nuconomy.com/i.nsi?methId=log&projTok=231af47d-01&ownus=admin&sver=WordPress%2F1.08+%28nuconomy%29&srcId=http%3A%2F%2Fwww.arikfr.com%2Fblog%2Fthe-benefits-of-using-amazon-ec2.html&crtId=148">]]></description>
			<content:encoded><![CDATA[<blockquote><strong>Amazon Elastic Compute <a href="http://en.wikipedia.org/wiki/Cloud_computing" onclick="javascript:urchinTracker ('/outbound/article/en.wikipedia.org');">Cloud</a></strong>, also known as &#8220;EC2&#8243;, allows <a href="http://en.wikipedia.org/wiki/Scalable" onclick="javascript:urchinTracker ('/outbound/article/en.wikipedia.org');">scalable</a> deployment of applications.<sup><a href="http://en.wikipedia.org/wiki/Amazon_ec2#cite_note-0" onclick="javascript:urchinTracker ('/outbound/article/en.wikipedia.org');">[1]</a></sup> Current users are able to create, launch and terminate server instances on demand, hence the term &#8220;elastic&#8221;.(<a href="http://en.wikipedia.org/wiki/Amazon_ec2" onclick="javascript:urchinTracker ('/outbound/article/en.wikipedia.org');">Wikipedia</a>)</p></blockquote>
<p>I believe that the <a href="http://en.wikipedia.org/wiki/Amazon_Web_Services" onclick="javascript:urchinTracker ('/outbound/article/en.wikipedia.org');">Amazon Web Services</a> (and especially <a href="http://en.wikipedia.org/wiki/Amazon_ec2" onclick="javascript:urchinTracker ('/outbound/article/en.wikipedia.org');">EC2</a>) are one of the most influencing technologies that shape the future of the web. While for me it&#8217;s pretty obvious what is the benefits of such a service, it sometimes difficult to explain to others. Yesterday, I stumbled over the most convincing example of them all.</p>
<p><script type="text/javascript" src="http://widgets.clearspring.com/o/46928cc51133af17/480d751b848bfc06/46928cc5788deb29/957f6829/widget.js"></script></p>
<p>Enter <a href="http://www.animoto.com" onclick="javascript:urchinTracker ('/outbound/article/www.animoto.com');">Animoto</a>. Animoto is a cool web application that you feed it with your photos and it creates you a video of it (see example above). The geeks among you readers, know that rendering video can be CPU consuming. So how they do that? Using Amazon EC2, of course.</p>
<p><a href="http://www.arikfr.com/blog/wp-content/uploads/2008/04/animoto-ec2-usage3.png" ><img src="http://www.arikfr.com/blog/wp-content/uploads/2008/04/animoto-ec2-usage-thumb.png" style="border-width: 0px" alt="animoto_ec2_usage" width="515" border="0" height="393" /></a></p>
<p>During last week Animoto userbase grew <a href="http://aws.typepad.com/aws/2008/04/animoto---scali.html" onclick="javascript:urchinTracker ('/outbound/article/aws.typepad.com');">from 25,000 users on Monday to 250,000 users on Thursday</a> (!). But the graph the you see above isn&#8217;t the graph of their user count, it&#8217;s the graph of the EC2 instances they used to handle that traffic. They started the week with 50 EC2 instances, grew to 100, 900 and eventually 3400 instances of EC2. Later on when the demand lowered, you can see the the count lowered to something like 1200 EC2 instances.</p>
<p>Now imagine if they have been using regular servers. Just thinking of the meaning of managing all this amount of hardware, of storing it, DRP plans, etc.. gives me the creeps!</p>
<p>This example shows perfectly the benefits of EC2 in particular and cloud computing in general:</p>
<ul>
<li>Pay as you go - you need 50 servers today? No problem. You need 3000 tomorrow? That&#8217;s no problem either. And the day after tomorrow you want only 1000? Just do what ever you want. No need to plan ahead of how much computing power you will need, just build the infrastructure that can grow.</li>
<li>No system management overhead - I guess that most of the EC2 instances used by Animoto are servers that do the video rendering. So when the usage grows that just duplicate the same server image they already have. When one of them stuck or fails, they just shut it down and start a new one. No need to have people maintaining huge server sites, buying hardware and stuff. Simple example for such an architecture using EC2 is explained in this <a href="http://developer.amazonwebservices.com/connect/entry.jspa?entryID=915" onclick="javascript:urchinTracker ('/outbound/article/developer.amazonwebservices.com');">article</a>.</li>
<li>Simple! Everything is API based, and you&#8217;re not the first one to use it, so there plenty of implementions of <a href="http://code.google.com/p/lifeguard/" onclick="javascript:urchinTracker ('/outbound/article/code.google.com');">scalable</a> <a href="http://code.google.com/p/scalr/" onclick="javascript:urchinTracker ('/outbound/article/code.google.com');">architectures</a> <a href="http://code.google.com/p/cloudtools/" onclick="javascript:urchinTracker ('/outbound/article/code.google.com');">over</a> <a href="http://ec2onrails.rubyforge.org/" onclick="javascript:urchinTracker ('/outbound/article/ec2onrails.rubyforge.org');">EC2</a> .</li>
<li>DRP? In a few mouse clicks (or automatically using a watchdog script that monitors their <a href="http://aws.typepad.com/aws/2008/04/the-service-hea.html" onclick="javascript:urchinTracker ('/outbound/article/aws.typepad.com');">health dashboard</a>) you can turn on a new instance at the <a href="http://aws.typepad.com/aws/2008/03/new-ec2-feature.html" onclick="javascript:urchinTracker ('/outbound/article/aws.typepad.com');">European data center</a>, and forward all you traffic from the US one there. More DRP than that?</li>
</ul>
<p>I&#8217;m a total believer in cloud computing. I was really happy to see that <a href="http://www.arikfr.com/blog/google-apps-engine-isnt-amazon-web-services.html" >Google entered the game</a>, and I hope that other major players will join too (<a href="http://www.microsoft.com" onclick="javascript:urchinTracker ('/outbound/article/www.microsoft.com');">Microsoft</a>, what are you waiting for?).</p>
<p><strong><em>Arik</em></strong></p>
<img height="1" width="1" src="http://services.nuconomy.com/i.nsi?methId=log&projTok=231af47d-01&ownus=admin&sver=WordPress%2F1.08+%28nuconomy%29&srcId=http%3A%2F%2Fwww.arikfr.com%2Fblog%2Fthe-benefits-of-using-amazon-ec2.html&crtId=148">]]></content:encoded>
			<wfw:commentRss>http://www.arikfr.com/blog/the-benefits-of-using-amazon-ec2.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Google Apps Engine isn’t Amazon Web Services</title>
		<link>http://www.arikfr.com/blog/google-apps-engine-isnt-amazon-web-services.html</link>
		<comments>http://www.arikfr.com/blog/google-apps-engine-isnt-amazon-web-services.html#comments</comments>
		<pubDate>Tue, 08 Apr 2008 20:14:45 +0000</pubDate>
		<dc:creator>Arik</dc:creator>
		
		<category><![CDATA[Web Development]]></category>

		<category><![CDATA[Amazon]]></category>

		<category><![CDATA[Cloud]]></category>

		<category><![CDATA[Google]]></category>

		<category><![CDATA[Google Apps Engine]]></category>

		<category><![CDATA[Python]]></category>

		<category><![CDATA[SDK]]></category>

		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://www.arikfr.com/blog/google-apps-engine-isnt-amazon-web-services.html</guid>
		<description><![CDATA[For those of you who don&#8217;t know who Guido is, he&#8217;s the creator of Python and now works for Google. Recently he moved to the Google Apps Engine team. If you want a quick introduction to Google Apps Engine, just read this blog post and then watch the following two videos: (the first one shows [...]<img height="1" width="1" src="http://services.nuconomy.com/i.nsi?methId=log&projTok=231af47d-01&ownus=admin&sver=WordPress%2F1.08+%28nuconomy%29&srcId=http%3A%2F%2Fwww.arikfr.com%2Fblog%2Fgoogle-apps-engine-isnt-amazon-web-services.html&crtId=148">]]></description>
			<content:encoded><![CDATA[<p>For those of you who don&#8217;t know who <a href="http://en.wikipedia.org/wiki/Guido_van_Rossum" onclick="javascript:urchinTracker ('/outbound/article/en.wikipedia.org');">Guido</a> is, he&#8217;s the creator of <a href="http://www.python.org" onclick="javascript:urchinTracker ('/outbound/article/www.python.org');">Python</a> and now works for Google. Recently he moved to the <a href="http://code.google.com/appengine/" onclick="javascript:urchinTracker ('/outbound/article/code.google.com');">Google Apps Engine</a> team. If you want a quick introduction to Google Apps Engine, just read this <a href="http://googleappengine.blogspot.com/2008/04/introducing-google-app-engine-our-new.html" onclick="javascript:urchinTracker ('/outbound/article/googleappengine.blogspot.com');">blog post and</a> then watch the following two videos: (the first one shows creation of a sample application and the other one is Guido&#8217;s recap of Google Apps Engine):</p>
<p><embed height="355" type="application/x-shockwave-flash" width="425" src="http://www.youtube.com/v/bfgO-LXGpTM&#038;hl=en" wmode="transparent" /></p>
<p><embed height="355" type="application/x-shockwave-flash" width="425" src="http://www.youtube.com/v/oTFL7FPLnXY&#038;hl=en" wmode="transparent" /></p>
<p>Currently the Google Apps Engine is in a preview beta, and to the moment of writing this post, there&#8217;re no more inventions left. If you still want to experience the Google Apps Engine, <a href="http://code.google.com/appengine/downloads.html" onclick="javascript:urchinTracker ('/outbound/article/code.google.com');">you can download the SDK</a>. Currently they support only Python, but they plan to support more languages as the product will mature. It really makes me curious to see what will be next language that they will support.</p>
<p>One important thing to understand is that <strong>Apps Engine isn&#8217;t Amazon Web Services</strong>. They both offer virtualization services, but in a different style:</p>
<blockquote><p>Will it replace Amazon?  It sure doesn’t look like it from where I sit.  In fact, I don’t see this as much of a competitor to Amazon Web Services.  There’s some overlap in some small area (hosted web apps on EC2), but I doubt that’s the bulk of Amazon’s business.  As I said, we’ll likely end up using both (and other providers as they come along, too).</p>
<p>(<a href="http://blogs.smugmug.com/don/2008/04/08/thoughts-on-google-appengine/" onclick="javascript:urchinTracker ('/outbound/article/blogs.smugmug.com');">Don MacAskill on Google Apps Engine</a>)</p>
</blockquote>
<p>In my opinion, in current stage, Google Apps Engine is aimed at and more suitable for the most standard web applications. What&#8217;s not a standard web application? <a href="http://www.youtube.com/" onclick="javascript:urchinTracker ('/outbound/article/www.youtube.com');">YouTube</a> for instance - because it requires not only serving loads of pages (data), but also some computation (like converting video formats).</p>
<p>One things is sure - now that there&#8217;s competition to AWS, it will make things much more interesting.</p>
<p><strong><em>Arik</em></strong></p>
<img height="1" width="1" src="http://services.nuconomy.com/i.nsi?methId=log&projTok=231af47d-01&ownus=admin&sver=WordPress%2F1.08+%28nuconomy%29&srcId=http%3A%2F%2Fwww.arikfr.com%2Fblog%2Fgoogle-apps-engine-isnt-amazon-web-services.html&crtId=148">]]></content:encoded>
			<wfw:commentRss>http://www.arikfr.com/blog/google-apps-engine-isnt-amazon-web-services.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>ASP.NET MVC extension as a sign of change at Microsoft</title>
		<link>http://www.arikfr.com/blog/aspnet-mvc-extension-as-a-sign-of-change-at-microsoft.html</link>
		<comments>http://www.arikfr.com/blog/aspnet-mvc-extension-as-a-sign-of-change-at-microsoft.html#comments</comments>
		<pubDate>Tue, 25 Mar 2008 22:09:24 +0000</pubDate>
		<dc:creator>Arik</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<category><![CDATA[Web Development]]></category>

		<category><![CDATA[ASP.NET]]></category>

		<category><![CDATA[Microsoft]]></category>

		<category><![CDATA[MVC]]></category>

		<guid isPermaLink="false">http://www.arikfr.com/blog/aspnet-mvc-extension-as-a-sign-of-change-at-microsoft.html</guid>
		<description><![CDATA[The new ASP.NET MVC extension seems to be a sign of change at Microsoft. This extension is born from the requests of the community, being released with full source-code and integrates with not only Microsoft&#8217;s unit testing solution, but also with the alternatives.
And from what it seems, it really brings the fun to developing Web [...]<img height="1" width="1" src="http://services.nuconomy.com/i.nsi?methId=log&projTok=231af47d-01&ownus=admin&sver=WordPress%2F1.08+%28nuconomy%29&srcId=http%3A%2F%2Fwww.arikfr.com%2Fblog%2Faspnet-mvc-extension-as-a-sign-of-change-at-microsoft.html&crtId=148">]]></description>
			<content:encoded><![CDATA[<p>The new <a href="http://www.asp.net/mvc/" onclick="javascript:urchinTracker ('/outbound/article/www.asp.net');">ASP.NET MVC extension</a> seems to be a sign of change at <a href="http://www.microsoft.com/" onclick="javascript:urchinTracker ('/outbound/article/www.microsoft.com');">Microsoft</a>. This extension is born from the requests of the community, being released with <a href="http://weblogs.asp.net/scottgu/archive/2008/03/21/asp-net-mvc-source-code-now-available.aspx" onclick="javascript:urchinTracker ('/outbound/article/weblogs.asp.net');">full source-code</a> and integrates with not only Microsoft&#8217;s unit testing solution, but also with the alternatives.</p>
<p>And from what it seems, it really brings the fun to developing Web applications with ASP.NET.</p>
<p><em>Is Microsoft really changing?</em></p>
<p>Just wanted to share this thought. And if ASP.NET MVC interests you, I recommend following <a href="http://www.hanselman.com/blog" onclick="javascript:urchinTracker ('/outbound/article/www.hanselman.com');">ScottHa</a>&#8217;s and <a href="http://weblogs.asp.net/scottgu/" onclick="javascript:urchinTracker ('/outbound/article/weblogs.asp.net');">ScottGu</a>&#8217;s blogs and watching this <a href="http://www.asp.net/mvc/" onclick="javascript:urchinTracker ('/outbound/article/www.asp.net');">excellent screencasts</a> by ScottHa.</p>
<p><em>Arik</em></p>
<img height="1" width="1" src="http://services.nuconomy.com/i.nsi?methId=log&projTok=231af47d-01&ownus=admin&sver=WordPress%2F1.08+%28nuconomy%29&srcId=http%3A%2F%2Fwww.arikfr.com%2Fblog%2Faspnet-mvc-extension-as-a-sign-of-change-at-microsoft.html&crtId=148">]]></content:encoded>
			<wfw:commentRss>http://www.arikfr.com/blog/aspnet-mvc-extension-as-a-sign-of-change-at-microsoft.html/feed</wfw:commentRss>
		</item>
		<item>
		<title>Handling RSS Feeds with PHP using Zend_Feed</title>
		<link>http://www.arikfr.com/blog/handling-rss-feeds-in-php-using-zend_feed.html</link>
		<comments>http://www.arikfr.com/blog/handling-rss-feeds-in-php-using-zend_feed.html#comments</comments>
		<pubDate>Mon, 25 Feb 2008 19:58:14 +0000</pubDate>
		<dc:creator>Arik</dc:creator>
		
		<category><![CDATA[Tutorial]]></category>

		<category><![CDATA[Web Development]]></category>

		<category><![CDATA[Code]]></category>

		<category><![CDATA[PHP]]></category>

		<category><![CDATA[RSS]]></category>

		<category><![CDATA[Zend Framework]]></category>

		<guid isPermaLink="false">http://www.arikfr.com/blog/handling-rss-feeds-in-php-using-zend_feed.html</guid>
		<description><![CDATA[Zend Framework is becoming a very comprehensive set of widely needed components for PHP development. As other frameworks offer similar components, one of Zend&#8217;s Framework greatest strengthens is the fact that you can use its components as stand alone components and not only as part of the MVC structure. In this post I will show [...]<img height="1" width="1" src="http://services.nuconomy.com/i.nsi?methId=log&projTok=231af47d-01&ownus=admin&sver=WordPress%2F1.08+%28nuconomy%29&srcId=http%3A%2F%2Fwww.arikfr.com%2Fblog%2Fhandling-rss-feeds-in-php-using-zend_feed.html&crtId=148">]]></description>
			<content:encoded><![CDATA[<p><a href="http://framework.zend.com" onclick="javascript:urchinTracker ('/outbound/article/framework.zend.com');">Zend Framework</a> is becoming a very comprehensive set of widely needed components for PHP development. As <a href="http://codeigniter.com/"title="CodeIgniter"  onclick="javascript:urchinTracker ('/outbound/article/codeigniter.com');">other</a> <a href="http://www.cakephp.org/"title="CakePHP Homepage"  onclick="javascript:urchinTracker ('/outbound/article/www.cakephp.org');">frameworks</a> offer similar components, one of Zend&#8217;s Framework greatest strengthens is the fact that you can use its components as stand alone components and not only as part of the <a href="http://en.wikipedia.org/wiki/Model-view-controller"title="MVC Explained on Wikipedia"  onclick="javascript:urchinTracker ('/outbound/article/en.wikipedia.org');">MVC</a> structure. In this post I will show how you can easily use it&#8217;s <a href="http://framework.zend.com/manual/en/zend.feed.html"title="Zend_Feed on the Reference Guide"  onclick="javascript:urchinTracker ('/outbound/article/framework.zend.com');"><em>Zend_Feed</em></a><em> </em>component to merge feeds.</p>
<p>Recently I though of making one combines RSS feed of both of my blogs and my twitter updates. There are some RSS merging services out there, and there&#8217;s also <a href="http://pipes.yahoo.com/"title="Yahoo Pipes"  onclick="javascript:urchinTracker ('/outbound/article/pipes.yahoo.com');">Yahoo pipes</a> which seems that it&#8217;s most useful ability is to do various RSS tweaking tasks. As part of my playing around with the Zend Framework, I&#8217;ve decided to make this merged RSS feed using the <em>Zend_Feed </em>component. Actually at the end I&#8217;ve realized that this merged feed idea is quite useless, but at least this post came out of it <img src='http://www.arikfr.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>Most of the basic actions, like importing an RSS feed, creating an RSS feed and more are covered in the Zend Framework manual. In this post I will elaborate more on the more advanced topics, like sorting and merging RSS feeds but I will also go briefly over the more basic stuff as well. </p>
<p>So let&#8217;s begin.</p>
<p> <a href="http://www.arikfr.com/blog/handling-rss-feeds-in-php-using-zend_feed.html#more-22" class="more-link" >(more&#8230;)</a></p>
<img height="1" width="1" src="http://services.nuconomy.com/i.nsi?methId=log&projTok=231af47d-01&ownus=admin&sver=WordPress%2F1.08+%28nuconomy%29&srcId=http%3A%2F%2Fwww.arikfr.com%2Fblog%2Fhandling-rss-feeds-in-php-using-zend_feed.html&crtId=148">]]></content:encoded>
			<wfw:commentRss>http://www.arikfr.com/blog/handling-rss-feeds-in-php-using-zend_feed.html/feed</wfw:commentRss>
		</item>
	</channel>
</rss><!-- Dynamic Page Served (once) in 0.392 seconds --><!-- Cached page served by WP-Cache -->
