Friday, February 5, 2016

Red X, Micrsoft Chart control drawing exception "Collection was modified; enumeration operation may not execute"



Microsoft Chart Control: What a Silly Exception!



Hey, most of developers who use Microsoft chart control will face that message and Red X message.

Case
It is required in some application that it draws charts and this chart is dynamically refreshed based on schedule, For example, chart is drawing latency rate for restaurant latency service, this chart will be motioned every time, to get the new calculation after new entered customer.

Cause
Simply, the root cause of this exception is that data source of chart is modified by background thread, while chart self is drawn by main thread. OnPaint (main method for painting for windows form) can't handle this exception and so it raise this exception and draw nothing

The following code will raise the exception


















As you see, the method doTask is called from background thread, that is responsible to draw charts based on data sourced changed every one minuter.



Solution
.Net framework provide property to check if invoke for thread is required or not, if required, so all what you need to to invoke method directly through delegate

The below correct the situation



Regards
Hany Mohamed


Friday, June 6, 2014

#إحنا_كدا_كدا_كنا_متراقبين

 
 
بعد الكلام الكتير اللي لاقيته علي الفيس بخصوص البيان الذي اصدرته وزارة الداخلية لمراقبة مواقع التواصل الاجتماعي، وبحكم اني قريت في ابحاث في الموضوع دا، فكان الزام عليا اني اوضح بعض الابعاد التقنية وهجاوب فيها علي الاسئلة دي
1. يعني ايه احنا متراقبين؟
2. وهوا فعلا احنا مكناش متراقبين وهنبقي متراقبين، ولا ايه الموضوع؟
3. ليه وزارة الداخلية طلعوا البيان دا دلوقتي ؟
4. ايه الوسائل التقنية المستخدمة في موضوع المراقبة دا
5. هل الفتاوي بانك تعمل البروفايل بتاعك برايفت ومضافش اي حد دي مفيدة ولا لا؟
6. ايه اللي هيأمني من موضوع المراقبة دا؟

1. متراقب يعني شخص ما يتابع تحركاتك علي مواقع التواصل الاجتماعي ويعف ايه توجهك وايه ردود افعالك نتيجة مايحدث علي الساحة وايه الحاجات اللي بتابعها وبتنشرها دايما ومين اصحابك اللي بتعلق عليهم علي طول ومدي تفاعلك معاهم.

2. هواحنا كنا متراقبين ولا الموضوع جديد؟
حضرتك اول مااخترعوا حاجة اسمها فيس بوك وتويتر، وبقي في ناس في امن دوله اللي متخصصين في مجال التكنولوجيا يتابعوا الشخصيات المؤثرة علي مواقع التواصل الاجتماعي يعني اللي بيتابعهم ناس كتير لانهم دول اللي بيقدروا يكونوا رأي قد يكون هوا السائد بعد ذلك، علشان كدا لازم يتراقبوا ويشوفوا مدي استجابة الناس ليهم ، ولوا حسوا انهم فعلا ليهم صدي كبير بيحطوهم في البلاك ليست، وفي منهم ناس بيتقبض عليهم ، علشان كدا باختصار الموضوع مش جديد ، دا من قديم الازل

3. ليه وزارة الداخلية طلعت البيان بانهم هيراقبوا ؟
هرد عليك في السؤال دا بالذات بسؤال ، هوا في حد لما بيراقب حد بيقوله انا هراقبك !!
الاجابة: اكيد مفيش
الغرض من البيان دا هوا نوع من انواع التهديد لنشطاء التواصل الاجتماعي انهم يتهدوا شوية من اللي بيتكبوه والا هيتحبسوا، يعني باللغه الدارجة دا بيان علشان يهت الشباب اللي بيكتبوا وخصوصا الفترة دي اللي مش عاوزين يسمعوا فيها صوت معارضة واحد. لكن هم كدا كدا كانوا متراقبين والموضوع مش جديد واسماء الناس دي معروفة شخص شخص ومن غير مبالغة.

