<?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:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
  <channel>
    <title>BadrIT Blog</title>
    <link>http://www.badrit.com/blogs/badrit/feed</link>
    <description />
    <language>en-us</language>
    <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/BadrITBlog" /><feedburner:info uri="badritblog" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
      <title>Should I fill the mobile gab with PhoneGab?</title>
      <link>http://feedproxy.google.com/~r/BadrITBlog/~3/RkTBOthRXuk/should-i-fill-the-mobile-gab-with-phonegab</link>
      <description>&lt;p&gt;&amp;nbsp;&lt;a href="http://phonegap.com/" data-mce-href="http://phonegap.com/" style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px; color: rgb(0, 123, 255); "&gt;PhoneGap&lt;/a&gt;&lt;span style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px; "&gt;is an HTML5 app platform that allows you to author native applications with web technologies and get access to APIs and app stores. It is open source and supports many native features over&lt;/span&gt;&lt;span style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px; "&gt;&amp;nbsp;&lt;/span&gt;&lt;a href="http://phonegap.com/about/features" data-mce-href="http://phonegap.com/about/features" style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px; color: rgb(0, 123, 255); "&gt;7 mobile platforms&lt;/a&gt;&lt;span style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px; "&gt;.&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px; "&gt;After trying many&amp;nbsp;&lt;a href="http://phonegap.com/apps" data-mce-href="http://phonegap.com/apps" style="color: rgb(0, 123, 255); "&gt;featured apps&lt;/a&gt;&amp;nbsp;built using PhoneGap, I see that apps quality are quite good but some times screen flickering happens (which gives you the feel what you are using a browser).&lt;/p&gt;
&lt;p style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px; "&gt;Some&amp;nbsp;&lt;a href="http://stackoverflow.com/search?q=phonegap+flickering&amp;amp;submit=search" data-mce-href="http://stackoverflow.com/search?q=phonegap+flickering&amp;amp;submit=search" style="color: rgb(0, 123, 255); "&gt;stackoverflow&lt;/a&gt;&amp;nbsp;posts shows that these flickers can be solved but I did not give it a try.&lt;/p&gt;
&lt;p style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px; "&gt;Also I felt the UI controls used in these apps were not so pretty. Though I believe some pretty Javascript UI libraries can be used, such as&amp;nbsp;&lt;a href="http://www.tumblr.com/edit/jquerymobile.com" data-mce-href="jquerymobile.com" style="color: rgb(0, 123, 255); "&gt;jquery mobile&lt;/a&gt;&amp;nbsp;and&amp;nbsp;&lt;a href="http://www.sencha.com/products/touch" data-mce-href="http://www.sencha.com/products/touch" style="color: rgb(0, 123, 255); "&gt;sencha touch&lt;/a&gt;&amp;nbsp;but I did not presonaly tried them.&lt;/p&gt;
&lt;p style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px; "&gt;Another thing I noticed is that a lot of PhoneGab apps are available for Android and iPhone only and even some of them are available just for iPhone which means that PhoneGap targets web developers who wants to make a native mobile version of their web app quickly to reach iPhone and Android users.&lt;/p&gt;
&lt;p style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px; "&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;/p&gt;
&lt;p style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px; "&gt;Phonegab evolution is very promising, it is a very good solution for web developers to create native mobile apps using technologies they already know (HTML5, Javascript). PhoneGab is really filling the mobile gab for web developers.&lt;/p&gt;
&lt;p style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px; "&gt;For native mobile developers I believe (&lt;a href="http://www.techrepublic.com/blog/app-builder/phonegap-what-app-developers-need-to-know/602" data-mce-href="http://www.techrepublic.com/blog/app-builder/phonegap-what-app-developers-need-to-know/602  " style="color: rgb(0, 123, 255); "&gt;not only me&lt;/a&gt;) it is better to use native SDK if they are much concerned with quality and don't want to learn web technologies.&lt;/p&gt;
&lt;p style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px; "&gt;&amp;nbsp;&amp;nbsp;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BadrITBlog/~4/RkTBOthRXuk" height="1" width="1"/&gt;</description>
      <tag>iphone,ipad,ios,mobile,cross platform</tag>
      <posted_by>Muhammad Hassan</posted_by>
    <feedburner:origLink>http://www.badrit.com//blog/2012/5/26/should-i-fill-the-mobile-gab-with-phonegab</feedburner:origLink></item>
    <item>
      <title>Running iPhone Apps in the Background</title>
      <link>http://feedproxy.google.com/~r/BadrITBlog/~3/kQ8N4yIrZUk/running-iphone-apps-in-the-background</link>
      <description>&lt;p&gt;iPhone OS4 has been introduced with a new important feature which is multitasking.&lt;/p&gt;
&lt;p&gt;Multitasking and the ability to run program in the background opened a  new development field for iPhone developers, so I just wanted to  blog an introduction tutorial to develop an application that runs in  background.&lt;/p&gt;
&lt;p&gt;When an app According to the &lt;a href="http://developer.apple.com/iphone/library/documentation/iphone/conceptual/iphoneosprogrammingguide/BackgroundExecution/BackgroundExecution.html"&gt;iOS Application Programming Guide&lt;/a&gt;, if the device doesn't have iPhone  OS4 or later versions it will not support multitasking and the application delegate will receive the &lt;code&gt;&lt;a href="http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIApplicationDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intfm/UIApplicationDelegate/applicationWillTerminate:" target="_top"&gt;applicationWillTerminate:&lt;/a&gt;&lt;/code&gt;  message instead of &lt;a target="_top" href="http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIApplicationDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intfm/UIApplicationDelegate/applicationDidEnterBackground:"&gt;applicationDidEnterBackground:&lt;/a&gt; .&lt;/p&gt;
&lt;p&gt;I attached a project that demonstrates the multitasking capabilities, find it &lt;a href="http://www.badrit.com/system/blog_assets/0000/0006/TestOS4_multitasking.zip"&gt;here&lt;/a&gt; .&lt;/p&gt;
&lt;p&gt;In The &amp;quot;AppDelegate&amp;quot; class, you will notice the  new messages that the application sends to notify the delegate of its  foreground/background states.&lt;/p&gt;
&lt;p&gt;I added logging message to show  the sequence of calling these messages.&lt;/p&gt;
&lt;p&gt;In the &lt;a target="_top" href="http://developer.apple.com/iphone/library/documentation/UIKit/Reference/UIApplicationDelegate_Protocol/Reference/Reference.html#//apple_ref/occ/intfm/UIApplicationDelegate/applicationDidEnterBackground:"&gt;applicationDidEnterBackground:&lt;/a&gt;&amp;nbsp; message you can perform some tasks to wrap  up your work, and the framework only gives you a small amount of time  to complete wrapping your work, so I tested that on the simulator and it  gave me about 10 seconds to complete my background task until my  application is purged from memory.&lt;/p&gt;
&lt;p&gt;Also I add 2 alerts to demonstrate the new local notification  feature, it's very helpful  feature when it comes to alerting the user at a certain time or after a  certain duration. The alerts will be registered when the AppDelegate  executes applicationDidEnterBackground message.&lt;/p&gt;
&lt;p&gt;I tried to keep it simple and quick for you to start  working with background feature and local notification feature. For more info please see the &lt;a href="http://developer.apple.com/iphone/library/documentation/iphone/conceptual/iphoneosprogrammingguide/BackgroundExecution/BackgroundExecution.html"&gt;reference&lt;/a&gt; .&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BadrITBlog/~4/kQ8N4yIrZUk" height="1" width="1"/&gt;</description>
      <tag>iPhone, run, background, multitasking, tutorial</tag>
      <posted_by>Ali Nour</posted_by>
    <feedburner:origLink>http://www.badrit.com//blog/2010/7/8/running-iphone-apps-in-the-background</feedburner:origLink></item>
    <item>
      <title>Arkami  app is the Top Paid App</title>
      <link>http://feedproxy.google.com/~r/BadrITBlog/~3/HwJok7LpFZ0/arkami-app-is-the-top-paid-app</link>
      <description>&lt;p&gt;&amp;nbsp;Today, 5 October 2011, Our iPhone app Arkami is ranked the top paid app on the Egyptian App Store.&lt;/p&gt;
