Posted on ژوئن 26, 2009 by شارپدیا
۱) ما، گروهی از وبلاگنویسان ایرانی، برخوردهای خشونتآمیز و سرکوبگرانهی حکومت ایران در مواجهه با راهپیماییها و گردهمآییهای مسالمتآمیز و بهحق مردم ایران را به شدت محکوم میکنیم و از مقامات و مسوولان حکومتی میخواهیم تا اصل ۲۷ قانون اساسی جمهوری اسلامی ایران را – که بیان میدارد «تشكيل اجتماعات و راه پيمايیها، بدون حمل سلاح، به شرط آنکه مخل به مبانی اسلام نباشد، آزاد است» – رعایت کنند.
۲) ما قانون شکنیهای پیشآمده در انتخابات ریاست جمهوری و وقایع غمانگیز پس از آن را آفتی بزرگ بر جمهوریت نظام میدانیم و با توجه به شواهد و دلایل متعددی که برخی از نامزدهای محترم و دیگران ارائه دادهاند، تخلفهای عمده و بیسابقهی انتخاباتی را محرز دانسته، خواستار ابطال نتایج و برگزاریِ مجدد انتخابات هستیم.
۳) حرکتهایی چون اخراج خبرنگاران خارجی و دستگیری روزنامهنگاران داخلی، سانسور اخبار و وارونه جلوه دادن آنها، قطع شبکهی پیام کوتاه و فیلترینگ شدید اینترنت نمیتواند صدای مردم ایران را خاموش کند که تاریکی و خفقان ابدی نخواهد بود. ما حکومت ایران را به شفافیت و تعامل دوستانه با مردم آن سرزمین دعوت کرده، امید داریم در آینده شکاف عظیم بین مردم و حکومت کمتر شود.
پنجم تیرماه ۱۳۸۸ خورشیدی
بخشی از جامعهی بزرگ وبلاگنویسان ایرانی
Statement by a group of Iranian bloggers about the Presidential elections and the subsequent events
1) We, a group of Iranian bloggers, strongly condemn the violent and repressive confrontation of Iranian government against Iranian people’s legitimate and peaceful demonstrations and ask government officials to comply with Article 27 of the Islamic Republic of Iran’s Constitution which emphasizes "Public gatherings and marches may be freely held, provided arms are not carried and that they are not detrimental to the fundamental principles of Islam."
2) We consider the violations in the presidential elections, and their sad consequences a big blow to the democratic principles of the Islamic Republic regime, and observing the mounting evidence of fraud presented by the candidates and others, we believe that election fraud is obvious and we ask for a new election.
3) Actions such as deporting foreign reporters, arresting local journalists, censorship of the news and misrepresenting the facts, cutting off the SMS network and filtering of the internet cannot silence the voices of Iranian people as no darkness and suffocation can go on forever. We invite the Iranian government to honest and friendly interaction with its people and we hope to witness the narrowing of the huge gap between people and the government.
A part of the large community of Iranian bloggers
June 26, 2009

