Friday, June 6, 2014

بعدما قمت لنا العديد من الإحصائيات المتعلقة بنظام iOS 7 وبالأجهزة التي تدعم هذا النظام، قامت شركة آبل مباشرة بالإعلان رسميا عن نظام iOS 8 الجديد والذي يجلب معه مجموعة من التحسينات والميزات الجديدة.
واحدة من الميزات القادمة مع نظام iOS 8 هي ميزة Handoff، وهي ميزة تسمح لمستخدمي نظام iOS 8 بالتفاعل مع نظام Mac OS X Yosemite بحيث تمكن هذه الميزة نظام iOS 8 من مشاركة العديد من المهام والبيانات مع نظام Mac OS X Yosemite، بما في ذلك المكالمات الهاتفية، والرسائل، والملفات، إضافة إلى العديد من الامور الأخرى.
بعدما جاء نظام iOS 7 بمركز التنبيهات Control Center الذي طال إنتظاره، فقد قامت شركة آبل في نظام iOS 8 بتحسين هذه الميزة وخصوصا الجانب المتعلق بالتنبيهات. الآن، مع نظام iOS 8 يمكنك التعامل مع التنبيهات إنطلاقا من شريط التنبيهات. ببساطة يمكنك سحب معظم التنبيهات إلى الأسفل والتعامل معها مثل الرد على رسالة نصية أو التعليق على منشور على شبكة الفيسبوك، وهذا العمل يمكن القيام به أيضا من شاشة القفل.
وواحدة من التغييرات المهمة في نظام iOS 8 هي إجراء بعض التحسينات على ميزة تعدد المهام. على سبيل المثال قائمة تعدد المهام توفر لك الوصول السريع إلى جهات الإتصال الخاصة بك والمفضلة.
 قامت شركة آبل أيضا في نظام iOS 8 بتغيير لوحة المفاتيح. وتقول شركة آبل بأن لوحة المفاتيح الجديدة أكثر كفاءة في إستخدام الكلمات التي هي على وشك الإدخال، وقالت شركة آبل كذلك بأن هذه اللوحة قادرة على التعلم من طريقة كتابتك لجعل تجربة الكتابة أفضل. وإلى جانب ذلك، فإن نظام iOS 8 أصبح الآن يسمح للوحات المفاتيح القادمة من الطرف الثالث بالعمل على أجهزة iOS وهذا ما يعني أن لوحات المفاتيح الإفتراضية مثل Swiftkey و Swype ستأتي قريبا إلى هواتف iPhone ولوحيات iPad.
