d خليل سليم – الصفحة 3 – مدونة الفريق

الكاتب: خليل سليم

  • تعهيد البرمجيات، فشل وطني فلسطيني كبير

    إن ما تتسابق عليه شركات البرمجيات هذه الفترة هو تشغيل الشباب في الشركات الإسرائيلية وكسب مبلغ جراء استضافتهم، وهذا أحد أكبر مؤشرات الفشل الحكومي سواء في غزة أو الضفة، لأن التعهيد outsourcing لا يبني اقتصاداً ولا يطور قطاع البرمجيات بالشكل المطلوب.

    الصفحات: 1 2

  • دور الجامعات والحاضنات في تطوير قطاع تكنولوجيا المعلومات في فلسطين.

    دور الجامعات والحاضنات في تطوير قطاع تكنولوجيا المعلومات في فلسطين.

    https://www.facebook.com/khalilme

    الجامعات في كل العالم لها دور أساسي، ألا وهو تعليم الطالب الأسس التقنية، وليس تحضيره ليكون جاهزاً لسوق العمل، هذه النقطة تواجهها جامعات العالم وليس استثناء حالتنا الفلسطينية.

    صحيح أن على الجامعات أن تتعاون مع شركات القطاع الخاصة باكراً في التدريب أو حتى تعريف الطالب بالسوق للاستعداد له، أو جلب خبراء دائمين وربطهم مع الطلاب.. إلخ، إلا أن هذا يبقى مؤثر ثانوي وليس أساسي.

    الصفحات: 1 2

  • حل مشكلة The value  is not valid for XXXX.

    حل مشكلة The value is not valid for XXXX.

    في ASP.NET Core إذا قمت بربط النموذج Model من نوع Decimal or float or double مع واجهة المعراض View مباشرة أو عبر ViewModel سيظهر لك خطأ The value is not valid for ، وهي عدم إمكانية إرسال القيمة المدخلة من المعراض View إلى النموذج Model، وتظهر عند محاولتك إرسال أرقام كسرية فقط، أما الأرقام الصحيحة فتعمل بكفاءة، ولا تظهر في الأغلب حين تكون لغة المسار Thread إنجليزية أو لغة متناسقة مع الصيغة المعيارية.

    سبب المشكلة هو صيغة النص والفاصلة بين الرقم الصحيح وكسره، ولحل هذه المشكلة، يجب أن نقوم بإرسال حاشية البيانات DataAnnotations في النموذج لتوضيح وتخصيص صيغة النص المدخل.

    الخطوة الأولى هي إنشاء فئة Class كما في الكود التالي:

    using Microsoft.AspNetCore.Mvc.ModelBinding;
    using System.Globalization;
    using System.Threading.Tasks;
    
    public class DecimalModelBinder : IModelBinder
    {
        public Task BindModelAsync(ModelBindingContext bindingContext)
        {
            var valueProviderResult = bindingContext
                .ValueProvider
                .GetValue(bindingContext.ModelName);
    
            var cultureInfo = new CultureInfo("en");
    
            decimal.TryParse(
                valueProviderResult.FirstValue,
                NumberStyles.AllowDecimalPoint,
                cultureInfo,
                out var model);
    
            bindingContext
                .ModelState
                .SetModelValue(bindingContext.ModelName, valueProviderResult);
    
            bindingContext.Result = ModelBindingResult.Success(model);
            return Task.CompletedTask;
        }
    }
    

    ثم تقوم باستدعائها كحاشية توصيفية للبيانات في نموذج المعراض ViewModel

            [ModelBinder(BinderType = typeof(DecimalModelBinder))]
            public decimal Price { get; set; }

    من الواضح أن المشكلة في قراءة البيانات من المعراض لذلك لا داعي لإضافة هذا التوصيف في النموذج Model فقط نكتفي في نموذج المعراض ViewModel

    هناك طريقة أخرى لحل هذه المشكلة عن طريق jquery عبر هذا الرابط

    بالتوفيق

  • ويندوز 11 : إعادة خاصية عدم التجميع في شريط المهام وغيرها

    ويندوز 11 : إعادة خاصية عدم التجميع في شريط المهام وغيرها

    أعادت شركة مايكروسوفت تصميم شريط المهام في ويندوز 11 بطريقة مختلفة قليلاً عما اعتدنا عليه في ويندوز 10، ومن ضمن التغييرات التي أجرتها أنها أجبرت كافة أيقونات البرامج في شريط المهام على التجميع، وألغت خيار عدم التجميع never combine taskbar

    هذه الخاصية تم إلغاءها من الويندوز 11

    شكل خيارات شريط المهام الجديدة في ويندوز 11

    ولإعادة هذه الخاصية مع خصائص أخرى، مثل إعادة الخيارات الأساسية في القائمة المنسدلة عند النقر على أي أيقونة، يمكن استخدام هذه المكتبة المجانية

    https://github.com/valinet/ExplorerPatcher

    الخطوات:

    • قم بتحميل ملف ال dxgi.dll من هنا

    https://github.com/valinet/ExplorerPatcher/releases

  • قم بنسخ الملف إلى مجلد C:\Windows
  • قم بإعادة تشغيل الويندوز، أو قم بقتل المهمة explorer.exe
  • يمكنك قتل المهمة عبر تنفيذ هذا الامر في تشغيل taskkill /f /im explorer.exe

    قتل مهمة explorer.exe

    انتظر بعض الوقت لأن المكتبة ستقوم بتحميل بعض المكتبات من الإنترنت (قرابة 50 ميغا) وثم سيفتح الاكسبلورر من جديد أو قم بإعادة التشغيل إذا استغرق وقت طويل

    يمكنك الآن من لوحة المفاتيح كتابة Win+X

    ثم الخصائص

    ثم تفعيل خيار عدم التجميع

    ويمكنك تفعيل خيارات أخرى مثل إظهار القائمة المنسدلة

    إعادة قائمة الويندوز 10 المنسدلة في ويندوز 11
  • OnionShare لنقل الملفات بطريقة آمنة ومجهولة

    OnionShare لنقل الملفات بطريقة آمنة ومجهولة

    يمكنك برنامج OnionShare من نقل الملفات بينك وبين أي شخص بالعالم بطريقة آمنة كلياً، ودون الاعتماد على برمجيات نقل وسيطة سحابية أو غيرها، وهو نظام مجاني ومفتوح المصدر وسهل الاستخدام.


    البرنامج يعمل على بيئة الويندوز واللينكس والماك، ويمكنك تحميله من الموقع مباشرة OnionShare

    أما آلية النقل فهي سهلة:

    1- تقوم بإضافة ملف أو ملفات في الواجهة الأولى لمشاركة الملفات

    2- تضغط على مشاركة الملفات فيظهر لك رابط طويل تقوم بإرساله للشخص الذي تريد.

    3- يجب على الشخص أن يفتح الرابط عبر متصفح Tor أو عبر نفس البرنامج

    4- بعد الانتهاء من تحميل الملف، يمكنك إيقاف المشاركة.

    5- لا يتم تحميل الملف إلا والبرنامج شغال، الأمر أقرب لإنشاء VPN بين جهازك وجهازه أو أقرب لخدمة التورنت، حيث يكون جهازك هو المرسل.

    والله ولي التوفيق

  • محاكاة الحياة

    محاكاة الحياة

    مع إنتشار العالم الافتراضي، سيميل الناس إلى تجربة كل شيء إلكترونياً عبر بيئة افتراضية.هل ترغب أن تمارس عملك كضابط شرطة، حسنا تفضل هذه اللعبة لمحاكاة ما تتمنى، لربما ترغب أن تكون بائع، أو تسافر بطائرة، أو أن تمارس المحاماة، أو لعلك تود تجربة الصيد في البراري، ولربما تود تجربة القتل، أو الاغتصاب، أو الحرب، أو لربما تود أن تجرب حياة جديدة افتراضياً كما في لعبة Second Life أو The Sims ، بل لربما تود أن تجرب حياة غنمة أو كلب ضائع، وتجرب احساس أن تقول هاو هاو.

    أبسط الأمور لها محاكي كامل، لعبة محاكاة تجميع جهاز حاسوب، محاكي أن تكون في خدمة العملاء في الإسعاف، محاكي الزواج، محاكي الانجاب، من البسيط إلى المركب إلى حياة كاملة، وقد تعلمت الشركات ماذا يجذب البشر، ليبقوا حبيسي الألعاب باستخدام تقنيات السيطرة الاجتماعية والمكافآت.

    مع تقدم التكنولوجيا ونظارات العالم الافتراضي لربما نصل إلى ما توقعه فيلم Surrogates، سيصبح البشر أكثر كسلاً، وأقل شغفاً، فكل شيء يمكن محاكاته في المنزل، دون تعب أن خسارة ولربما بإثارة أكثر من الواقع، وسيؤدي هذا إلى ضعف الزواج وضعف الانجاب وضعف التطوير والتعليم، وبالتالي سيطرة الآلة وفناء الجنس البشري.

    وهذه بعض المحاكيات

    Thief Simulator

    Goat Simulator

    112 Operator

    Microsoft Flight Simulator

    Trader Life Simulator

    PC Building Simulator

    Insurmountable

    American Truck Simulator

    Winter Resort Simulator

    Police Simulator

    Tank Mechanic Simulator

    Hunting Simulator

    Mech Mechanic Simulator

    Euro Truck Simulator

    Totally Accurate Battle Simulator

  • مشكلة طباعة الصور في ويندوز 10

    في تحديثها الأخير للويندوز، أرسلت مايكروسوفت بالخطأ مشكلة في طباعة الصور، إذ تظهر الصور مقتطعة بهذا الشكل المرفق، إذ تكون طوليا من المنتصف فارغة، لا تقلق لا مشكلة في طابعتك، إنها مشكلة ويندوز.

    شكل الصور المطبوعة

    وإلى هذه اللحظة لم يتم حل المشكلة من مايكروسوفت.كل البرامج تطبع بشكل سليم ( وورد، اكسل، أكروبات .. إلخ) ما عدا طباعة الصور في الويندوز،

    والحل يكمن في تحويل الصور إلى pdf ثم طباعتها من داخل برنامج قارئ pdf ، وستطبع بشكل سلس.

    أما كيفية تحويل الصور إلى pdf فعبر طباعتها ومن ثم اختيار نوع الطابعة، طابعة Microsoft PDF

    هذا وبالله التوفيق

  • الطريق إلى النجومية

    الطريق إلى النجومية

    لا يمكن لأي مبرمج أن يصل لدرجة الاحتراف دون أن يعكف يوميا على قراءة الكتب والمقالات التقنية، التي تصب في صلب تخصصه البرمجي الأساسي وتصب في الإطار المحيط بها.

    على سبيل المثال مبرمج ASP.NET عليه أن يقرأ سنويا عدة كتب عن التقنيات الحديثة في لغة البرمجة نفسها، وفي قواعد البيانات، وخوارزميات تحسين الأداء والحيل المتبعة من قبل المبرمجين.


    لا يكفي أن يتعلم بالتجربة والخطأ أو أن يتعلم من الراسبين الأمهر منه في المحيط ممن تعلموا عبر التجربة والخطأ وأيقنوا أن هناك خطأ أقل سوءاً من خطأ آخر، و لم يتعلموا من الكتب الصواب الأعلى بناء على تجارب الخبراء والشركات الكبرى.

    عليه أن يقرأ اي في محيط مجاله، مثل الجديد في تقنيات الويب، الجديد في الحماية والثغرات، الجديد في البروتوكولات وهكذا.من دون قراءة شبه يومية، لا أمل في النجومية، من دون قراءة كتب لتعطيك فهم عميق، ومقالات لتعطيك نقاط سريعة، لن يرتفع شأنك، الدورات والفيس لا تكفي.

    أخبرني كيف سيعرف المبرمج ما الجديد في لغة البرمجة وقواعد البيانات ويطبقها ما لهم يقرأ، كيف سيعرف التحسينات التي طرأت على لغة البرمجة ليستخدمها ما لم يقرأ، هل سيقوم بالبحث في الكتب فقط حينما تظهر له مشكلة ! هذا ليس صواباً، بل عليه القراءة وتطبيق ما يقرؤه دائماً في برمجته.

    إنها عملية متكاملة، قراءة فتطوير فتطبيق فقراءة.

  • نهاية الجنس البشري

    نهاية الجنس البشري

    وفي خبر عابر نقرأ : مايكروسوفت تستبدل موظفي العقود في شبكة MSN بالذكاء الاصطناعي


    الثورة الصناعية
    في القرن التاسع عشر قامت الثورة الصناعية عبر انتشار وإحلال العمل اليدوي بالمكننة، وقد فضل الإنسان الربح على أن يقوم بتشغيل أخيه، فقال له اجلس في البيت، المكنة ستعمل عملك، أنت ابحث عن شيء آخر
    ثورة الذكاء الصناعي
    في القرن الحادي والعشرين، أي بعد الثورة الصناعية الأولى بقرنين تمكن الإنسان من جعل الآلة أكثر ذكاء وقام باستبدال جزء آخر من اخوته البشر لتحقق الشركات ربحاً أكثر، فهو هذه المرة لم يكتفي فقط بإبعاد الأيدي العاملة، بل بدأ باستبدال العقول المفكرة أيضا.
    ثورة الروبوتات
    في القرن الثالث والعشرين، أي بعد ثورة الذكاء الصناعي، تمكنت الآلات من تنظيم حياة البشر على نحو مطرد، فأصبح البشر بحاجة للروبوتات لتحكمهم ضمن نظام متقن لا يمكن للبشر فيه الخسارة أو ايذاء بعضهم البعض، وبدأت الالات تتنفذ في البشر كما خطط البشر لذلك، وأصبحت الكلمة العليا للآلات
    _____________________
    لعل الخبر هذا مرعب بشكل لا نتخيله ! القادم مرعب

  • Accessibility and legislation

    Accessibility and legislation

    Most countries around the world have adopted and ratified the United Nations Convention on the Rights of Persons with Disability (UNCRPD)

    To date, the UNCRPD has been signed by 164 countries and ratified (or made legally binding) by 180.

    The United Nations Convention on the Rights of Persons with Disability

    The UNCRPD was adopted in December 2006 and entered into force in 2008. It builds upon previously documents related to people with disabilities such as the World Programme of Action on Disabled Persons (1982).

    The Convention was adopted as a response to what was deemed an overlooked development challenge. The World Health Organisation (WHO) estimates that approximately 25% of the world’s population is affected by disability, and 80% of the world’s people with disabilities live in low-income countries.  It was deemed that people with disabilities were being denied their human rights. 

    “The convention sets out the legal obligations on States to promote and protect the rights of persons with disabilities. It does not create new rights.” sets out the legal obligations on States to promote and protect the rights of persons with disabilities. It does not create new rights.” United Nations: The Convention in Brief 

    UNCRPD is the document most cited in respect to digital accessibility. It is a commitment by those countries which have signed and ratified the Convention that they will abide by the policies.  

    People with disability have the right to access all aspects of society on an equal basis with others including the physical environment, transportation, information and communications, and other facilities and services provided to the public. 

    In addition to being signatories to the UNCRPD and agreeing to abide by that Convention, most countries have adopted their own methods for governing digital accessibility internally.  For some countries, the requirements only apply to government organizations, and in others, it applies to both public and private organizations. However most require compliance with the W3C Web Content Accessibility Guidelines (WCAG) 2.0 or 2.1. For instance:

    • Australia uses the Disability Discrimination Act of 1992 which applies to both public and private sector organizations, basing their requirements on WCAG 2.0.
    • Canada uses the Canadian Human Rights Act of 1985 which applies to both public and private sector organizations. Canada also has the Policy on Communications and Federal Identity, 2016 which applies to government organizations and is based on WCAG 2.0.
    • The European Union currently has the Web Accessibility Directive and the European Accessibility Act, which use WCAG 2.1.
    • The United States has a number of laws and requirements some of which are based on WCAG 2.0 and others no different variations, some applying to public and private sector and others to one or the other.
    • The United Kingdom has the Equality Act, 2010 which is a non-discrimination law applying to both public and private sector organizations and is based on WCAG 2.0.