Filed under: یادداشتهای روزانه | Leave a Comment »
Posted on ژانویه 6, 2009 by شارپدیا
Inspection & Repair As Necessary (+)
Filed under: یادداشتهای روزانه | 5 Comments »
Posted on اکتبر 29, 2008 by شارپدیا
وظیفه خودمان میدانستیم که کمسوادیشان را ثابت کنیم. سال اول دانشگاه بودیم و کمی تا قسمتی مغرور. مسلماً زورمان به استادهای فیزیک و ریاضی نمیرسید (و همینطور دروس معارف که در علم و صنعت اکثراً توسط آخوندها تدریس میشود. اصلاً وارد گروه معارف که میشوی، میدانی – و یا بعداً دستت میآید — که باید قید کل کل کردن را بزنی)؛ ولی در دانشکدهی خودمان که میتوانستیم؟
سال اول بودیم و کلههایمان بعد از کنکور حسابی داغ بود. کتاب دایتل را جلو جلو میخواندیم و سرکلاس به استاد برنامهنویسی گیر میدادیم که اینجور نیست و آنطور است. و صدالبته که نصف سوالهایمان چرت و پرت محض بود؛ ولی چه باک که استاد همین را هم تشخیص نمیداد بس که بیسواد بود. یکبار آنقدر پیله کردیم که دستش لرزید و ماژیک از دستش افتاد. یکی از بچهها کنار کشید و گفت من دیگر نیستم.
سرلوحه وظیفهمان این بود که بیسوادیشان را ثابت کنیم. گاهی درکلاس چیزی نمیگفتیم ولی بیرون کلاس کلی دلیل میاوردیم و نهایتاً به این اجماع میرسیدیم که "آره بابا، فلانی هم تعطیله. اصلاً همه اینا که از انگلیس مدرک گرفتن، کیلویی بوده مدرکشون…"
سالهای آخر بازهم بیحوصلهتر شدیم. کسی بحث نمیکرد، بصورت پیشفرض معلوم بود که طرف بیسواد است، مگر اینکه خلافش ثابت میشد. شاید حتی بعد از کلاسها هم صحبتی در موردش نمیکردیم، ولی مطمئنم که همه در ذهنشان به این فکر میکردند که فلانی چقدر بیسواده. بیسوادی محدوده بسیار عظیمی از دلایل را شامل میشد. کاری نداشتیم که استاد تعداد مدارکش چندتاست یا از کجا مدرک گرفته، کوچکترین اشتباه را پرچم میکردیم و استاد را به خیل بیسوادهای دیگر اضافه میکردیم.
آنها هم اصرار داشتند که همواره صحّت این گزاره را تایید کنند. کمتر دیدم که کسی بیش از 3 دقیقه بدون جزوهاش حرف بزند. حتی آن مواقع که با صداقت سوال میکردی، سریع گارد میگرفتند و یا میپیچاندند. همه (منجمله استاد) از بحث کردن اصولی گریزان بودیم؛ مهم جواب نهایی نبود، مهم فقط بُرد بود. دستت را که بالا میبردی – یا بدون مقدمه شروع به صحبت میکردی – شروع جنگ بود تا موقعی که پشت یکی به خاک میرسید. در انتهای سال چهارم، تعداد نمیدانمهایی که شنیدهای را میشماری، و میبینی که به زحمت از انگشتهای یک دست تجاوز میکند.
لیسانس را گرفتیم، شدیم مهندسِ مهندسای عالم و از کیلومترها بالاتر از جو، گاهی هم نیمنگاهی به زمین داشتیم…
دورهی فوقلیسانس، تازه حالیات میشود کجای این دنیا ایستادهای. یهو نگاهت میافتاد به تعداد ارجاعات مقالهی فلانی، که تصادفاً همان استادی بود که نتوانست بهمان کوئری تو را تجزیه تحلیل کند و حرصت درآمد از اینکه چرا نگفت نمیدانم و تو را پیچاند. یکی دیگر هم هست که تز دکترایش او را در ردهی صاحبنظرها قرار داده، و خوب که بگردی باز هم هستند از این دست مثالها.
اگر نشستهای که مثل این فیلمهای صداوسیمایی یک پیغام اخلاقی بگذارم کف دستت، اشتباه کردهای. هرکسی به سهم خودش مقصر بود؛ آنهایی که اجازه داده بودند سیستم فسیلشان کند، آنهایی که هنوز دانشجوی دکترا بودند ولی استاد راهنمایشان مجبورشان کرده بود درسی که تخصص ندارند ارائه دهند، آنهایی که از گفتنِ نمیدانم عارشان میآمد، آنهایی که دانشجو را ابله فرض میکردند،
و مایی که در دوران سرکشی بودیم…
Filed under: یادداشتهای روزانه | Tagged: استاد, دانشگاه, دانشجو | 15 Comments »
Posted on اکتبر 25, 2008 by شارپدیا
علائم ابتلا:
در طول روز به کرّات اعمال زیر را (بصورت ناخودآگاه) انجام میدهید:
1 – Copy
(فایل یا دایرکتوری؛ فرقی ندارد)
2 – Paste
3 – Rename, Add Timestamp
توصیه پزشکی:
شما به سندرم «عدم شناخت سورس کنترل» مبتلا هستید. اگر تابحال متوجه علایم بیماریتان نشدهاید، بیخیالِ درمان اصولی و یادگیری پایهای سورس کنترل شوید. فقط یکراست بروید به این آدرس و TortoiseSVN را دانلود کنید که اطباء آن را بیشتر توصیه کردهاند، هرچند عدهای عقیده دارند که برای برخی مبتلایان، داروی قویای است و امکان اوردوز وجود دارد.
برای مریضهای ما که تا بحال جواب داده، خیالتان تخت.
Filed under: ابزارها | 3 Comments »
Posted on اکتبر 17, 2008 by شارپدیا
سوال: چطوری میتونم توی سیشارپ یه آرایه به طول 0 ایجاد کنم؟
جواب: یه آرایه به طول 0 ایجاد کن.
——-
قضیه اصلن طنز و مینیمالنویسی و این حرفا نیست. دیالوگ کاملاً واقعیه و همین دیالوگ ساده و پیشپا افتاده، یواش یواش داره فلسفهی جالبی پیدا میکنه واسه خودش.
Filed under: برنامهنویسی, یادداشتهای روزانه | Tagged: API Design, برنامهنویسی | 4 Comments »
Posted on اکتبر 14, 2008 by شارپدیا
بهترین نرمافزار دنیا رو بنویس، ولی برای نصّابش (*) وقت درست و حسابی نذار. این مژده رو بهت میدم که نهایتاً کلکت کندَست؛ حالا با هر استدلالی هم که اینکارو کرده باشی فرقی نداره.
2 تا حالت بیشتر نداره؛ یا نرمافزارت رو داری بصورت عمومی منتشر میکنی (GPL، Freeware، …)؛ یا اینکه مشتریای داری که باید باهاش چشمتوچشم بشی. در حالت اول تضمین کردی که فقط به تعداد انگشتای دست نرمافزارت رو دانلود کنن و به همون تعداد انگشتای دست هم فحشِ از راه دور بشنوی (شاید هم کمی بیشتر).
در حالت دوم هم مرتباً باید به مشتریات یادآوری کنی که مشکل کارنکردنِ کارت صداش هیچ ربطی به نرمافزار شما نداره. از دید اون، این اتفاق از زمانی شروع شده که نرمافزار شما رو میخواسته نصب کنه و وسطش یه پیغام اِروری که الان هم یادش نیست چی بوده، نشون داده شده.
حالت سوم و چهارمی هم اگه وجود داشته باشه، مطمئن باش که وضعیت فرق چندانی نخواهد کرد.
پس غر زدن موقوفه، حتی اگه هزار تا dependency (**) هم داری، تک تکشون رو چک کن که غفلت موجب پشیمانی است. خصوصاً برای ویندوزیها سنگ تموم بذار، اونها از اولش هم به مراحل سخت نصب و سوالهای پیچیده عادت نداشتن، چه برسه به حالا که نصّاب ویندوز (***) همهی نصّابها رو زیر چتر خودش جمع کرده و کاربرا هم یه پله سختگیرتر شدن.
——–
* Installer
** مزخرفترین حالت اینه که به هزارتا نرمافزارِ دیگه وابسته باشه سیستمتون. مثلاً یه پلاگین واسه یه نرمافزار نوشته باشید که خودِ اون از چندتا کامپوننت دیگه استفاده کرده باشه و الخ.
*** Windows Installer
——–
پ.ن- نسخه Extended بهمراه سکانسهای حذف شده:
اگه ویژوال استودیویی هستی، پیش از هر چیزی مطمئن شو که ClickOnce بدردت میخوره یا نه. فقط با خوندن توضیحاتِ اینکه ClickOnce چی هست و چیکار میکنه، نتیجهگیری نکن؛ از قیافهی ترسناکش هم نترس. چندتا سناریوی مختلف رو تست کن و بعد بگو نه. این رو هم درنظر داشتهباش که ClickOnce قضیه آپدیتها رو بخوبی مدیریت میکنه اما توی هر راهحل دیگهای، وظیفهاش به عهدهی خودته.
شانس بعدی، درست کردن نصّاب بصورت معمولیه (البته با همون ویژوال استودیو). این یکی بیشتر توی مواردی کاربرد داره که وسط نصب چککردنهای عجیب و غریب دارید و یا کدهای خاصی رو میخواهید اجرا کنید و یا شاید توی بعضی از موارد، ClickOnce نتونسته براتون از پسِ Prerequisiteها بربیاد.
95٪ موارد، این 2تا کار رو راه میندازن. پس الکی سراغ InstallAware، InstallShield و محصولات مشابه نروید که وقت تلف کردنه. نه اینکه محصولات خوبی نباشن، فقط به این دلیل که دفعات اول کمی طول میکشه تا دقیقاً بفهمید چی به چیه و کی به کیه. خصوصاً اینکه ساختاری که در اختیارتون میذارن، یه پله نزدیکتر به ساختارِ خامه فایلهای msiه (نسبت به پروژههای نصب ویژوال استودیو میگم). بنابراین احتمال گیج شدن خیلی بالاست. بعلاوه شاید نیازتون رو هم اشتباه تشخیص بدید و بشینید برای تمام کارهایی که با کلیک میتونستید انجام بدید، اسکریپت بنویسید!
واضحه که تست نصّاب از درست کردنش هم سختتره، پس یا تستش نکن، یا اگه تست میکنی روی سیستمهای development نباشه که فقط خودتو گول زدی! برو سراغ Virtual PC یا VMWare و سعی کن از Snapshot لذت ببری، هرچند که مجبور باشی n حالت مختلف رو تست کنی!
Filed under: برنامهنویسی, یادداشتهای روزانه | Tagged: clickonce, deployment, installer, Visual Studio | 3 Comments »