كما هو متوقع، فإن نظام iOS 8 يأتي مع ميزة HealthKit والتي تجمع كافة البيانات التي تم جمعها من تطبيقات التتبع الخاصة بأجهزة اللياقة البدنية. وقد تعاونت شركة آبل مع الشركاء فيما يخص تطوير هذه الخدمة بما في ذلك شركة Nike وعيادة Mayo.
نظام iOS 8 جلب معه أيضا العديد من التحسينات إلى تطبيق المراسلة iMessage وهذه الميزات الجديدة جعلت من تطبيق iMessage يكتسب بعض الميزات التنافسية مثل إضافة القدرة على إرسال الرسائل الصوتية المباشرة ومقاطع الفيديو داخل التطبيق. وبالإضافة إلى ذلك، فقد تم أيضا تحسين تطبيق الرسائل الإلكترونية الأصلي في نظام iOS 8، بحيث أصبح الآن يتيح للمستخدمين تجاهل الرسائل غير المهمة عن طريق سحبة بسيطة. وإلى جانب ذلك، فقد أيضا تم تحسين ميزة Spotlight كذلك، بحيث أصبحت تسمح للمستخدمين الآن بالبحث عن التطبيقات الغير مثبتة، والأغاني من متجر iTunes، وكذلك مجموعة من المحتويات الأخرى المفيدة.
آبل تحاول جعل المساعد الشخصي الإفتراضي Siri أكثر ذكاء من ذي قبل، بحيث أصبح الآن نظام iOS 8 يتيح للمستخدمين تفعيل المساعد الشخصي الإفتراضي Siri من خلال لفظ عبارة ” Hey Siri ” من دون الإضطرار إلى الضغط على أية أزرار. وبالإضافة إلى ذلك، فقد قامت شركة آبل بإضافة ميزة التعرف على الأغاني إلى Siri عن طريق التعاون مع Shazam وقد تردد هذا الأمر قبل عدة أسابيع وقد تحول ذلك ليكون حقيقة. المساعد الشخصي الإفتراضي Siri حصل أيضا على مجموعة من الميزات الأخرى والتي تشمل القيام بعملية الشراء على متجر iTunes بإستخدام الأوامر الصوتية، دعم 22 لغة إضافية.  وأخيرا، تم إقران المساعد الشخصي الإفتراضي Siri بنظام آبل للمنازل الذكية، بحيث يمكنك التلفظ بعبارة ” get ready for bed ” ليتم بعد ذلك إغلاق الأبواب وإطفاء الأنوار.
إلى جانب كل ما تم الإشارة إليه أعلاه، فقد أعلنت شركة آبل أيضا بأن نظام iOS 8 أصبح الآن يتيح لتطبيقات الطرف الثالث الوصول إلى مستشعر بصمة الإصبع Touch ID الموجود في iPhone 5S والذي من المتوقع أن يشق طريقه أيضا إلى المزيد من أجهزة آبل القادمة في وقت لاحق من هذا العام، وهذه الميزة من شأنها أن تكون مهمة جدا في التطبيقات التي لها علاقة بإدارة الاموال وإجراء عمليات البيع والشراء.
نظام iOS 8 أصبح الآن يتيح للمستخدمين تثبيت الإضافات أو بالاحرى Widget القادمة من الطرف الثالث والتي هي عبارة عن تطبيقات مصغرة تعمل على الواجهة الرئيسية للنظام، وهي نفس الميزة الموجودة في نظام الأندرويد منذ عدة سنوات.
بالمناسبة، كجزء من الإعلان عن نظام iOS 8 كشفت شركة آبل عن العديد من الميزات الجديدة لمتجر App Store أيضا. وينبغي لنا أن نتوقع رؤية تحسن ملحوظ في ميزة البحث، وفي نتائج البحث المقدمة، كما أنه أصبح من المسموح للمطورين إضافة مقاطع الفيديو في أوصاف التطبيقات تماما كما هو الشأن مع متجر Google Play، والمطورين سيكونون قادرين على دعوة المستخدمين لإختبارات الإصدارات المستقبلية من التطبيقات الخاصة بهم.
في الأخير أعلنت شركة آبل بأن نظام iOS 8 سيكون متاحا للمطورين إبتداء من هذا اليوم، في حين من المقرر أن يتم إصداره لكافة مستخدمي أجهزة iOS المتوافقة في وقت ما من خريف هذا العام، ومن المتوقع أن يحدث ذلك بعد أسبوع أو أسبوعين من الإعلان الرسمي عن iPhone 6.

المصدر

أعلنت شركة أمازون اليوم أنها تعتزم إستضافة حدث مهم في وقت لاحق من هذا الشهر وبالضبط في اليوم 18. الشركة لم تكشف عن أية معلومات حول ما تعتزم الكشف عنه في هذا الحدث، ولكن كل الدلائل تشير إلى أن شركة أمازون تعتزم الإعلان عن هاتفها الذي الأول والذي سمعنا الكثير من الشائعات بشأنه طيلة الفترة الماضية.
الإعلان التشويقي الخاص بهذا الحدث يعرض مجموعة من الناس الذين يقومون بإبداء رد الفعل على ما نعتقد بأنه الهاتف الذكي التابع لشركة أمازون والذي تم التأكيد في وقت سابق على أنه سيأتي مع شاشة 4.7 إنش بدرجة وضوح 720p، معالج رباعي النواة من شركة كوالكوم، ذاكرة عشوائية بحجم 2GB، كاميرا خلفية بدقة 13 ميغابكسل مع فلاش LED. الهاتف ينبغي أن يستخدم نسخة معدلة من نظام الأندرويد، وورد في وقت سابق بأن واجهة هذا الهاتف ستكون ثلاثية الأبعاد وسوف تستند كثيرا على الإيماءات الفريدة من نوعها. ويقال كذلك بأن شركة أمازون زودت هذا الهاتف بأربع كاميرات في الواجهة الأمامية مما يسمح بالتعديل على واجهة المستخدم الثلاثية الأبعاد بالإعتماد على موقع المستخدمين.