&lt;p&gt;&lt;img src="http://1.2.3.4/bmi/25.media.tumblr.com/tumblr_lslnkck4nQ1qegakoo1_400.png" alt="" /&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BadrITBlog/~4/HwJok7LpFZ0" height="1" width="1"/&gt;</description>
      <tag />
      <posted_by>Muhammad Hassan</posted_by>
    <feedburner:origLink>http://www.badrit.com//blog/2012/5/26/arkami-app-is-the-top-paid-app</feedburner:origLink></item>
    <item>
      <title>Best Practices using Git with Xcode </title>
      <link>http://feedproxy.google.com/~r/BadrITBlog/~3/LHvQWWxfdEw/best-practices-using-git-with-xcode</link>
      <description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Arial; "&gt;I wanted to share best practices using Git with Xcode project with everyone who had trouble with Xcode and Git.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Arial; "&gt;If you have made any changes to your code and want to push just follow this steps:&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;
    &lt;p&gt;&lt;span style="font-family: Arial; "&gt;Commit from &lt;/span&gt;&lt;a href="http://gityapp.com"&gt;&lt;span style="font-family: Arial; "&gt;gity&lt;/span&gt;&lt;/a&gt;&lt;span style="font-family: Arial; "&gt;&amp;nbsp;(free excellent GUI git tool)&lt;/span&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;p&gt;&lt;span style="font-family: Arial; "&gt;Pull from Xcode 4.3.2 (File-&amp;gt;Source Control-&amp;gt;Pull) (Xcode is good at solved .xcodeproj file&amp;nbsp;conflicts).&lt;/span&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;p&gt;&lt;span style="font-family: Arial; "&gt;Solve conflicts using Xcode (if any)&lt;/span&gt;&lt;/p&gt;
    &lt;/li&gt;
    &lt;li&gt;
    &lt;p&gt;&lt;span style="font-family: Arial; "&gt;Commit and pushed from gity (or command line which is much more&amp;nbsp;convenient).&lt;/span&gt;&lt;/p&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;span style="font-family: Arial; "&gt;If you want to get latest updates just pull from Xcode.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Arial; "&gt;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Arial; "&gt;Enjoy&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BadrITBlog/~4/LHvQWWxfdEw" height="1" width="1"/&gt;</description>
      <tag />
      <posted_by>Muhammad Hassan</posted_by>
    <feedburner:origLink>http://www.badrit.com//blog/2012/4/22/best-practices-using-git-with-xcode</feedburner:origLink></item>
    <item>
      <title>BadrIT is awarded SPI for SMEs Certificate</title>
      <link>http://feedproxy.google.com/~r/BadrITBlog/~3/nzzA9a1B3DM/badrit-is-awarded-spi-for-smes-certificate</link>
      <description>&lt;p&gt;&lt;img width="400" height="293" alt="" src="https://lh5.googleusercontent.com/-VUFvlF_JJpE/T1SzgyPJG0I/AAAAAAAAAAk/UTm2giROGds/s912/Certificate.jpg" /&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="background:white"&gt;&lt;strong&gt;&lt;span style="font-size: 9pt; font-family: Arial, sans-serif; "&gt;What's &lt;a href="http://www.secc.org.eg/SPI_SMEs_2011.asp"&gt;SPI for SMEs&lt;/a&gt;:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 9pt; font-family: Arial, sans-serif; "&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: white; background-position: initial initial; background-repeat: initial initial; "&gt;&lt;span style="font-size: 9pt; font-family: Arial, sans-serif; "&gt;Software Process improvement for Small &amp;amp; Medium Enterprises, that&amp;rsquo;s awarded by &lt;a href="http://www.itida.gov.eg/En/Pages/home.aspx"&gt;ITIDA&lt;/a&gt;/&lt;a href="http://www.secc.org.eg/"&gt;SECC&lt;/a&gt;, and serves as a step toward being CMMI certified.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="background:white"&gt;&lt;strong&gt;&lt;span style="font-size: 9pt; font-family: Arial, sans-serif; "&gt;Why do we thought it&amp;rsquo;s important:&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 9pt; font-family: Arial, sans-serif; "&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="background:white"&gt;&lt;span style="font-size: 9pt; font-family: Arial, sans-serif; "&gt;We believe that a suitable/agile development process is the hidden force behind building great products, so SPI for SMEs was the first step for us to take us one step toward this goal, and we believed it should put us on the right way.&lt;/span&gt;&lt;/p&gt;
&lt;p style="background:white"&gt;&lt;span style="font-size: 9pt; font-family: Arial, sans-serif; "&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="background:white"&gt;

&lt;/p&gt;
&lt;p style="background:white"&gt;&lt;strong&gt;&lt;span style="font-size: 9pt; font-family: Arial, sans-serif; "&gt;How it works ?&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 9pt; font-family: Arial, sans-serif; "&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="background:white"&gt;&lt;span style="font-size: 9pt; font-family: Arial, sans-serif; "&gt;During the course of SPIG program we moved gradually to order from chaos, and after 8 months of enhancements under the supervision of Eng. Amr Noaman, we had Clear definition for our process in Major process Areas Like Project Management, Configuration Management, Product Development and Quality Assurance, and since the program ended late 2011, we&amp;rsquo;re deploying/enhancing the created process definitions.&lt;o:p&gt;&lt;/o:p&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;strong&gt;Did it work ?&lt;/strong&gt;&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;We can say that, we (folks at BadrIT) and our clients have noticed clear improvement in the areas mentioned above, so we can say, YES it works.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p class="MsoNormal"&gt;&lt;strong&gt;So, special thanks to:&lt;/strong&gt;&lt;br /&gt;
&lt;a href="http://eg.linkedin.com/in/amrnoaman"&gt; Amr Noaman&lt;/a&gt;&amp;nbsp;( Senior Quality Consultant at&amp;nbsp;SECC)&lt;br /&gt;
&lt;a href="http://eg.linkedin.com/in/muhammadelkharashy"&gt; M. El Kharashy&lt;/a&gt; (Our CEO)&lt;br /&gt;
&lt;a href="http://eg.linkedin.com/in/mostafaali"&gt;M. Ali&lt;/a&gt; (Program Manager)&lt;br /&gt;
&lt;a href="http://eg.linkedin.com/in/ahmemdadel"&gt; A. Adel&lt;/a&gt;, &lt;a href="http://eg.linkedin.com/in/muhammadhassan"&gt;M. Hassan&lt;/a&gt;, &lt;a href="http://eg.linkedin.com/in/mahmoudkhaled"&gt;M. Khaled&lt;/a&gt;, &lt;a href="http://eg.linkedin.com/in/alinour86"&gt;A. Nour&lt;/a&gt;&amp;nbsp;(Project Managers At BadrIT)&lt;br /&gt;
AND Every one of BadrIT&amp;rsquo;s talented/enthusiastic engineers.&lt;o:p&gt;&lt;/o:p&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BadrITBlog/~4/nzzA9a1B3DM" height="1" width="1"/&gt;</description>
      <tag>SPI, SPIG, Process, SECC</tag>
      <posted_by>Mostafa Ali</posted_by>
    <feedburner:origLink>http://www.badrit.com//blog/2012/3/5/badrit-is-awarded-spi-for-smes-certificate</feedburner:origLink></item>
    <item>
      <title>iOS SDK PDF Limitations</title>
      <link>http://feedproxy.google.com/~r/BadrITBlog/~3/AsAD29lxtAY/ios-sdk-pdf-limitations</link>
      <description>&lt;p&gt;&lt;span style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px; "&gt;The purpose of this article is to measure PDF limitations faced while developing iOS apps like the ability to search, zoom, text wrapping (reflow), text selection, text extraction (Arabic), license of PDF libraries (if any).&lt;/span&gt;&lt;strong style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px; "&gt;&lt;strong&gt;&lt;br /&gt;
&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px; "&gt;&lt;strong&gt;Notes:&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;ul style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px; "&gt;
    &lt;li&gt;We perform our research on both Arabic and English PDF&lt;/li&gt;
    &lt;li&gt;I will reference an Arabic/English PDF file called &amp;ldquo;Al3oshr Al a7&amp;rsquo;er&amp;rdquo;, this file can be found&amp;nbsp;&lt;a data-mce-href="http://www.tafseer.info/index.php?option=com_phocadownload&amp;amp;view=category&amp;amp;download=12:28&amp;amp;id=1:copy-of-the-book&amp;amp;Itemid=160" style="color: rgb(0, 123, 255); " href="http://www.tafseer.info/index.php?option=com_phocadownload&amp;amp;view=category&amp;amp;download=12:28&amp;amp;id=1:copy-of-the-book&amp;amp;Itemid=160"&gt;here&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;Conclusion can be found at the end of this article.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px; "&gt;&lt;strong&gt;&lt;br /&gt;
