Ahmed's profileShreef in Life [ Shreef....PhotosBlogLists Tools Help

Blog


    July 23

    Introduction to flying in AIR

    In the last days, I had the chance to play with the SDK of AIR beta (Adobe Integrated Runtime). on Adobe's website they introduce it as :

    Adobe® AIR™, formerly code-named Apollo, is a cross-operating system runtime that allows developers to use their existing web development skills to build and deploy rich Internet applications to the desktop.

    AIR is still in beta and till now it only supports the following operating systems
    • Windows XP SP2
    • Windows Vista Home Ultimate Edition
    • Mac OS 10.4.8 and 10.4.9 (Intel and PowerPC)
    * they will start working on supporting linux after the 1.0 release.

    AIR mainly targets web developers. it allows you to develop desktop applications using your web development skills. you can develop AIR applications using HTML, JavaScript and Flash. you are not forced to use flash. you can only use HTML and JavaScript if you want.

    not like the normal web development, in your AIR apps you won't need to check for the type of the user's browser . AIR uses the open source WebKit browser engine that's used by known web browsers like KHTML on KDE and Safari.

    as I didn't work with Flash before, I chose the option of developing using HTML and JavaScript only. the nice thing is that I still have full control as I can access the AIR, Flash player and ActionScript APIs from my JavaScript code. this will allow me to do things I'm not allowed to do in a normal web application.

    AIR comes with
    • embedded SQLite database
    • native windowing API
    • file IO API
    • application update API
    • full control over your application's chrome
    • online/offline API
    • drag and drop support
      - Between operating system and Adobe AIR applications
      - Between Adobe AIR applications
      - Between native applications and Adobe AIR applications
    • native icons
    • standard installer
    you can see that not like the normal web applications, the AIR applications have access to your file system and this will make you think about security. so like any normal desktop app, you have to use trusted applications only.

    What not to expect from AIR?
    AIR won't replace the normal desktop applications. Kevin Hoyt explains this here. AIR aims to get the web to the desktop (not vice versa).

    April 11

    Firebug Lite - it's for your non FF browser

    I was in FireBug's website today trying to find any new helpful tricks. I found FireBug Lite. I don't know if you were using it a long time ago while I was in my cave or what, but any way, it's a nice tool.
     
    Firebug Lite is a simple tool that allows you to use the normal Firebug consol in IE, Opera and Safari. I have been using it all the day with IE7 and Opera 9.1 and it's working very well except for some little problem with Opera, but it's still helpful. using Firebug Lite allowed me to use the consol methods [consol.info(), consol.log() ..etc] in the other browsers without problems or errors. if you were using these methods before to cleanly test your code in FF, so you know that you had to remove these methods from your code when testing on other browsers and this is a boring thing.
     
    Firebug Lite is a zipped file that you will extract on your website, then include the firebug.js file in your HTML page. now try to test your page in other browser than FF. to see the console, click shift+ctrl+L or F12. I prefer the first one as F12 won't work on Opera.
     
    if you are using the IE Developer toolbar, firebug Lite will be helpful too as the IE Developer tollbar is still in beta and it's not fully functioning yet.
    February 16

    Programmers Don't Like to Code

    "Programmers Don't Like to Code" is a great post. the writer is talking about why we are coding. we aren't coding as we just love writing code. we do this as part of the thing that really interests us. it's "solving problems". that's what we really like to do.

    people, this man is saying the truth ...
    October 17

    ZF: l10n of numbers

    Okay, it's my birthday but a little of programming won't be a bad thing :).
     
    Andre Hoffmann who's developing the Zend_Locale_UTF8 component is going to support the localization of numbers. f.e. you can display the numbers ( 0123456789 ) using Arabic digits ( ٠١٢٣٤٥٦٧٨٩ ) . this functionality will be used in other components like Zend_Currency and Zend_Locale_Format.
     
    Andre didn't start working on it till now. this idea is still under discussion on the ZF-i18n mailinglist. we are now building our decisions depending on scenarios of Arabic digits. if your language isn't using the normal english digits (0123456789), it will be nice if you can help with some information to get your language's digits supported well.
     
    OT: I hope that we can get more Arabic developers working on ZF. you will get more experienced of things you didn't think about before.
    October 11

    getting RTL using markup or CSS

    I'm Still working on the translation of the ZF-Docs to Arabic. in my last post I was talking about the problem we faced when we was trying to get the arabic words displayed from right to left "RTL" in DocBook and what I did to hack the XSL files to get it working.
     
    yesterday, one of the zend guys asked me about if modifying the DocBook XSL files is best practice or using CSS ? his point of view was that using css is more cleaner and this can be a best practice.
    I have another point of view which I had to explain it to him. in our situation using markup isn't similar to using css.
     
    here is part of my replay to him:
    ================
     
         1- ignoring the css "direction" property is possible in any user agent as this is part of the styling . 

    2- this inherits from 1 . css have to be used only for styling and we are here not styling but we are setting the direction of the data .
    the directionality here is part of the data as the data will lose it's value if not displayed in the right way. so using the markup "dir" attribute is the right solution.
    it can't be ignored by user agents and it's part of the data and not part of the styling.

    ----------------------------------------

    he understood my point of view and agreed with me that using the markup here is better.
    check this link from W3C for more "FAQ: CSS vs. markup for bidi support" .

    September 29

    Arabic support in DocBook

    Hi
    The translation of the ZF Docs (Zend Framework documentation) to Arabic faced some problems at the first. the documentation team using DocBook as a documentation generator. me as a translator have to write the translated content in XML files in a known data structure. all this files will be compiled later be DocBook which generates XHTML files depending on XSL files defining how every thing in the XML files will be translated to XHTML.

    the problem was the Arabic support. DocBook is supporting many translations and the Arabic language is one of them. but they forgot something, the Arabic Language is written from right to left and there is no configuration files provided to control this thing. so I had to modify the XSL files to get what I want.
    If you have the same problem, you can check my solution. you can read it on the ZF Wiki .

    c u later
    August 03

    with subversion

    hi,
    I was playing yesterday with Subversion . after a long 5 hours finished installing it.
    it wasn't that bad, but I was facing some problems and errors in the first when ever I try to start the apache server.
    but now every thing is working well. ( now I have 3 web servers on this machine )

    also I got a nice svn client called TortoiseSVN .
    now every thing is working well.

    out of topic : have you seen that?! now this space is shref in life on live
    I like it now but they need to make some fixes I think.

    c ya
    September 28

    MySQL 5 & stored procedures

    hi all,
    did you know that the first MySQL 5.0 Release Candidate is Available now ?!!
    yes, that's right and you can get it from here.
     
    i have recived the MySQL news letter 2 hours ago and iam so happy to see MySQL in a new style with its new features to be powerful enough to start the long way with Oracle, MS SQL and DB2 .
    may we have to wait another 3 years to see MySQL side by side with its competitors .
     
    but let's see the most useful features in that release:
    1- stored procedures    (i like it so much)
    2- triggers
    3- views
    4- information schema  (i was in need of that)
    5- Archive storage engine
     
    iam not a databases expert but i know the benefits of using the stored procedures in my applications and i want to thank tarik ibrahim as he was the first one who explained it to me .
     
    in a little words : stored procedures are as same as the normal functions in php or c/c++ but it's stored in the database.
     
    Ex. 
    CREATE PROCEDURE get_data(IN var1 INTEGER)
    BEGIN
      IF var1 >= 5 THEN
      SELECT * FROM users WHERE id = var1;
      ELSE
      SELECT * FROM admin WHERE id = var1;
      END IF;
    END
     
    maybe it's not clear for some people but reading  it again will make it familier to you and very simple.
    let's see what we can do with php:
     
    Ex.
    $userID = 2 ;
    $result = mysql_query('call get_data('.$userID.')');
     
    there is more advanced ways to use stored procedures and many many reasons to make it your first choice.
    http://dev.mysql.com  for more and be ready to get the finished release soon.