تطبيق إنستاجرام لمنصة الاندرويد و iOS حصل على اليوم على تحديد مهم جدا. هذا التحديث الجديد يحمل الإصدار 6.0 كما أنه يجلب للتطبيق الشهير بعض الأدوات الجديدة لتعديل الصور والتي يرغب فيها المستخدمين لمشاركة صورهم على شبكة الإنترنت. ومع هذا الإصدار الجديد من تطبيق إنستاجرام يمكن للمستخدمين ضبط السطوع والتباين والتشبع، والدفء، وغيرها من جوانب الأخرى في الصور الخاصة بهم. وينبغي الإشارة إلى أن هذه الأدوات تتوفر عن طريق الضغط على رمز على شكل مفتاح الربط يظهر بعد أن يتم إختيار المرشحات.
الوظائف الجديدة لتطبيق إنستاجرام تكسب التطبيق المزيد من الخواص الذكية مع العلم بأن التطبيق يتيح بالفعل للمستخدمين إضافة العديد من التأثيرات الرائعة على الصور الخاصة بهم. على أي حال، إذا كنت لم تقم بتحديث تطبيق إنستاجرام حتى الآن، فيمكنك القيام بذلك عن طريق التوجه إلى متجر App Store أو متجر Google Play.

بل يوم واحد من إنعقاد مؤتمر سامسونج للمطورين في مدينة سان فرانسيسكو الأمريكية قامت شركة سامسونج أخيرا اليوم بالإعلان رسميا عن أول هاتف ذكي لها بنظام Tizen OS. هذا الهاتف يأتي تحت إسم Samsung Z، والغريب في هذا الهاتف أنه لا يأتي كما أشارت جميع التسريبات السابقة.
من حيث التصميم، فإن الهاتف Samsung Z لا يأتي بنفس لغة تصميم المعتمدة في سلسلة هواتف Galaxy S، وإنما قررت تزويد هذا الهاتف بتصميم مستطيل الشكل ومع ذلك فقد قامت شركة سامسونج بتزويد هذا الهاتف بغطاء خلفي مصنوع من الجلد الإصطناعي للتميز. بصرف النظر عن التصميم، فإن الهاتف Samsung Z يأتي مع شاشة Super AMOLED بحجم 4.8 إنش وبدرجة وضوح 720p، معالج رباعي النواة من فئة Snapdragon 800 بتردد 2.3GHz، ذاكرة عشوائية بحجم 2GB، ذاكرة داخلية بحجم 16GB قابلة للتوسع عن طريق الذاكرة الخارجية MicroSD، كاميرا أمامية بدقة 2.1 ميغابكسل وخلفية بدقة 8 ميغابكسل مرفوقة بمستشعر ضربات القلب، بطارية بسعة 2600mAh، وإلى جانب ذلك فإن الهاتف Samsung Z يدعم شبكات LTE-A كما أنه يدعم مستشعر بصمات الأصابع فضلا عن نظام Tizen OS 2.2.1 والذي يضم التطبيقات المألوفة في هواتف سامسونج المدعومة بنظام الاندرويد مثل Download Booster و S Health 3.0.
سيتم بيع الهاتف Samsung Z في روسيا أولا في وقت ما من شهر يوليو، وبعد ذلك سيتم إطلاق الهاتف في أجزاء أخرى من العالم، ولكن ليس من المعروف متى. سعر الهاتف لا يزال غير معروف في الوقت الراهن.