&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h2 style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; "&gt;Features &amp;amp; Limitations:&lt;/h2&gt;
&lt;ol style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px; "&gt;
    &lt;li&gt;&lt;strong&gt;View/Zoom/Scroll:&lt;/strong&gt;&amp;nbsp;I was able to load and view PDFs correctly with zooming/scrolling ability for all PDF I got. I could do this using two methods:
    &lt;ol&gt;
        &lt;li&gt;Using&amp;nbsp;&lt;a data-mce-href="http://stackoverflow.com/questions/2832245/iphone-can-we-open-pdf-file-using-uiwebview" style="color: rgb(0, 123, 255); " href="http://stackoverflow.com/questions/2832245/iphone-can-we-open-pdf-file-using-uiwebview"&gt;UIWebView&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;Using Core Graphics iOS APIs and libraries built on top of it like this&amp;nbsp;&lt;a data-mce-href="http://developer.apple.com/library/ios/#samplecode/ZoomingPDFViewer/Listings/ReadMe_txt.html" style="color: rgb(0, 123, 255); " href="http://developer.apple.com/library/ios/#samplecode/ZoomingPDFViewer/Listings/ReadMe_txt.html"&gt;one&lt;/a&gt;.&lt;/li&gt;
        &lt;li&gt;&lt;a data-mce-href="https://github.com/vfr" style="color: rgb(0, 123, 255); " href="https://github.com/vfr"&gt;VFR PDF Reader&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;&lt;a data-mce-href="http://iphonedevelopertips.com/data-file-management/preview-documents-with-qlpreviewcontroller.html" style="color: rgb(0, 123, 255); " href="http://iphonedevelopertips.com/data-file-management/preview-documents-with-qlpreviewcontroller.html"&gt;QLPreviewController&lt;/a&gt;&lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Text Extraction&lt;/strong&gt;&amp;nbsp;( and Selection/Copy and Paste):&amp;nbsp;I was able to correctly select and copy/paste PDF &amp;quot;pages&amp;quot; that contains only English letters. But some PDFs like &amp;ldquo;Al3oshr&amp;rdquo; that contained Arabic (with English) letters failed to read its text. Text I got are of strange encoding. I tried to extract text using 2 methods:
    &lt;ol&gt;
        &lt;li&gt;&lt;a data-mce-href="http://stackoverflow.com/questions/1968872/iphone-development-grabbing-selected-highlighted-text-on-uiwebview" style="color: rgb(0, 123, 255); " href="http://stackoverflow.com/questions/1968872/iphone-development-grabbing-selected-highlighted-text-on-uiwebview"&gt;Javascript&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;Using&amp;nbsp;&lt;a data-mce-href="http://jasonlawton.com/blog/dealing-with-ios-clipboard/" style="color: rgb(0, 123, 255); " href="http://jasonlawton.com/blog/dealing-with-ios-clipboard/"&gt;pasteboard&lt;/a&gt;&lt;/li&gt;
        &lt;li&gt;I also found this&amp;nbsp;&lt;a data-mce-href="http://blog.random-ideas.net/?p=184" style="color: rgb(0, 123, 255); " href="http://blog.random-ideas.net/?p=184"&gt;code&lt;/a&gt;&amp;nbsp;but did not try it as it does not mention text encoding&lt;/li&gt;
        &lt;li&gt;I found a&amp;nbsp;&lt;strong&gt;&lt;a data-mce-href="http://www.basistech.com/knowledge-center/forensics/extracting-text-from-arabic-pdf.pdf" style="color: rgb(0, 123, 255); " href="http://www.basistech.com/knowledge-center/forensics/extracting-text-from-arabic-pdf.pdf"&gt;very helpful presentation&lt;/a&gt;&lt;/strong&gt;&amp;nbsp;at:&lt;br /&gt;
        The presentation described the cause of the problem which is related to how PDF stores Arabic text. Text is stored as glyphs (drawn characters) and each glyph has an encoding specific to that PDF and that encoding is a number that is stored in Font object that should maps to Unicode. The process is a bit complicated as spaces are not stored (PDF draw a glyph (or more) in a x,y so spaces are not stored).&lt;br /&gt;
        My main trials was on &amp;ldquo;Al3oshr&amp;rdquo; file which returned strange characters (upon copy and paste).&lt;br /&gt;
        I also tried an Arabic PDF I created using OpenOffice and it was read correctly.&lt;br /&gt;
        I also tried this&amp;nbsp;&lt;a data-mce-href="http://www.basistech.com/knowledge-center/forensics/extracting-text-from-arabic-pdf.pdf" style="color: rgb(0, 123, 255); " href="http://www.basistech.com/knowledge-center/forensics/extracting-text-from-arabic-pdf.pdf"&gt;PDF&lt;/a&gt;&amp;nbsp;and I read Arabic correctly&lt;br /&gt;
        I also tried this&amp;nbsp;&lt;a data-mce-href="http://www.emro.who.int/emhj/1402/14_2_2008_0415_0426.pdf" style="color: rgb(0, 123, 255); " href="http://www.emro.who.int/emhj/1402/14_2_2008_0415_0426.pdf"&gt;one&lt;/a&gt;&amp;nbsp;and I could not read Arabic.&lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Text Search&lt;/strong&gt;:&amp;nbsp;If we where able to extract text correctly, searching can be done smoothly (see &amp;ldquo;Text Extraction).
    &lt;ol&gt;
        &lt;li&gt;I tried the commercial library&amp;nbsp;&lt;a data-mce-href="http://mobfarm.eu/" style="color: rgb(0, 123, 255); " href="http://mobfarm.eu/"&gt;FastPDFKit&lt;/a&gt;&amp;nbsp;&amp;nbsp;and failed to search with it in &amp;ldquo;Al3oshr&amp;rdquo; file. I also contacted their support (about Al3oshr file ) and they replied &amp;quot;searching and extraction of Arabic text is supported, as long as certain requirements are met - it depends on the encoding and how the text is stored in the page stream. Hopefully, the document you submitted will help us improve the library.&amp;quot;&lt;/li&gt;
        &lt;li&gt;Also&amp;nbsp;&lt;a data-mce-href="https://github.com/KurtCode/PDFKitten" style="color: rgb(0, 123, 255); " href="https://github.com/KurtCode/PDFKitten"&gt;PDFKitten&lt;/a&gt;&amp;nbsp;does not support non-latin characters and it mention that PDF specs are huge...&lt;/li&gt;
        &lt;li&gt;This&amp;nbsp;&lt;a data-mce-href="http://stackoverflow.com/questions/3889634/fast-and-lean-pdf-viewer-for-iphone-ipad-ios-tips-and-hints" style="color: rgb(0, 123, 255); " href="http://stackoverflow.com/questions/3889634/fast-and-lean-pdf-viewer-for-iphone-ipad-ios-tips-and-hints"&gt;post&lt;/a&gt;&amp;nbsp;contains a lot of links that describe most of problems&lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Text Re-flow&amp;nbsp;&lt;/strong&gt;&amp;ldquo;Text Re-flow means that&amp;nbsp;&lt;a data-mce-href="http://help.adobe.com/en_US/Reader/8.0/help.html?content=WS58a04a822e3e50102bd615109794195ff-7d19.html" style="color: rgb(0, 123, 255); " href="http://help.adobe.com/en_US/Reader/8.0/help.html?content=WS58a04a822e3e50102bd615109794195ff-7d19.html"&gt;texts get automatically adjusted to fit the screen regardless of zoom level selected&amp;rdquo;&lt;/a&gt;)
    &lt;ol&gt;
        &lt;li&gt;Initial search says PDF wrapping not possible, I learned that from this&amp;nbsp;&lt;a data-mce-href="http://forums.whirlpool.net.au/archive/1132016" style="color: rgb(0, 123, 255); " href="http://forums.whirlpool.net.au/archive/1132016"&gt;thread&lt;/a&gt;. You may test the apps they mentioned. I tested Stanza and it does do any wrapping to PDFs though it does so with epub.&lt;/li&gt;
        &lt;li&gt;On the other hand there other&amp;nbsp;&lt;a data-mce-href="http://www.brighthub.com/mobile/iphone/articles/103293.aspx" style="color: rgb(0, 123, 255); " href="http://www.brighthub.com/mobile/iphone/articles/103293.aspx"&gt;apps&lt;/a&gt;&amp;nbsp;that say that they provide text Reflow feature (even on Android), like:
        &lt;ol&gt;
            &lt;li&gt;&lt;a data-mce-href="http://itunes.apple.com/us/app/ezpdf-reader/id396101792?mt=8" style="color: rgb(0, 123, 255); " href="http://itunes.apple.com/us/app/ezpdf-reader/id396101792?mt=8"&gt;ezPDF Reader&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;&lt;a data-mce-href="http://itunes.apple.com/us/app/goodreader-for-iphone/id306277111?mt=8" style="color: rgb(0, 123, 255); " href="http://itunes.apple.com/us/app/goodreader-for-iphone/id306277111?mt=8"&gt;GoodReader for iPhone&lt;/a&gt;&lt;/li&gt;
            &lt;li&gt;Even Android has Text Reflow&amp;nbsp;&lt;a data-mce-href="http://www.irnovo.com/2011/03/8-best-android-pdf-readers-for-your.html" style="color: rgb(0, 123, 255); " href="http://www.irnovo.com/2011/03/8-best-android-pdf-readers-for-your.html"&gt;apps&lt;/a&gt;.&lt;/li&gt;
        &lt;/ol&gt;
        &lt;/li&gt;
        &lt;li&gt;In general it is hard to perform Re-flow as it is said in this&amp;nbsp;&lt;a data-mce-href="http://stackoverflow.com/a/2541202" style="color: rgb(0, 123, 255); " href="http://stackoverflow.com/a/2541202"&gt;answer&lt;/a&gt;&amp;nbsp;as it depends on how text is stored in the PDF (as stated by&amp;nbsp;&lt;a data-mce-href="http://help.adobe.com/en_US/Reader/8.0/help.html?content=WS58a04a822e3e50102bd615109794195ff-7d19.html" style="color: rgb(0, 123, 255); " href="http://help.adobe.com/en_US/Reader/8.0/help.html?content=WS58a04a822e3e50102bd615109794195ff-7d19.html"&gt;Adobe&lt;/a&gt;&amp;nbsp;itself)&lt;/li&gt;
    &lt;/ol&gt;
    &lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Text Highlighting&lt;/strong&gt;:&amp;nbsp;Quite hard as stated in this&amp;nbsp;&lt;a data-mce-href="http://www.iphonedevsdk.com/forum/iphone-sdk-development/33765-highlighting-text-within-pdf.html#post356908" style="color: rgb(0, 123, 255); " href="http://www.iphonedevsdk.com/forum/iphone-sdk-development/33765-highlighting-text-within-pdf.html#post356908"&gt;thread&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;strong style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px; "&gt;&lt;strong&gt;&lt;br /&gt;
