المبرمج والعمل بالسخرة للمعارف

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


هنالك نوعين من الأعمال في العالم، نوع يقدم سلع Products  ونوع يقدم خدمات Services

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


المشكلة في تقبل الناس للنوع الثاني الذي يقدم الخدمات.

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

مثال آخر حينما تذهب لتحلق عن الحلاق، فإنه يقدم لك خدمة، ولا يعطيك سلعة.

كذلك المبرمج والمصمم وأغلب فنيي الحاسوب، يقدمون خدمات.

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


أصدقائي وأحبائي، الكثير منهم لا يستوعب هذا الأمر، وهو أمر أعاني منه بشكل شبه يومي.


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




صديق آخر طلب مني أن أخدمه في مشروع تخرج صغير ( عبارة عن جدولين ) فقلت له وقتي ضيق، فقال سأدفع، قلت له ساعتبرها هدية وستكون مبلغ 100 دولار، فقال لي لا مشكلة.

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

بعد نهاية المشروع حسبت وإذا بي قد عملت على مشروعه ما يزيد عن 140 ساعة ( وقد اضطررت لأطلب من صديق مساعدة لكي ننهي المشروع).


انتهى المشروع وحصل صديقي على ما لم يحصل عليه أحد جراء المشروع، لم أتلقى الشكر اللازم، وقلت لصديقي سأحسب أنني عملت بدلا من 140 ساعة فقط 100 ساعة، والساعة نجعلها 3 دولار ( مع ان ساعتي من 17 - 30 دولار وتصل في أحيان الى 60 دولار ).

أي أن كل عملي سيكون 300 دولار، فاستهجن صديقي الموضوع، وقال لي اتفقنا على 100 دولار، أخبرته أنها كانت حينما كان المشروع جدولين، وكان علي فقط أن أساعدك ولا أن أعمل المشروع كامل، أيضا ثمن الاستضافة هو 50 دولار والتي دفعتها مني.

بعد عناد منه طويل( خلاص المشروع انتهى، وإما أقبل أو لا ) وافقت على مبلغ 147 دولار ، ذهب منهم 47 دولار لصديقي الذي عمل 40 ساعة معي، وأنا أخذت 100 دولار، وهي بالمناسبة لا تساوي ثمن الحذاء الذي يلبسه ليتباهى به أمام الناس، أي أني لا أساوي...


لو أن هذه الساعات قضيتها مع عائلتي، أو أدرس كتاب، أو أحسن مواقعي، أو أكتب مقالات، أو أتم عمل لعميل، لكانت استفدت أضعاف الأضعاف،



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



ما الهدف من المقال هذا:


  • الهدف إذا كنت مبرمج محترف،

  •  ألا تعمل مجانا لأحد مهما كان، فالعمل عمل، ولا داعي للعواطف إلا لأمك أو أبيك أو إخوتك،

  •  إذا عملت لشخص وخصوصا إذا كان قريب، إبدأ بتسجيل شاشتك لكي تخبره أنك عملت عدد ساعات كذا لتحاسبه بدون زعل.

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

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

  • إذا المرء لا يرعاك إلا تكلفا ... فدعه ولا تكثر عليه التؤسفا


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



مشكلة عدم تعارف هواتف اللوميا على الويندوز 8

واجهتني مشكلة منذ يومين وهي عدم تعارف هاتف اللوميا 925 Nokia Lumia  على الويندوز 8 Windows ، والحمد لله حلت بعد عناء.

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

ولكن ما واجهني مشكلة أخرى ليست منها وبعد عناء كان الحل كالتالي:
نسخة الويندوز المنصبة على الجهاز كانت Windows 8 Enterprise N
 انتبهوا للحرف N
 هذا معناه بدون Media Features

ويجب تنصيب هذه الحزمة لكي يتعرف على الجوال ويكون به خصائص إضافية أخرى.
توجد عدة طرق لتنصيب الحزمة أسلها تحميلها من هذا الرابط.
Media Feature Pack for N and KN versions of Windows 8

ما هو مشروع روزلين (Roslyn Project)

مشروع Roslyn ومنذ صدوره، كان يحومه الغموض بالنسبة لي كمبرمج دوت نت ( سي شارب و فيجوال بيسك دوت نت ) ، وحقيقة انتظرت لحظة إعلان مايكروسوفت بشكل نهائي عنه لأكتب عنه. إذا ما هو ؟

عند البرمجة في الدوت نت ، سيكون كل شيء تحت يدك ، وكل الامكانيات التي حلمت بها أو لم تحلم بها بين يديك، حتى الفيجوال ستوديو نفسه IDE يمكنك البرمجة والتعديل عليه من خلال Visual Studio SDK ، وعمل إضافات وتعديلات مذهلة . الوصول لشيفرة IL وحتى بناء لغة برمجة خاصة بك، ولكن ما لا تستطيع عمله أو فهمه أو لمسه ، هو المترجم Compiler فهو ملك مايكروسوفت وكنزها الثمين وكهف أسرارها المظلم.

الآن مايكروسوفت سمحت لك بلمس هذا الكنز الثمين، وصنعت مجموعة دوال APIs للتعامل مع المترجم وصنع ما لم تكن تحلم به.

بل وأكثر من ذلك، طرحت المشروع كامل مفتوح المصدر تحت رخصة أباتشي 2.0 ، ويمكنك تحميل المتطلبات من هنا
 .NET Compiler Platform ("Roslyn")

بعد ذلك يمكنك إنشاء مشروع جديد ، أو يمكنك وضع المكتبات في مشروع سابق - كما هو برالباط بالأعلى عبر Nuget - والقيام بتجربة أمور جديدة.

حاليا لا أملك الكثير لأعرضه وأسأل الله أن يفتح لي هذا الباب المرتجي

إضافة دالة DownloadStringTaskAsync إلى فئة WebClient

حسنا، يبدو العنوان غريبا، ولكن في الويندوز فون 8 Windows Phone لا توجد دالة مباشرة في فئة WebClient لكي تقوم بعمليات قراءة من الويب بطريقة async كاملة كما في الدوت نت 4.5
الأمر لا يبدو هام، ولكن من تعود على مزايا الدوت نت 4.5، وسهولة كتابة الكود، سيشعر بأن هنالك نقص ما، ولكن لا تقلق
قام فريق من المحترفين باعادة صنع أغلب الدوال الموجودة في الويندوز فون والتي لا تتوافق مع مفاهيم الدوت نت 4.5 للبرمجة الغير متزامنة ، وجعلها غير متزامنة كما لو أنك تكتب في المنصة 4.5
كل ما يلزمك أن تقوم بتنصيب مكتبة Microsoft Async
والمتوفرة مباشرة على NuGet من خلال Microsoft Async من خلال الأمر التالي
        Install-Package Microsoft.Bcl.Async 



وحينها يمكنك الاستمتاع بكتابة الأسطر التالية
    WebClient wc2 = new WebClient(); 
string all = await wc2.DownloadStringTaskAsync(new Uri(rss.Link1));
بالتوفيق