تقنية AirPlay هي واحدة من أسهل الطرق لإرسال المحتوى السمعي أو المرئي من جهاز Mac أو iOS إلى جهاز Apple TV. ومع ذلك، لكن عملية إرسال المحتوى تتطلب ربط كل من جهاز Mac أو iOS وجهاز Apple TV بنفس الشبكة. هذا يبدو جيدا عندما تكون في منزلك، ولكن لن يكون هذا الأمر لن يكون مريحا جدا إذا كنت تريد إظهار شيء ما لشخص آخر في منزله على جهاز Apple TV الخاصة به.
على أي حال، لقد قامت شركة آبل بإزالة هذا القيد مع نظام iOS 8. الآن سوف يتم ربط جهازك بجهاز Apple TV مباشرة دون الحاجة إلى الإتصال أولا بشبكة Wi-Fi.

وفقا لبعض التقارير الصادرة من الهند، فمن المتوقع أن تقوم شركة مايكروسوفت بالإعلان رسميا عن الجيل الثاني من الهاتف Nokia X والذي من المرجح أن يحمل إسم Nokia X2 في الأسابيع القليلة المقبلة. ووفقا لموقع BGR India، فقد أكد له مصدر موثوق به في شركة مايكروسوفت لم يتم الكشف عن إسمه بأنه سيتم إطلاق الهاتف Nokia X2 في الأسابيع الثلاثة المقبلة لذلك فعلينا أن نتوقع أن يتم الإعلان عن الهاتف Nokia X2 قبل نهاية هذا الشهر. ويقال بأن هذا الهاتف سيأتي مع زر رئيسي يأخذك إلى الصفحة الرئيسية بدلا من زر الرجوع الموجود في الهاتف Nokia X الحالي.
وبالعودة إلى التقارير السابقة، فمن المتوقع أن يأتي الهاتف Nokia X2 مع شاشة بحجم 4.3 إنش وبدرجة وضوح 800×480 بكسل، معالج ثنائي النواة من فئة Snapdragon 200 بتردد 1.2GHz، معالج رسوميات من فئة Adreno 305، ذاكرة عشوائية بحجم 1GB، ذاكرة داخلية بحجم 4GB على الأغلب ستكون قابلة للتوسع عن طريق الذاكرة الخارجية MicroSD، كاميرا أمامية بدقة 0.3 ميغابكسل وخلفية بدقة 5 ميغابكسل، ويعمل كل هذا بنظام الأندرويد 4.3.

في مشهد مثير للإهتمام أعلنت شركة مايكروسوفت اليوم أن العلاقة التي تربطها بشركة HTC كبيرة جدا ولا يمكن وصفها على الرغم من حقيقة أن شركة HTC لا تتوغل في الأونة الأخيرة بشكل أعمق في عالم الويندوز فون. وقد أكد نائب رئيس قسم الشركاء في شركة مايكروسوفت السيد Nick Parker بأن أشياء جديدة قادمة من شركة HTC هذا العام. للآسف، لم يتم الكشف عن المزيد من التفاصيل حول الأشياء التي يتوقع أن تقوم شركة HTC بالكشف عنها في المستقبل، ولكن كل التوقعات تشير إلى أننا على وشك رؤية هاتف ذكي جديد من شركة HTC بنظام الويندوز فون 8.1 مع العلم بأنه ترددت قبل بضعة أيام شائعات تفيد بأن شركة HTC تعمل على هاتف ويندوز فون جديد يحمل إسم HTC W8.
بالعودة إلى تلك الشائعات، فقد لمحت إلى أن الهاتف HTC W8 سيستمد تصميمه ومواصفاته من هاتف الأندرويد القادم والمعروف بالإسم الرمزي A9 وهو الهاتف الذي قالت المصادر التايوانية بأنه سيكون عبارة عن هاتف بمواصفات راقية وبسعر متوسط. وتقول المصادر بأن الهاتف HTC W8 سيمتلك نفس الكاميرا الخلفية المزدوجة الموجودة في الهاتف HTC One M8 إضافة إلى مبكرات الصوت BoomSound في الواجهة الأمامية، فضلا عن الهيكل المعدني. للآسف، المواصفات التقنية الخاصة بهذا الهاتف غير متاحة لدينا في الوقت الراهن.