&lt;/strong&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;h2 style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; "&gt;&lt;strong&gt;Conclusion&lt;/strong&gt;:&lt;/h2&gt;
&lt;ol style="font-family: 'Lucida Grande', Verdana, Arial, Helvetica, sans-serif; font-size: 13px; line-height: 18px; "&gt;
    &lt;li&gt;&lt;strong&gt;View/Zoom/Scroll:&amp;nbsp;&lt;/strong&gt;Can be easily implemented for all PDFs&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Text Extraction/Selection/Copy &amp;amp; Paste&lt;/strong&gt;: Can be easily implemented for pure English PDFs, but hard or PDFs that contains non-Unicode Arabic, like &amp;ldquo;Al3oshr &amp;ldquo;PDF.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Text Search&lt;/strong&gt;: Same as Text Extraction&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Text Reflow (Wrapping)&lt;/strong&gt;:&amp;nbsp;Implementation is hard and not feasible for all files. A work around for this is to use Landscape orientation while running on iPhone/iPod Touch. iPad will not need reflow.&lt;/li&gt;
    &lt;li&gt;&lt;strong&gt;Text Highlighting:&lt;/strong&gt;&amp;nbsp;Implementation is hard.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BadrITBlog/~4/AsAD29lxtAY" height="1" width="1"/&gt;</description>
      <tag />
      <posted_by>Muhammad Hassan</posted_by>
    <feedburner:origLink>http://www.badrit.com//blog/2012/2/1/ios-sdk-pdf-limitations</feedburner:origLink></item>
    <item>
      <title> Localization of your iOS application's Icon.png.</title>
      <link>http://feedproxy.google.com/~r/BadrITBlog/~3/FjZYQvilBec/localization-of-your-ios-application-s-icon-png</link>
      <description>&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;div&gt;If you found this blog post searching for how to localize Icon.png in you iOS application, I will share with you the answer I found out which is as far as I know &amp;quot;You can not&amp;quot;.&lt;/div&gt;
&lt;div&gt;Once the application is installed, the application's icon will not change by the change of the language settings of the device.&lt;/div&gt;
&lt;div&gt;However, you can test the localization of your icon by deleting the application, change the language settings for the device, then reinstall the application.&lt;/div&gt;
&lt;div&gt;You will find the right icon.&amp;nbsp;Since users do not change their language settings daily, I think this is good enough.&lt;/div&gt;
&lt;div&gt;Of course the icon should be localized like the rest of resources, either by using xCode, or manually by creating the language.lproj folders, and putting the different versions of your icon there.&lt;/div&gt;
&lt;div&gt;I hope I saved some of your time by this post.&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BadrITBlog/~4/FjZYQvilBec" height="1" width="1"/&gt;</description>
      <tag>iOS,localization,Icon.png</tag>
      <posted_by>Abdolla Ramdan</posted_by>
    <feedburner:origLink>http://www.badrit.com//blog/2011/6/14/localization-of-your-ios-application-s-icon-png</feedburner:origLink></item>
    <item>
      <title>Solving Serialization/Deserialization issue in Flex</title>
      <link>http://feedproxy.google.com/~r/BadrITBlog/~3/euK69mzvZSc/solving-serialization-deserialization-issue-in-flex</link>
      <description>&lt;p&gt;&lt;span style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 14px; line-height: 18px; "&gt;When I was trying to serialize an object &amp;nbsp; in Action Message Format (AMF) , I faced a problem in deserializing it which was null object value, after some googling I found the solution: &lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 14px; line-height: 18px; "&gt;I &amp;nbsp; preserve the class (type) of any object before encoding in Action Message Format (AMF), so that it can be deserialized when decoding the object, so &amp;nbsp;If the encoding context did not register an alias for an object's class, the object is encoded as an anonymous object. Similarly, if the decoding context does not have the same alias registered, an anonymous object is created for the decoded data.&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-family: Arial, 'Liberation Sans', 'DejaVu Sans', sans-serif; font-size: 14px; line-height: 18px; "&gt;Finally we can register class using one of the follwoing ways:&lt;/span&gt;&lt;/p&gt;
&lt;ol&gt;
    &lt;li&gt;&lt;span style="font-size: larger; "&gt;&lt;span style="font-family: Arial; "&gt;using function&lt;/span&gt;&lt;strong&gt;&lt;span style="font-family: Arial; "&gt; registerClassAlias(&amp;quot;path to your class&amp;quot;, your class);&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span style="font-family: Arial; "&gt;&lt;span style="font-size: larger; "&gt;using the metadata &lt;/span&gt;&lt;strong&gt;&lt;span style="font-size: larger; "&gt;[RemoteClass(alias = &amp;quot;path to your class&amp;quot;)]&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BadrITBlog/~4/euK69mzvZSc" height="1" width="1"/&gt;</description>
      <tag />
      <posted_by>Hazem Hagrass</posted_by>
    <feedburner:origLink>http://www.badrit.com//blog/2011/12/25/solving-serialization-deserialization-issue-in-flex</feedburner:origLink></item>
    <item>
      <title>Free Google Translate API v2 </title>
      <link>http://feedproxy.google.com/~r/BadrITBlog/~3/CD5THEtbJrs/free-google-translate-api-v2</link>
      <description>&lt;p&gt;&lt;span style="background-color: rgb(255, 255, 255); "&gt;&amp;nbsp;&lt;span style="font-size: x-large;"&gt;&lt;strong&gt;Background&lt;/strong&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="color: rgb(0, 0, 0); "&gt;&lt;a style="font-family: 'Times New Roman'; font-size: medium; " href="http://code.google.com/apis/language/translate/v2/getting_started.html"&gt;&lt;span style="background-color: rgb(255, 255, 255); "&gt;&lt;span style="font-size: 15px; font-family: Arial; font-style: normal; font-variant: normal; vertical-align: baseline; white-space: pre-wrap; "&gt;Google Translate API v2&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: rgb(255, 255, 255); "&gt;&lt;span style="font-size: 15px; font-family: Arial; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255); "&gt;&lt;span style="font-size: 15px; font-family: Arial; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;is now available as a paid service only, and the number of requests your application can make per day is limited. As of December 1, 2011,&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); "&gt;&lt;span style="font-size: 15px; font-family: Arial; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="color: rgb(0, 0, 0); "&gt;&lt;a style="font-family: 'Times New Roman'; font-size: medium; " href="http://code.google.com/apis/language/translate/v1/getting_started.html"&gt;&lt;span style="background-color: rgb(255, 255, 255); "&gt;&lt;span style="font-size: 15px; font-family: Arial; font-style: normal; font-variant: normal; vertical-align: baseline; white-space: pre-wrap; "&gt;Google Translate API v1&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;span style="background-color: rgb(255, 255, 255); "&gt;&lt;span style="font-size: 15px; font-family: Arial; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; &lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255); "&gt;&lt;span style="font-size: 15px; font-family: Arial; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;is no longer available; it was officially deprecated on May 26, 2011.&lt;/span&gt;&lt;br /&gt;
&lt;br /&gt;
&lt;span style="font-size: x-large;"&gt;&lt;strong&gt;&lt;span style="font-family: Arial; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Migration&lt;/span&gt;&lt;/strong&gt;&lt;/span&gt;&lt;br /&gt;
&lt;span style="font-size: 15px; font-family: Arial; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;So, if you were using google translate API in you application, you have to register for a paid service or you may do like other many developers migrated to other free API services like&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul style="font-family: 'Times New Roman'; font-size: medium; "&gt;
    &lt;li style="list-style-type: disc; font-size: 15px; font-family: Arial; color: rgb(0, 119, 204); background-color: rgb(255, 255, 255); font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; "&gt;&lt;a href="http://mygengo.com/api/"&gt;&lt;span style="background-color: rgb(255, 255, 255); "&gt;&lt;span style="font-size: 15px; font-family: Arial; font-style: normal; font-variant: normal; vertical-align: baseline; white-space: pre-wrap; "&gt;Mygengo Translation API&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
    &lt;li style="list-style-type: disc; font-size: 15px; font-family: Arial; color: rgb(0, 119, 204); background-color: rgb(255, 255, 255); font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; "&gt;&lt;a href="http://www.microsofttranslator.com/dev/"&gt;&lt;span style="background-color: rgb(255, 255, 255); "&gt;&lt;span style="font-size: 15px; font-family: Arial; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;Microsoft Translator APIs&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
    &lt;li style="list-style-type: disc; font-size: 15px; font-family: Arial; color: rgb(0, 119, 204); background-color: rgb(255, 255, 255); font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; "&gt;&lt;a href="http://www.speaklike.com/access-professional-translation-via-api/"&gt;&lt;span style="background-color: rgb(255, 255, 255); "&gt;&lt;span style="font-size: 15px; font-family: Arial; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;Speaklite Translate API&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
    &lt;li style="list-style-type: disc; font-size: 15px; font-family: Arial; color: rgb(0, 119, 204); background-color: rgb(255, 255, 255); font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; "&gt;&lt;a href="http://www.webservicex.net/ws/wsdetails.aspx?wsid=63"&gt;&lt;span style="background-color: rgb(255, 255, 255); "&gt;&lt;span style="font-size: 15px; font-family: Arial; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;WebServiceX Translate API&lt;/span&gt;&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="background-color: rgb(255, 255, 255);"&gt;&lt;strong&gt;&lt;span style="font-size: 15px; font-family: Arial; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap;"&gt;Wait&lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 15px; font-family: Arial; color: rgb(0, 0, 0); font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;, Google Translate API is still &lt;strong&gt;FREE&lt;/strong&gt; :) Lets see how.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;Yes, but using an&amp;nbsp;&lt;strong 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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; font-weight: bold; background-position: initial initial; background-repeat: initial initial; "&gt;indirect&lt;/strong&gt;&amp;nbsp;method. Google Translate API is available as free through&amp;nbsp;&lt;strong 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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; font-weight: bold; background-position: initial initial; background-repeat: initial initial; "&gt;Google Apps API&lt;/strong&gt;. So, you can access Google Translate API from Google spreadsheets as the following:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 30px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; list-style-type: decimal; list-style-position: initial; list-style-image: initial; background-position: initial initial; background-repeat: initial initial; "&gt;
    &lt;li 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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; word-wrap: break-word; background-position: initial initial; background-repeat: initial initial; "&gt;Create a blank google spreadsheet&lt;/li&gt;
    &lt;li 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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; word-wrap: break-word; background-position: initial initial; background-repeat: initial initial; "&gt;Create a script from the spreadsheet to access Google Translate API&lt;/li&gt;
    &lt;li 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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; word-wrap: break-word; background-position: initial initial; background-repeat: initial initial; "&gt;Access your spreadsheet remotely using spreadsheet API to translate your text :)&lt;/li&gt;