4. ايه الوسائل التقنية المستحدثة واللي وزارة الداخلية هتستخدمه
دلوقتي احنا اتأكدنا اني هم كدا كدا بيراقبوا من زمان وكل المعلومات عارفينها عن الناس، الكلام دا كان بيتم بشكل شبه يدوي، يعني اللي اتفرج علي فيلم #المندس هيفهم انك تراقب حسابات الاشخاص دي حاجة سهله جدا وتعرف توجهه وتحركه وتفكيره بسهوله ودا اللي وصله لمعلومات مهمه واللي شرحها في الفيلم وكان دليل وخيط للقضية بتاعته ، تخيلوا بقي فيه تيم كامل قاعد واكل شارب نايم علي الموضوع دا وتقدروا تتخيلوا كمية المعلموات االي يقدروا يجمعوها من المواقع دي ، دي الطريقة الشبة يدوي، التقنيات الحديثة واللي بيتصرف عليها ملايين ملايين في شركات في امريكا وانجلترا علي وجه الخصوص علشان تقدر تحلل كمية البيانات المهوله علي مواقع التواصل الاجتماعي لحظيا. وايه اللي استفيدوا من تحليل البيانات دي؟
1. تقدر تعرف الرأي العام او المزاج العام السائد ايه لحظيا ناحية قضية معينة او بشكل عام .
2. تقدر تشوف ايه المناطق او الاعمار اللي عندها مشاكل في التعامل مع قضية معينة
3. تقدر تعرف ايه مصدر الاشاعات اللي بتتروج علي مواقع التواصل الاجتماعي واللي بتهيج الرأي العام
4. تقدر تقوم برد فعل عكسي لللاشاعات المروجة بارسال تعليقات بشكل اوتوماتيك تهدي من الراي العام
5. تقدر تستغل امكانية انك تنشر اشاعة وتروجها وتشوف ايه رد الفعل قبل متاخد القرار
إلخ إلخ إلخ

والناس المتخصصة في مجال علوم الحاسب يقدر يطلعوا علي المجالات دي الي بتستخدم في التطبيقات من النوع دا
(Social network analysis, emotion mining, text mining, NLP, machine learning)

5. هل الفتاوي بانك تعمل البروفايل بتاعك برايفت ومضافش اي حد دي مفيدة ولا لا؟
دي بالظبط زي اللي بيقولك "اطرش في الزفة" ، يعني حضرتك بتعمل بروفايل علشان تقول رأي السياسي او تقول توجهك، يبقي اكيد بتقول كدا علشان تنشره ، مش علشان تخبية وسط صحابك ، لو كل واحد اتقبض عليه علشان بيقول رأيه السياسي او نشر حاجه تعارض النظام يبقي شباب مصر كلهم هيبقوا في السجن #عادل_إمام_ستايل.
القصد ، اني التركيز بالنسبة للداخلية بيكون علي الشخصيات المؤثرة اللي بيتابعها الاف الاشخاص ، اللي بيوجهوا الناس لفكر معين ، هوا دا بيبيقي الخوف منهم مش انت ياللي عندك 500 او الف صديق حتي!

ومن الناحية التقنية، حضرتك لو عامل بروفايل برايفت زي مبتقول، وحد من صحابك عمل شير للبوست دا، البوست بتاعك ممكن يتنشر زي الجراد ، ووقتها بيتعرف تحركاتك ، وممكن يتقبض عليك بسبب بوست واحد!
لو خايف بجد ومقلق قوي كدا ومش مقتنع بالكلام دا ، يبقي متتكلمش في السياسة احسن لك

6. ايه اللي هيأمني من موضوع المراقبة دا؟
حضرتك لو شخصية مؤثرة فعلا وعندك متابعين كتير، وبتتكلم في السياسة ومعارض طبعا:)، انك تعمل صفحة من غير متحدد هويتك ، وتنشر فيها ارائك اللي عاوز تنشرها ، وتنشرها من خلال صفحتك ، دي من وجهة نظري الطريقة الامثل علشان تأمن نفسك

ملحوظة: انا مش شغال في الداخلية ولا الجيش علشان اقول دا كلام اكيد وموثق، لكن الكلام دا منتشر في العالم كله والعالم كله سابقنا فيه من سنين وبيتصرف عليه ملايين زي مقلنا ، اقوي واحدث تطبيق اتعمل من قريب كان مشروع اسمه Emotiv لباحثين في انجلترا ودا اخد كريدت عالي وكان ممول من وزارة الدفاع الريطانية!، وبلاد الحريات بتطبق الكلام دا فعلا للحفاظ علي الامن القومي وتتابع باستمرار التهديدات اللي بتمس بلدهم، بدون الاساءة للحريات او تجريم حرية الرأي عندهم!

بعد الكلام الكتير دا ، يبقي المفروض نرد علي الداخلية ، مش #إحنا_متراقبين، نقولهم #إحنا_كدا_كدا_كنا_متراقبين

#مفيش_جديد
#العبوا_غيرها
#إحنا_كدا_كدا_كنا_متراقبين
هاني محمد