تماما كما حدث مع Galaxy S4 في العام الماضي، فمن المتوقع أن تقوم شركة سامسونج هذا العام بالكشف أيضا عن نسخة جوجل من الهاتف Galaxy S5. بينما لم يتم تأكيد ذلك سواء من شركة جوجل أو سامسونج، فقد تم اليوم تسريب صورة عالية الوضوح يقال بأنها لنسخة جوجل من الهاتف Galaxy S5، وهذه الصورة تظهر على ما يبدو النسخة الذهبية من Galaxy S5 Google Play Edition ولكن هذا لا يعني أننا لن نرى خيارات أخرى من الألوان مثل الأسود والأبيض أو الأزرق.
على أي حال، نسخة جوجل من Galaxy S5 ستأتي من دون أدنى شك بنفس المواصفات التقنية للنسخة الحالية من Galaxy S5، ولكن بدلا من تزويد الهاتف بنظام الأندرويد 4.4 KitKat مع واجهة TouchWiz، فسوف يأتي بنظام الأندرويد 4.4 KitKat الخام من دون أية إضافات. للآسف، ليست هناك حتى الآن أية معلومات حول متى من المتوقع أن يتم الإعلان عن هذه النسخة من Galaxy S5.

دأت شركة Rovio التشويق لقدوم إصدار جديد من لعبتها الشهيرة Angry Birds منذ عدة أسابيع، ولكن في الاونة الأخيرة كشفت لنا الشركة عن بعض الصور داخل اللعبة والتي تكشف لنا بعض ملامح هذه اللعبة والتي ستأتي تحت إسم Angry Birds Stella.
جنبا إلى جنب مع شخصية Stella والتي كانت معروفة في إصدارات سابقة من لعبة Angry Birds، فإن لعبة Angry Birds Stella الجديدة ستأتي مع بعض الشخصيات النسائية الجديدة بما في ذلك Gale و Willow و Dahlia و Poppy إضافة إلى Luca، وكل من هذه الشخصيات ستأتي مع قوى مختلفة ستساعدك على تجاوز جميع مراحل اللعبة. على أي حال، من غير المتوقع أن تقوم شركة Rovio بإطلاق لعبة Angry Birds Stella حتى خريف هذا العام.






Friday, February 7, 2014

 

What is XAMPP?

XAMPP is the most popular PHP development environment

XAMPP is a completely free, easy to install Apache distribution containing MySQL, PHP, and Perl. The XAMPP open source package has been set up to be incredibly easy to install and to use.

Why use XAMPP?

  • The most popular PHP dev package
  • For Windows, Mac OS X & Linux
  • Easy installation and configuration
  • Completely free of charge

xampp من أفضل البرامج التي تمكنك من التعامل مع ملفات الـ php عن طريق عمل server وهمي للتعامل مع php من خلاله كما يحتوي على phpmyadmin لإدارة الـ databases وهو يتميز بأنه يعمل على جميع أنظمة التشغيل

wamp للويندوز
mamp للماك
lamp للينوكس
xampp يعمل على جميع أنظمة التشغيل وهو مجاني مفتوح المصدر

Monday, January 27, 2014

PHP | User System - login & register


index.php


<?php
require 'core.inc.php';
require 'connect.inc.php';

if (loggedin()) {
    $firstname = getuserfield('firstname');
    $surname = getuserfield('surname');

    echo 'You\'re logged in, '.$firstname.' '.$surname.' ';
    echo '<a href="logout.php">Logout</a>';
} else {
    include 'loginform.inc.php';
}


?>

connect.inc.php


<?php

$mysql_host = 'localhost';
$mysql_user = 'root';
$mysql_pass = '';

$mysql_db = 'a_database';

if (!mysql_connect($mysql_host, $mysql_user, $mysql_pass) || !mysql_select_db($mysql_db)) {
    die(mysql_error());
}

?>

core.inc.php


<?php
ob_start();
session_start();