&lt;/ol&gt;
&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; clear: both; word-wrap: break-word; background-position: initial initial; background-repeat: initial initial; "&gt;Lets see more details with steps and code....&lt;/p&gt;
&lt;ol style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 30px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; list-style-type: decimal; list-style-position: initial; list-style-image: initial; "&gt;
    &lt;li 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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; word-wrap: break-word; "&gt;Login to your google docs&lt;/li&gt;
    &lt;li 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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; word-wrap: break-word; "&gt;Create a blank google spreadsheet&lt;/li&gt;
    &lt;li 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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; word-wrap: break-word; "&gt;From spreadsheet menu, select &amp;quot;Tools&amp;quot; &amp;gt; &amp;quot;Script editor&amp;quot;&lt;/li&gt;
    &lt;li 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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; word-wrap: break-word; "&gt;Add the following javascript function
    &lt;pre class="brush: javascript"&gt;
function gTranslate(text, from, to) { 
  return LanguageApp.translate(text, from, to); 
}

&lt;/pre&gt;
    &lt;/li&gt;
    &lt;li 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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; word-wrap: break-word; "&gt;
    &lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; clear: both; word-wrap: break-word; background-position: initial initial; background-repeat: initial initial; "&gt;Save your script file&lt;/p&gt;
    &lt;/li&gt;
    &lt;li 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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; word-wrap: break-word; "&gt;
    &lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; clear: both; word-wrap: break-word; background-position: initial initial; background-repeat: initial initial; "&gt;Now, lets access spreadsheet from your application. I will give an example using Ruby language and for sure you can use any other language. We will need to install&amp;nbsp;&lt;a rel="nofollow" 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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 119, 204); text-decoration: none; cursor: pointer; background-position: initial initial; background-repeat: initial initial; " href="https://github.com/gimite/google-spreadsheet-ruby"&gt;google-spreadsheet-ruby&lt;/a&gt;&amp;nbsp;ruby gem to access our spreadsheet. My Ruby code will be as the following...&lt;/p&gt;
    &lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;pre class="brush: ruby"&gt;
require &amp;quot;rubygems&amp;quot;
require &amp;quot;google_spreadsheet&amp;quot;

# Logs in. You can also use OAuth
session = GoogleSpreadsheet.login(&amp;quot;username@gmail.com&amp;quot;, &amp;quot;mypassword&amp;quot;)

# First worksheet of http://spreadsheets.google.com/ccc?key=pz7XtlQC-PYx-jrVMJErTcg&amp;amp;hl=en
ws = session.spreadsheet_by_key(&amp;quot;pz7XtlQC-PYx-jrVMJErTcg&amp;quot;).worksheets[0]

# call my script from spreadsheet
ws[2,1] = '=gTranslate(&amp;quot;this is a test&amp;quot;, &amp;quot;en&amp;quot;, &amp;quot;es&amp;quot;)'
ws.save

# Reloads the worksheet to get my changes effect
ws.reload
puts ws[i,1]  #Esta es una prueba

&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; clear: both; word-wrap: break-word; background-position: initial initial; background-repeat: initial initial; "&gt;Wow, it works without any payments :)&lt;/p&gt;
&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; clear: both; word-wrap: break-word; background-position: initial initial; background-repeat: initial initial; "&gt;&lt;strong 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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; font-weight: bold; background-position: initial initial; background-repeat: initial initial; "&gt;Note&lt;/strong&gt;&amp;nbsp;To pass parameters to the script function &amp;ldquo;gTranslate&amp;rdquo;, you need to use double quotes&lt;/p&gt;
&lt;pre style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(238, 238, 238); font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; overflow-x: auto; overflow-y: auto; width: auto; max-height: 600px; background-position: initial initial; background-repeat: initial initial; "&gt;&lt;code 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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(238, 238, 238); font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; background-position: initial initial; background-repeat: initial initial; "&gt;ws[2,1] = '=gTranslate(&amp;quot;this is a test&amp;quot;, &amp;quot;en&amp;quot;, &amp;quot;es&amp;quot;)' &lt;/code&gt;&lt;/pre&gt;
&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; clear: both; word-wrap: break-word; background-position: initial initial; background-repeat: initial initial; "&gt;Single quotes will NOT work.&lt;/p&gt;
&lt;pre style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(238, 238, 238); font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; overflow-x: auto; overflow-y: auto; width: auto; max-height: 600px; background-position: initial initial; background-repeat: initial initial; "&gt;&lt;code 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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(238, 238, 238); font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; background-position: initial initial; background-repeat: initial initial; "&gt;ws[2,1] = &amp;quot;=gTranslate('this is a test', 'en', 'es')&amp;quot; &lt;/code&gt;&lt;/pre&gt;
&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; clear: both; word-wrap: break-word; background-position: initial initial; background-repeat: initial initial; "&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; clear: both; word-wrap: break-word; background-position: initial initial; background-repeat: initial initial; "&gt;&lt;strong 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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; font-weight: bold; background-position: initial initial; background-repeat: initial initial; "&gt;Side effects:&lt;/strong&gt;&lt;/p&gt;
&lt;p style="margin-top: 0px; margin-right: 0px; margin-bottom: 1em; margin-left: 0px; padding-top: 0px; padding-right: 0px; padding-bottom: 0px; padding-left: 0px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; clear: both; word-wrap: break-word; background-position: initial initial; background-repeat: initial initial; "&gt;This work around solution works fine with me but something slow because we make many requests to save an reload spreadsheet. So, if you need to translate many strings fast, I suggest you join them be new line and then split the result over the new lines.&amp;nbsp;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BadrITBlog/~4/CD5THEtbJrs" height="1" width="1"/&gt;</description>
      <tag>gtranslate, google, google apps, ruby</tag>
      <posted_by>Mahmoud Khaled</posted_by>
    <feedburner:origLink>http://www.badrit.com//blog/2011/12/25/free-google-translate-api-v2</feedburner:origLink></item>
    <item>
      <title>Install Xcode 4.2 documentation manually</title>
      <link>http://feedproxy.google.com/~r/BadrITBlog/~3/oqU3aMMYf1E/install-xcode-4-2-documentation-manually</link>
      <description>&lt;p&gt;&amp;nbsp;If you have installed the new Xcode 4.2 (only a 1.6 GB file instead of the former 4GB file), you will notice that documentation does not work properly, actually people have been complaining about it and the solution was to download the documentation from inside Xcode as stated&amp;nbsp;&lt;a style="font-family: arial; font-size: small; " href="http://superuser.com/questions/348117/unable-to-view-xcode-4-2-help-index-html-is-locked-for-editing"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;div style="font-family: arial; font-size: small; "&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;But if you are a team of iOS developers and want to download the documentation only once and install it on many machines running Xcode?&lt;/div&gt;
&lt;div&gt;Here you are the steps:&lt;/div&gt;
&lt;div&gt;
&lt;ol&gt;
    &lt;li&gt;Download the documentation from Xcode from any machine (as stated&amp;nbsp;&lt;a href="http://superuser.com/questions/348117/unable-to-view-xcode-4-2-help-index-html-is-locked-for-editing"&gt;here&lt;/a&gt;).&lt;/li&gt;
    &lt;li&gt;Go the download installation (See Figure Below)&lt;/li&gt;
    &lt;li&gt;Copy the &amp;quot;documentation set&amp;quot; files (it is actually packages with a lot of file so it is recommend to zip them).&amp;nbsp;&lt;/li&gt;
    &lt;li&gt;Move them to the same location where you installed Xcode on the other machines&lt;/li&gt;
    &lt;li&gt;Restart Xcode.&lt;/li&gt;
    &lt;li&gt;Done.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;&lt;img alt="" src="http://media.tumblr.com/tumblr_ltvoz1QjdT1qe5shj.png" /&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BadrITBlog/~4/oqU3aMMYf1E" height="1" width="1"/&gt;</description>
      <tag>iPhone, iOS, Xcode, iPhone SDK, Documenation</tag>
      <posted_by>Muhammad Hassan</posted_by>
    <feedburner:origLink>http://www.badrit.com//blog/2011/10/30/install-xcode-4-2-documentation-manually</feedburner:origLink></item>
    <item>
      <title>SMS contact name not shown on iPhone </title>
      <link>http://feedproxy.google.com/~r/BadrITBlog/~3/kixLFHaKl78/sms-contact-name-not-shown-on-iphone</link>
      <description>&lt;p style="text-align: right; "&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="text-align: center; "&gt;&lt;span style="font-size: xx-large; "&gt;لماذا لا يظهر اسم مرسل الرسالة على الأى فون ؟&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align: center; "&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="text-align: right; "&gt;&amp;nbsp;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;قام الجهاز القومي المصري لتنظيم الإتصالات &amp;nbsp;يوم الخميس 6 أكتوبر 2010 &amp;nbsp;&lt;/span&gt;&lt;a href="http://www.ntra.gov.eg/arabic/News_NewsDetails.asp?ID=186"&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 153); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; "&gt;بزيادة طول رقم المحمول&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; الحالي من عشرة أرقام إلى أحد عشر رقم وذلك في إطار خطة زيادة السعة الرقمية للمحمول والتي &amp;nbsp;سبق الإعلان عنها بداية العام 2010 &amp;nbsp;لتتماشى مع &lt;/span&gt;&lt;a href="http://www.ntra.gov.eg/presentations/NumberingChart2012.JPG"&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 153); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; "&gt;خطة الترقيم الجديدة&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;.&lt;/span&gt;&lt;/p&gt;