$current_file = $_SERVER['SCRIPT_NAME'];
if (isset($_SERVER['HTTP_REFERER'])&&!empty($_SERVER['HTTP_REFERER'])) {
    $http_referer = $_SERVER['HTTP_REFERER'];
}

function loggedin(){
    if (isset($_SESSION['user_id']) && !empty($_SESSION['user_id'])) {
        return true;
    } else {
        return false;
    }   
}

function getuserfield($field){
    $query = "SELECT $field FROM users WHERE id = '".$_SESSION['user_id']."'";
    if ($query_run = mysql_query($query)) {
        if ($query_result = mysql_result($query_run, 0, $field)) {
            return $query_result;
        }
    }
}

?>

loginform.inc.php


<?php

if (isset($_POST['username']) && isset($_POST['password'])) {
    $username = $_POST['username'];
    $password = $_POST['password'];

    $password_hash = md5($password);

    if (!empty($username) && !empty($password)) {
       
        $query = "SELECT id FROM users WHERE username = '".mysql_real_escape_string($username)."' AND password = '".mysql_real_escape_string($password_hash)."'";
        if ($query_run = mysql_query($query)) {
            $query_num_rows = mysql_num_rows($query_run);
            if ($query_num_rows==0) {
                echo "Invalid username/password combination.";
            } else if ($query_num_rows==1) {
                $user_id = mysql_result($query_run, 0, 'id');
                $_SESSION['user_id'] = $user_id;
                header('Location: index.php');
            }
           
        }

    } else {
        echo "You must supply username and password.";
    }
   
}

?>
<form action="<?php echo $current_file; ?>" method="POST">
    Username: <input type="text" name="username" value="<?php if (isset($username)) { echo $username; } ?>">
    Password: <input type="password" name="password">
    <input type="submit" value="Login">
</form>

logout.php


<?php
require 'core.inc.php';
session_destroy();
header('Location: '.$http_referer);
?>

register.php


<?php
require 'core.inc.php';
require 'connect.inc.php';

if (!loggedin()) {
    if (isset($_POST['username'])&&isset($_POST['password'])&&isset($_POST['password_again'])&&isset($_POST['firstname'])&&isset($_POST['surname'])) {
        $username = $_POST['username'];

        $password = $_POST['password'];
        $password_again = $_POST['password_again'];
        $password_hash = md5($password);

        $firstname = $_POST['firstname'];
        $surname = $_POST['surname'];
        if (!empty($username)&&!empty($password)&&!empty($password_again)&&!empty($firstname)&&!empty($surname)) {
            if ($password!=$password_again) {
                echo 'Passwords do not match.';
            } else {
                $query = "SELECT username FROM users WHERE username = '".mysql_real_escape_string($username)."'";
                $query_run = mysql_query($query);

                if (mysql_num_rows($query_run)==1) {
                    echo $username.' is already exists.';
                } else {
                    $query = "INSERT INTO users VALUES ('', '".mysql_real_escape_string($username)."', '".mysql_real_escape_string($password_hash)."', '".mysql_real_escape_string($firstname)."', '".mysql_real_escape_string($surname)."')";
                    if ($query_run = mysql_query($query)) {
                        header('Location: register_success.php');
                    } else {
                        echo 'Sorry, we couldn\'t register you at this time. Try again later.';
                    }
                   
                }
               
            }
           
        } else {
            echo 'All fields are required.';
        }
       
    }
?>
<form action="register.php" method="POST">
    <table>
        <tr>
            <td>Username:</td>
            <td><input type="text" name="username" maxlength="30" value="<?php if (isset($username)) { echo $username; } ?>"></td>
        </tr>
        <tr>
            <td>Password:</td>
            <td><input type="password" name="password"></td>
        </tr>
        <tr>
            <td>Pass again:</td>
            <td><input type="password" name="password_again"></td>
        </tr>
        <tr>
            <td>Firstname:</td>
            <td><input type="text" name="firstname" maxlength="40" value="<?php if (isset($firstname)) { echo $firstname; } ?>"></td>
        </tr>
        <tr>
            <td>Surname:</td>
            <td><input type="text" name="surname" maxlength="40" value="<?php if (isset($surname)) { echo $surname; } ?>"></td>
        </tr>
        <tr>
            <td></td>
            <td></td>
            <td><input type="submit" value="Register"></td>
        </tr>
    </table>
</form>
<?php
} else if (loggedin()) {
    echo 'You\'re already registered and logged in.';
}