&lt;div style="background-color: transparent; "&gt;
&lt;p dir="rtl" style="font-family: Times; font-size: medium; margin-top: 0pt; margin-bottom: 0pt; text-align: right; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; فى نفس التوقيت ظهرت العديد من البرامج لتعديل الأرقام علي أجهزة المحمول ومنها برامج لتعديل الأرقام على جهاز الآى فون و لكن تظل مشكلة اظهار رقم المرسل فى برنامج الرسائل SMS مع جميع برامج التحويل الخاصة بالآى فون حيث نجد أن اسم مرسل الرسالة لا يظهر ولكن يظهر رقمه فقط مضاف إليه (2+) مثال: &amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;6758600 114 20+&lt;/span&gt;&lt;/p&gt;
&lt;p dir="rtl" style="font-family: Times; font-size: medium; margin-top: 0pt; margin-bottom: 0pt; text-align: right; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; والغريب فى الأمر أنه عندما يتصل نفس الشخص فإن اسمه يظهر على الآى فون بطريقة سليمة مما يجعلنا نتسائل لماذا تظهر هذه المشكلة الآن ولماذا لم يتم حل هذه المشكلة بعد استخدام برامج التحويل؟&lt;/span&gt;&lt;/p&gt;
&lt;p dir="rtl" style="font-family: Times; font-size: medium; margin-top: 0pt; margin-bottom: 0pt; text-align: right; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;هذا ما سنوضحه فى هذا المقال بعد توضيح بعض الحقائق&lt;/span&gt;:&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p dir="rtl" style="font-family: Times; font-size: medium; margin-top: 0pt; margin-bottom: 0pt; text-align: right; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;الحقيقة الأولى&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; هى أن&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; 2+&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; هو رمز&lt;/span&gt;&lt;a href="http://ar.wikipedia.org/wiki/%D8%B1%D9%85%D8%B2_%D8%A7%D9%84%D9%87%D8%A7%D8%AA%D9%81_%D8%A7%D9%84%D8%AF%D9%88%D9%84%D9%8A"&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 153); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; "&gt;الإتصال الدولى&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; الخاص بمصر - لنكون أكثر دقة &amp;nbsp;20+ هو رمز الإتصال الدولي لمصر ولكن تم حذف الصفر لأن رقم المحمول أوله صفر أيضا - منعا لإلتقاء الصفريين &amp;nbsp;:)&lt;br class="kix-line-break" /&gt;
تخيل معي لو كان هناك صفرين سيكون الرقم بهذا الشكل : &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;6758600 114 200+&lt;/span&gt;&lt;/p&gt;
&lt;p dir="rtl" style="font-family: Times; font-size: medium; margin-top: 0pt; margin-bottom: 0pt; text-align: right; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;بالمناسبة &amp;quot;+&amp;quot; هى إختصار ل&amp;quot;00&amp;quot; أى أن الرقم &amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;6758600 114&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; 20+ يكافئ &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;6758600 114&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; 0020&lt;/span&gt;&lt;/p&gt;
&lt;p dir="rtl" style="font-family: Times; font-size: medium; margin-top: 0pt; margin-bottom: 0pt; text-align: right; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&lt;br class="kix-line-break" /&gt;
نعود إلى رسالتنا القصيرة SMS - &amp;nbsp;مرسل الرسالة أرسلها من داخل مصر فلماذا يظهر كود الإتصال الدولي وكأنه يتصل من خارج مصر؟&lt;/span&gt;&lt;/p&gt;
&lt;p dir="rtl" style="font-family: Times; font-size: medium; margin-top: 0pt; margin-bottom: 0pt; text-align: right; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;هذا ما توضحه&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; الحقيقة الثانية&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; هي أن خدمة &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;الرسائل تستخدم طرق دولية&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; لتوجيه &lt;/span&gt;&lt;a href="http://www.ozekisms.com/index.php?owpn=545"&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 153); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; "&gt;الرسائل&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p style="text-align: right; "&gt;&amp;nbsp;&lt;/p&gt;
&lt;p dir="rtl" style="font-family: Times; font-size: medium; text-align: right; margin-top: 0pt; margin-bottom: 0pt; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;حسنا لماذا كان اسم مرسل الرسالة يظهر قبل تغيير طول الأرقام ولماذا تحدث هذه المشكلة على جهاز الآى فون ولا تحدث على أجهزة أخرى مثل نوكيا؟&lt;/span&gt;&lt;/p&gt;
&lt;p dir="rtl" style="font-family: Times; font-size: medium; margin-top: 0pt; margin-bottom: 0pt; text-align: right; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; لكي نجيب على هذا السؤال نحتاج أن نفهم كيف يقوم جهاز مثل نوكيا بإظهار إسم المتصل (أو مرسل الرسالة)؟&lt;/span&gt;&lt;/p&gt;
&lt;p dir="rtl" style="font-family: Times; font-size: medium; margin-top: 0pt; margin-bottom: 0pt; text-align: right; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;وهذا يقودنا إلى طرح&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; الحقيقة الثالثة&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; وهى أن أغلب أجهزة نوكيا إن لم تكن كلها تقوم بالبحث عن أي اسم فى دليل الهاتف مسجل تحته رقم يتطابق مع رقم المتصل (أو مرسل الرسالة) ولكن جهاز النوكيا يطابق &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;آخر سبعة أرقام فقط&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; وليس كامل الرقم.&lt;/span&gt;&lt;/p&gt;
&lt;p dir="rtl" style="font-family: Times; font-size: medium; margin-top: 0pt; margin-bottom: 0pt; text-align: right; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; هذه الطريقة لها ميزة ولها عيب , الميزة هي أن جهاز النوكيا لن يقع فى المشكلة التى نحن بصددها وسوف يظهر اسم مرسل الرسالة والمتصل بطريقة سليمة لأنه ينظر إلى الرقم &lt;/span&gt;&lt;/p&gt;
&lt;p dir="rtl" style="font-family: Times; font-size: medium; margin-top: 0pt; margin-bottom: 0pt; text-align: right; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;6758600&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; 114 20+ &lt;/span&gt;&lt;/p&gt;
&lt;p dir="rtl" style="font-family: Times; font-size: medium; margin-top: 0pt; margin-bottom: 0pt; text-align: right; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;و الرقم &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&amp;nbsp;&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;6758600&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; 114 0 &lt;/span&gt;&lt;/p&gt;
&lt;p dir="rtl" style="font-family: Times; font-size: medium; margin-top: 0pt; margin-bottom: 0pt; text-align: right; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;كأنهم رقم واحد لأنهم يشتركان فى آخر سبعة أرقام &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;6758600&lt;/span&gt;&lt;/p&gt;
&lt;p dir="rtl" style="font-family: Times; font-size: medium; margin-top: 0pt; margin-bottom: 0pt; text-align: right; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;عيب هذه الطريقة أن جهاز النوكيا سوف يُظهر المتصل من الرقم:&lt;/span&gt;&lt;/p&gt;
&lt;p dir="rtl" style="font-family: Times; font-size: medium; margin-top: 0pt; margin-bottom: 0pt; text-align: right; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;6758600&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; 111 0 &lt;/span&gt;&lt;/p&gt;
&lt;p dir="rtl" style="font-family: Times; font-size: medium; margin-top: 0pt; margin-bottom: 0pt; text-align: right; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;أو الرقم &lt;/span&gt;&lt;/p&gt;
&lt;p dir="rtl" style="font-family: Times; font-size: medium; margin-top: 0pt; margin-bottom: 0pt; text-align: right; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;6758600&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: rgb(255, 255, 255); font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; 100 0 &lt;/span&gt;&lt;/p&gt;
&lt;p dir="rtl" style="font-family: Times; font-size: medium; margin-top: 0pt; margin-bottom: 0pt; text-align: right; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;على أنهما نفس الشخص.&lt;/span&gt;&lt;/p&gt;
&lt;p dir="rtl" style="font-family: Times; font-size: medium; margin-top: 0pt; margin-bottom: 0pt; text-align: right; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; &lt;/span&gt;&lt;/p&gt;
&lt;p dir="rtl" style="font-family: Times; font-size: medium; margin-top: 0pt; margin-bottom: 0pt; text-align: right; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;جربها بنفسك على أى جهاز نوكيا. إتصل برقم صديقك وبدل أي رقم قبل آخر سبعة أرقام &amp;nbsp;برقم آخر ستجد أن الجهاز يظهر أنه يتصل بصديقك مع أنك تتصل برقم خطأ من الأساس!!&lt;/span&gt;&lt;/p&gt;
&lt;p dir="rtl" style="font-family: Times; font-size: medium; margin-top: 0pt; margin-bottom: 0pt; text-align: right; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;طبعا هذه حالة نادرة أن يكون لديك صديقان رقمهم مشترك فى آخر سبعة أرقام ولكن قد تحدث هذه المشكلة مع أجهزة نوكيا ولكن لا &amp;nbsp;تحدث أبدا مع جهاز مثل الأى فون والذى يطابق كامل طول الرقم مع مراعاة كود الإتصال الدولى وخريطة الترقيم للبلد وهذه هى &lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-weight: bold; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;الحقيقة الرابعة&lt;/span&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; وهي أن أبل لم تقم بتحديث الجهاز أو نظام التشغيل &amp;nbsp;ليتوافق مع نظام الترقيم الجديد الذى أصدره الجهاز القومي لتنظيم الإتصالات ولذلك كانت الأرقام القديمة - بطول عشر أرقام - تظهر أسماء أصحابها بطريقة سليمة عند الإتصال أو إرسال رسالة.&lt;/span&gt;&lt;/p&gt;
&lt;p dir="rtl" style="font-family: Times; font-size: medium; margin-top: 0pt; margin-bottom: 0pt; text-align: right; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;أما بعد تغيير طول الأرقام إلى إحد عشر رقم فإن الأى فون لا يدرى شيئا عن طبيعتها ولذلك لم يستطع إظهار اسم مرسل الرسالة.&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align: right; "&gt;&amp;nbsp;&lt;/p&gt;
&lt;p dir="rtl" style="font-family: Times; font-size: medium; text-align: right; margin-top: 0pt; margin-bottom: 0pt; "&gt;&lt;strong&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;شئ واحد أخير:&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;
&lt;p dir="rtl" style="font-family: Times; font-size: medium; margin-top: 0pt; margin-bottom: 0pt; text-align: right; "&gt;&lt;strong&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;الحقيقة الخامسة &lt;/span&gt;&lt;/strong&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;وهى أن هناك برنامج واحد فقط &amp;quot;حتى الآن&amp;quot; اسمه &amp;quot;&lt;/span&gt;&lt;a href="http://itunes.apple.com/eg/app/arkami/id415675418?ls=1&amp;amp;mt=8"&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 153); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; "&gt;أرقامى&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;&amp;quot; يحل هذه المشكلة على الأى فون وهذه البرنامج من &lt;/span&gt;&lt;a href="http://www.badrit.com/"&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 153); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: underline; vertical-align: baseline; white-space: pre-wrap; "&gt;شركة بدر لتكنولوجيا المعلومات&lt;/span&gt;&lt;/a&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt;. البرنامج ببساطة يقوم بتكرير كل رقم ليكون منه نسختان نسخة بالكود الدولى (لتعمل مع خدمة الرسائل) ونسخة بدون كود دولى لتعمل مع المكالمات العادية و طبعا هذا الحل مؤقت لأجل غير مسمى إلى أن تقوم أبل بتحديث نظام تشغيل الأى فون ليدعم الترقيم الجديد. &lt;/span&gt;&lt;/p&gt;
&lt;p dir="rtl" style="font-family: Times; font-size: medium; margin-top: 0pt; margin-bottom: 0pt; text-align: right; "&gt;&amp;nbsp;&lt;/p&gt;
&lt;p dir="rtl" style="font-family: Times; font-size: medium; margin-top: 0pt; margin-bottom: 0pt; text-align: right; "&gt;&amp;nbsp;&lt;/p&gt;
&lt;p style="text-align: right; "&gt;&lt;span style="font-size: medium; "&gt;&lt;strong&gt;&amp;nbsp; تحديث:&lt;/strong&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align: right; "&gt;&lt;span style="font-size: medium; "&gt;&amp;nbsp;إذا اقمت &lt;a href="http://www.iphoneislam.com/2011/10/the-complete-guide-of-update-iphone-to-5-0/14175"&gt;بالترقية بنجاح لآخر&amp;nbsp;نسخة من نظام تشغيل الآى فون&lt;/a&gt;&amp;nbsp;5&amp;nbsp;فلن تظهر مشكلة أسماء مرسلى الرسائل لك ولن تحتاج لآخر نسخة من برنامج أرقامى أما إذا لم تستطع الترقية (قمت بعمل جيلبريك أو فك حماية) فأنت مازلت بحاجة لتنزيل آخر نسخة من برنامج &lt;a href="http://itunes.apple.com/eg/app/arkami/id415675418?ls=1&amp;amp;mt=8"&gt;أرقامى&lt;/a&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p style="text-align: right; "&gt;&amp;nbsp;&lt;/p&gt;
&lt;p dir="rtl" style="font-family: Times; font-size: medium; margin-top: 0pt; margin-bottom: 0pt; text-align: right; "&gt;&lt;span style="font-size: 11pt; font-family: Arial; color: rgb(0, 0, 0); background-color: transparent; font-style: normal; font-variant: normal; text-decoration: none; vertical-align: baseline; white-space: pre-wrap; "&gt; &amp;nbsp;&amp;nbsp;&lt;/span&gt;&lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BadrITBlog/~4/kixLFHaKl78" height="1" width="1"/&gt;</description>
      <tag>arkami,iphone,numbers,egypt,مصر,آى فون, أرقامى, محمول, أرقام, موبايل, إتصالات</tag>
      <posted_by>Muhammad Hassan</posted_by>
    <feedburner:origLink>http://www.badrit.com//blog/2011/10/16/sms-contact-name-not-shown-on-iphone</feedburner:origLink></item>
    <item>
      <title>Ataxx Bio-Warfare - Online Multi-Player Game</title>
      <link>http://feedproxy.google.com/~r/BadrITBlog/~3/irIlQaLUou8/ataxx-bio-warfare-online-multi-player-game</link>
      <description>&lt;p style="text-align: center; "&gt;&lt;img alt="" src="http://www.badrit.com/system/blog_assets/0000/0037/banner.png" /&gt;&lt;/p&gt;
&lt;p style="text-align: left; "&gt;&lt;a href="http://ataxx.badrit.com"&gt;Ataxx Bio-Warfare&lt;/a&gt;&amp;nbsp;is a turn-based game of strategy, where you control the movement of Fungi petri dishes. Get one of your dishes within one space of your opponent's dishes and your fungi will take them over. Be the first to gain control of all the dishes on the lab table.&lt;/p&gt;
&lt;p style="text-align: left; "&gt;&amp;nbsp;&lt;/p&gt;

&lt;p&gt;Choose from 9 enemy bacteria, in 30 levels of increasing difficulty.&lt;br /&gt;
Or challenge your friends in Multi-Player mode, and check the leaderboards to see who's the best Fungi of them all!&lt;br /&gt;
&lt;br /&gt;
You can check its trailer &lt;a href="http://www.youtube.com/watch?v=FMZ-M4LxCfQ"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Keep in Touch and give s like to it's &lt;a href="http://www.facebook.com/Ataxx.biowarfare"&gt;official Facebook page&lt;/a&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BadrITBlog/~4/irIlQaLUou8" height="1" width="1"/&gt;</description>
      <tag>games, iphone, iphone games, ataxx, board game</tag>
      <posted_by>Muhammad Elkharashy</posted_by>
    <feedburner:origLink>http://www.badrit.com//blog/2011/6/30/ataxx-bio-warfare-online-multi-player-game</feedburner:origLink></item>
    <item>
      <title>Log to Debug efficiently in Objective-C </title>
      <link>http://feedproxy.google.com/~r/BadrITBlog/~3/1LVQhAgHGQw/log-to-debug-efficiently-in-objective-c</link>
      <description>&lt;p&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="font-family: Tahoma; "&gt;&lt;span style="color: rgb(0, 0, 0); "&gt;Everyone wants to have an effecient logging method that releave him from the stepping debugging.&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="font-family: Tahoma; "&gt;The following is a macro for debugging showing only in debug mode.&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="font-family: Tahoma; "&gt;It shows:&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;ul&gt;
    &lt;li&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="font-family: Tahoma; "&gt;Current File.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="font-family: Tahoma; "&gt;Current Function.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="font-family: Tahoma; "&gt;Current Line.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
    &lt;li&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="font-family: Tahoma; "&gt;Custom Argments.&lt;/span&gt;&lt;/span&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;