?>


Sunday, January 26, 2014

Notepad++ for Windows


Notepad++ is a free (as in "free speech" and also as in "free beer") source code editor and Notepad replacement that supports several languages. Running in the MS Windows environment, its use is governed by GPL License.
Based on the powerful editing component Scintilla, Notepad++ is written in C++ and uses pure Win32 API and STL which ensures a higher execution speed and smaller program size. By optimizing as many routines as possible without losing user friendliness, Notepad++ is trying to reduce the world carbon dioxide emissions. When using less CPU power, the PC can throttle down and reduce power consumption, resulting in a greener environment.
Screenshot

I hope you enjoy Notepad++ as much as I enjoy coding it.

برنامج notepad++ هو برنامج رائع في تطوير وتصميم المواقع لمستخدمي الويندوز وبه العديد من المميزات التي تساعد المطور في كتابة برامجه على أفضل وجه وهو برنامج مجاني مفتوح المصدر .

TextMate for Mac


TextMate brings Apple's approach to operating systems into the world of text editors. By bridging UNIX underpinnings and GUI, TextMate cherry-picks the best of both worlds to the benefit of expert scripters and novice users alike.
Project Window
Whether you are a programmer or a designer, the production of code and markup is hard work. Without an editor dedicated to the task, it is also often cumbersome, overwhelming, and repetitive. Especially when you are dealing with a lot of files at once — like most projects do. TextMate puts you back in control, reduces the mental overhead, and turns manual work into something the computer does.
Fonts And Colors
Created by a closet UNIX geek who was lured to the Mac platform by its ease of use and elegance, TextMate has been referred to as the culmination of Emacs and OS X and has resulted in countless requests for both a Windows and Linux port, but TextMate remains exclusive for the Mac, and that is how we like it!
TextMate is not an IDE but by using its powerful snippets, macros, and unique scoping system, it can often provide features that even a language specific IDE lacks. It has enough project management features to keep most users happy, but is otherwise kept lightweight with a clean and minimalistic GUI.

Command Editor 

TextMate من البرامج المميزة جداً والمعروفة من قبل مستخدمين الماك فهو برنامج رائع في البرمجة وتطوير المواقع وكتابة الأكواد بطريقة سهلة ومميزة ومنظمة يتميز بوجود compiler بداخله لمعظم لغات البرمجة مع صغر حجمه وتقبله للأنظمة القديمة ويمكن من عمل مشاريع منظمة مع العلم أنه مخصص للـ mac os x فقط


Saturday, January 25, 2014


Developer X Tricks


html : index.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8" />
    <title>popup window demo</title>
    <!-- Copyrights Ahmed Al Ansaary -->
    <link rel="stylesheet" type="text/css" href="popup.css">
    <script type="text/javascript" src="popup.js"></script>
</head>
<body>
    <div id="popup">
        <div id="popup_header">
            <div class="popup_header_title">popup title</div>
            <div class="popup_header_btn" onClick="popup('close');">x</div>
            <div class="popup_header_btn" onClick="popup('resize');">+</div>
            <div class="popup_header_btn" onClick="popup('minimize');">-</div>
        </div>
        <div id="popup_content">this is the content of this popup...</div>
    </div>
    <button onClick="popup('show');">show popup window</button>
</body>
</html>

css : popup.css


/*Copyrights Ahmed Al Ansaary*/
*{
    margin: 0px;
    padding: 0px;
}
#popup{
    width: 0px;
    height: 0px;
    position: fixed;
    left: 50%;
    top: 50%;
    margin-left: -200px;
    margin-top: -200px;
    border: 0;
    border-radius: 5px;
    box-shadow: 0px 0px 20px #666;
    overflow: hidden;
    transition: all .5s;
}
#popup_header{
    position: absolute;
    width: 100%;
    height: 25px;
    background-color: #666;
    top: 0px;
    z-index: 6;
    overflow: hidden;
    cursor: default;
}
.popup_header_btn{
    width: 20px;
    height: 20px;
    margin: 2.5px;
    float: right;
    background-color: #444;
    color: #fff;
    text-align: center;
    border: 0;
    border-radius: 5px;
    cursor: default;
    z-index: 7;
    transition: all .3s;
}
.popup_header_btn:hover{
    background-color: #555;
}
.popup_header_title{
    margin: 2.5px;
    margin-left: 5px;
    float: left;
    color: #fff;
    text-shadow: 1px 1px 5px #333;
}
#popup_content{
    position: absolute;
    width: 100%;
    height: 100%;
    padding-top: 25px;
    margin: 5px;
    z-index: 5;
}

javascript : popup.js


/* Copyrights Ahmed Al Ansaary */
function popup (x) {
    var popup = document.getElementById('popup');
    switch(x){
        case "show":
            popup.style.width = "400px";
            popup.style.height = "400px";   
            break;
        case "minimize":
            popup.style.width = "200px";
            popup.style.height = "25px";   
            break;
        case "resize":
            if (popup.style.width == "100%") {
                popup.style.width = "400px";
                popup.style.height = "400px";
                popup.style.top = "50%";
                popup.style.left = "50%";
                popup.style.marginLeft = "-200px";
                popup.style.marginTop = "-200px";   
                break;
            } else{
                popup.style.width = "100%";
                popup.style.height = "100%";
                popup.style.top = "0px";
                popup.style.left = "0px";
                popup.style.marginLeft = "0px";
                popup.style.marginTop = "0px";
                break;
            }
        case "close":
            popup.style.width = "0px";
            popup.style.height = "0px";   
            break;
    }
   
}

Friday, January 24, 2014




دي شوية إضافات للفوتوشوب ناس كتير طلبتها مني , وأنا آسف جدا على التأخير , وهانزل شرح تركيب الإضافات , أنا اللي مأخرني اليومين دول اني بأفكر أخلي الشرح أونلاين مش أوفلاين ان شاء الله هاكتبه بلغة HTML5 وهيكون تفاعلي برضو , وإن شاء الله هايعجبكو جداً
http://www.mediafire.com/?6bk0rf368i6a8xe
http://www.mediafire.com/?97sk3cva6cjmp5f
http://www.mediafire.com/?c0z8cry7p9cedgv
http://www.mediafire.com/?tyc59cgswxkm3mi
http://www.mediafire.com/?cjs3l761tnn61rm
http://www.mediafire.com/?it7w872ass28lis




الدرس الثاني : التعامل مع الملفات .
http://www.mediafire.com/?ppeac9dzh2nmopa
إبتداء من الدرس اللي جاي ان شاء الله هاندخل في الجد وهنبدأ برغبة الجماهير إضافة الـ Plugins
(فلترات - تدريجات - فرش - اسكوتات - خطوط -وحاجات من اللي قلبك يحبها)

كورس الفوتوشوب (تفاعلي)
الدرس الأول : التعرف على البرنامج .
http://www.mediafire.com/?r3t3vb8fe3odw26
جاري رفع نسخة الفوتوشوب المستخدمة في الشرح
أنا استخدمت نسخة قديمة شوية وعربي علشان أضمن انها تشتغل على أي امكانيات
الفروقات بينها وبين الجديد مش كتيير أوي ,, ان شاء الله هأوضحها في الشرح
أنا نفذت فكرة جديدة في الشرح انه يكون تفاعلي بمعنى ان مش أنا هاشتغل وانت هاتتفرج
لا إنت هاتشتغل بايديك وهاتتنقل من خطوة لخطوة بنفسك (يا رب الفكرة تعجبكم)
أنا نزلت الدرس الأول كتجربة لو في أي استفسارات أو اضافات أو اقتراحات أنا في الخدمة

Powered by Blogger.
Subscribe to RSS Feed Follow me on Twitter!