&lt;meta charset="utf-8" /&gt;&lt;/p&gt;
&lt;p&gt;
&lt;meta charset="utf-8"&gt;     &lt;/meta&gt;
&lt;/p&gt;
&lt;pre style="margin-top: 0px; margin-right: 0px; margin-bottom: 10px; margin-left: 0px; padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(238, 238, 238); font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; overflow-x: auto; overflow-y: auto; width: auto; max-height: 600px; " class="lang-c prettyprint"&gt;&lt;code 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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: rgb(238, 238, 238); font-family: Consolas, Menlo, Monaco, 'Lucida Console', 'Liberation Mono', 'DejaVu Sans Mono', 'Bitstream Vera Sans Mono', 'Courier New', monospace, serif; "&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: gray; " class="com"&gt;#ifdef&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); " class="pln"&gt; DEBUG&lt;br /&gt;&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: gray; " class="com"&gt;# &amp;nbsp; define DLog(fmt, ...) NSLog((@&amp;quot;%s %s [Line %d] &amp;quot; fmt), __FILE__, __PRETTY_FUNCTION__, __LINE__, ##__VA_ARGS__);&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); " class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: gray; " class="com"&gt;#else&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); " class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: gray; " class="com"&gt;# &amp;nbsp; define DLog(...) ;&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); " class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: gray; " class="com"&gt;#endif&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); " class="pln"&gt;&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: gray; " class="com"&gt;// ALog always displays output regardless of the DEBUG setting&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); " class="pln"&gt;&lt;br /&gt;&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: gray; " class="com"&gt;#define&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); " class="pln"&gt; &lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(43, 145, 175); " class="typ"&gt;ALog&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); " class="pun"&gt;(&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); " class="pln"&gt;fmt&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); " class="pun"&gt;,&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); " class="pln"&gt; &lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); " class="pun"&gt;...)&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); " class="pln"&gt; &lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(43, 145, 175); " class="typ"&gt;NSLog&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); " class="pun"&gt;((@&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(128, 0, 0); " class="str"&gt;&amp;quot;%s %s [Line %d] &amp;quot;&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); " class="pln"&gt; fmt&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); " class="pun"&gt;),&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); " class="pln"&gt; __FILE__, __PRETTY_FUNCTION__&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); " class="pun"&gt;,&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); " class="pln"&gt; __LINE__&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); " class="pun"&gt;,&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); " class="pln"&gt; &lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; font-size: 14px; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: gray; " class="com"&gt;##__VA_ARGS__);&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="font-family: Tahoma; "&gt;Ex: ALog(@&amp;quot;Hello world&amp;quot;) will print:&lt;br /&gt;
&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="font-family: Tahoma; "&gt;path/to/LibraryController.m &amp;nbsp;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); " class="pun"&gt;-[&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(43, 145, 175); " class="typ"&gt;LibraryController&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); " class="pln"&gt; awakeFromNib&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); " class="pun"&gt;]&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); " class="pln"&gt; &lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); " class="pun"&gt;[&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(43, 145, 175); " class="typ"&gt;Line&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); " class="pln"&gt; &lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(128, 0, 0); " class="lit"&gt;364&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); " class="pun"&gt;]&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); " class="pln"&gt; &lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(43, 145, 175); " class="typ"&gt;Hello&lt;/span&gt;&lt;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; border-top-width: 0px; border-right-width: 0px; border-bottom-width: 0px; border-left-width: 0px; border-style: initial; border-color: initial; vertical-align: baseline; background-image: initial; background-attachment: initial; background-origin: initial; background-clip: initial; background-color: transparent; color: rgb(0, 0, 0); " class="pln"&gt; world&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&amp;nbsp;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="font-family: Tahoma; "&gt;Enjoy&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;
&lt;p&gt;&lt;span style="font-size: medium; "&gt;&lt;span style="font-family: Tahoma; "&gt;&lt;span style="color: rgb(51, 204, 204); "&gt;Reference:&amp;nbsp;http://stackoverflow.com/questions/969130/nslog-tips-and-tricks&lt;/span&gt;&lt;/span&gt;&lt;/span&gt;&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BadrITBlog/~4/1LVQhAgHGQw" height="1" width="1"/&gt;</description>
      <tag>iPhone, Debug, Objective c, log, line number, function name, file name</tag>
      <posted_by>Ali Nour</posted_by>
    <feedburner:origLink>http://www.badrit.com//blog/2011/6/23/log-to-debug-efficiently-in-objective-c</feedburner:origLink></item>
    <item>
      <title>Rails Helper including another helper problem in Development mode</title>
      <link>http://feedproxy.google.com/~r/BadrITBlog/~3/svFr8KG0ch0/rails-helper-including-another-helper-problem-in-development-mode</link>
      <description>&lt;div&gt;I had a tough couple of hours fighting with Rails helpers , my desire was to include a helper inside another one to have a method of that other helper aliased, so I wrote the following:&lt;/div&gt;
&lt;div&gt;&amp;nbsp;&lt;/div&gt;
&lt;pre class="brush: ruby"&gt;
module MyHelper

  include TheirHelper

  def their_method_with_my_mehtod
    puts their_method_without_my_method
  end

  alias_method_chain :my_method, :their_method

end
&lt;/pre&gt;
&lt;div style="background-color: rgb(255, 255, 255); padding-top: 5px; padding-right: 5px; padding-bottom: 5px; padding-left: 5px; margin-top: 0px; margin-right: 0px; margin-bottom: 0px; margin-left: 0px; font-size: 12px; "&gt;
&lt;div style="font-family: Arial, Verdana, sans-serif; "&gt;That worked with the first request, but subsequent requests, throwed a &amp;quot;Stack overflow error&amp;quot;, because in development mode, helper is re-included and the two methods &amp;quot;their_method_with_my_mehtod&amp;quot; and &amp;quot;their_method_without_my_method&amp;quot; became pointing to the same thing, so the solution was:&lt;/div&gt;
&lt;div style="font-family: Arial, Verdana, sans-serif; "&gt;&amp;nbsp;&lt;/div&gt;
&lt;div&gt;
&lt;div style="font-family: Arial, Verdana, sans-serif; "&gt;&amp;nbsp;&lt;/div&gt;
&lt;/div&gt;
&lt;div style="font-family: Arial, Verdana, sans-serif; "&gt;
&lt;pre class="brush: ruby"&gt;
module MyHelper

  include TheirHelper

  def their_method_with_my_mehtod
    puts their_method_without_my_method
  end

  alias_method_chain :my_method, :their_method unless method_defined?(their_method_without_my_method)

end
&lt;/pre&gt;
&lt;br type="_moz" /&gt;
Another way to do that is through writing &amp;quot;unloadable&amp;quot; at the module start &lt;br type="_moz" /&gt;
&lt;pre class="brush: ruby"&gt;
module MyHelper

  unloadable # prevent it from being unloaded in development mode
             # other wise, a stack overflow exception will be 
             # thrown due to the alias method chain being called twice
  include TheirHelper

  def their_method_with_my_mehtod
    puts their_method_without_my_method
  end

  alias_method_chain :my_method, :their_method unless method_defined?(their_method_without_my_method)

end
&lt;/pre&gt;
&lt;/div&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/BadrITBlog/~4/svFr8KG0ch0" height="1" width="1"/&gt;</description>
      <tag>Rails, Helpers, alias chain</tag>
      <posted_by>Mostafa Ali</posted_by>
    <feedburner:origLink>http://www.badrit.com//blog/2011/6/16/rails-helper-including-another-helper-problem-in-development-mode</feedburner:origLink></item>
    <item>
      <title>RMagick installation: no such file to load — mkmf</title>
      <link>http://feedproxy.google.com/~r/BadrITBlog/~3/XmR1QySz7aw/rmagick-installation-no-such-file-to-load-mkmf</link>
      <description>&lt;p&gt;I was following the steps mentioned here:&amp;nbsp;http://rmagick.rubyforge.org/install2-linux.html,&amp;nbsp;&lt;br /&gt;
to install RMagick gem, but I got the error&lt;/p&gt;
&lt;p&gt;http://rmagick.rubyforge.org/install2-linux.html&lt;/p&gt;
&lt;p&gt;And the solution to this error was to install the dev package of Ruby, (ruby1.8-dev OR ruby1.9-dev)&lt;br /&gt;
&lt;br /&gt;
After that, the installation worked fine.&lt;/p&gt;&lt;img src="http://feeds.feedburner.com/~r/BadrITBlog/~4/XmR1QySz7aw" height="1" width="1"/&gt;</description>
      <tag>RMagick Ruby ImageMagick install gem</tag>
      <posted_by>Mostafa Ali</posted_by>
    <feedburner:origLink>http://www.badrit.com//blog/2011/3/24/rmagick-installation-no-such-file-to-load-mkmf</feedburner:origLink></item>
  </channel>
</rss>

