سوال جواب: آیا به سربازی بریم؟ چرا انصراف ندم برم رشته ای که دوست دارم رو بخونم؟

سلام جادی،

من سامان هستم و بیست و یک سالمه. در حال حاضر دانشجو ام و اوضاع جالبی ندارم چون تقریبا تو رشته ای که دارم درس میخونم موفق نیستم و کار داره به جاهای باریک میکشه از لحاظ تحصیلی. یه جورایی بخاطر جو حاکم بر خانواده و نرفتن به سربازی اومدم دانشگاه وگرنه علاقه ی بیشترم این بود که غیرآکادمیک روی موضوعاتی که بهشون علاقه دارم کار کنم.

قبول دارم تو انتخاب رشته اشتباه کردم ولی یادآوری اشتباهاتم در گذشته تاثیری تو وضع الانم نداره (البته ازشون درس عبرت گرفتم) ، الانم تنها دغدغه ی من رفتن به سربازی هست که اصلا دوس ندارم برم به همین خاطر نمیتونم به انصراف از تحصیل فکر کنم چون بلافاصله منو میبرن که خدمت کنم.

اگه بخوام انصراف بدم عملا نمیتونم دوباره کنکور بدم و چیزی که دوس دارم رو بخونم.از طرفی اگه نخوام سربازی برم از ی سری خدمات اجتماعی محروم میشم که بعضیاشون واقعا اساسی هستن و نمیشه بیخیالشون شد.میخواستم بدونم به نظرت اگه سربازی نرم میتونم ی کار پیدا کنم و دووم بیارم ، حداقل از گرسنگی نمیرم.اصلا میشه بدون سربازی رفتن ی جورایی بعضی چیزا رو دور زد و بشه از خدمات استفاده کرد

با تشکر

سلام سامان عزیز،

خب این مساله بسیار مهم و حساسی است و اصلا نمی شه با یک ایمیل براش جواب پیدا کرد. باید خودت فکر کنی و خیلی دقیق تصمیم بگیری که قراره چیکار کنی.

چیزهایی که من می تونم بگم اینها هستن:

۱) دانشگاه مهمه

من در این باره خیلی زیاد نوشته ام! پیشنهاد می کنم اونها رو بخونی و خلاصه اش اینه که در شرایطی که ما هستیم، دانشگاه یکی از مکان های مهم است که خوبه توش وارد بشیم و سعی کنیم بمونیم و با مدرک بیرون بیایم. یک حس منفی به خیلی از ما می گه دانشگاه خوب نیست و بعد برای فرار از روزهای بد، اساتید بد، درس های بد و احساسات بد کلا می خوایم بزنیم زیر دانشگاه و بیرون بیایم ولی عقل می گه بهتره بمونی و مدرکت رو بگیری و خلاص بشی. دقت کن که این مدرک قراره در طول چهل سال آینده همراه تو باشه. حتی می تونی مدرکی که الان داری می خونی رو تموم کنی و بگیری و بعدش به کنکور دوباره فکر کنی. مساله اینه که کنکور دوباره نباید راه فراری از شرایط فعلی باشه بلکه باید قدمی بشه در ادامه راهی که توش هستی.

۲) سربازی زوری

متاسفانه این سربازی هم بالا سر ما هست و هنوز جزو اون مجموعه کشورهایی هستیم که آدم هاش باید بهترین سال های عمرشون رو به بطالت در فضاهایی ناسالم و مریض بگذرونن. این یک واقعیت است… اما این رو بهت بگم که من دوستان زیادی دارم که سربازی نرفتن و در شرکت هاشون دارن به خوبی و خرمی کار می کنن (اکثرا توی شرکت های خودشون) و دوستانی رو هم دارن که به خاطر عقب انداختن سربازی دچاردردسرهای جدی شدن و دوستانی هم دارم که در نهایت تصمیم گرفتن با زدن از زندگی واقعی شون، سربازی لعنتی رو برن و تمومش کنن. هرکس روش خودش رو داره ولی همه اش ممکنه.

در نهایت چی؟

دقت کن که اگر دید تو اینه که «می خوام رشته ای که می خوام رو بخونم» معقولترینش اینه که چیزی که الان توش هستی رو تموم کنی و توی فوق لیسانس بری سراغ چیزی که می خوای یا اگر امکانش نیست سربازی رو بری و بعدش بری دنبال تحصیلات دانشگاهی. معلومه که در شرایط فعلی دنیا مال پولدارها است و احتمالا امسال سربازی رو می فروشن و اونهم ممکنه یک راه باشه اما…

حواست باشه که برای فرار کردن از یک چیز، سراغ چیز دیگه نری. ما همه اینطور هستیم: چون جسارت مقابله با A رو نداریم، به خودمون می قبولونیم که عاشق B هستیم و اصلا A رو نمی خواستیم از اول. باید مواظب این تله بود و گرنه هر رشته و درس و کاری از نزدیک سخته و پر دردسر.

سوال: چرا وقتی برنامه‌ها آپدیت می شن من باید کل حجم اون برنامه رو مجددا دانلود کنم؟

من یه سوال فنی دارم، چرا وقتی به اپلیکیشن مثل وایبر رو میخوایم اپدیت کنیم حجمی معادل حجم اپلیکیشن رو دانلود کنیم؟ مگه فقط مقدار کمی از کدها و برنامه تغییر نمیکنن؟

اینجا دو نکته هست. اول اینکه وقتی برنامه نویس، نوشتن برنامه اش به زبان قابل فهم برای انسان‌ها (مثلا سی) رو تموم می کنه، اون رو کمپایل می کنه که برابر تبدیل متن قابل خوندن توسط انسان، به متن قابل خوندن توسط ماشین است. این برنامه کمپایل شده اون چیزی است که ما دانلود و اجراش می کنیم. حالا ممکنه یک تغییر بسیار ریز در متن برنامه باعث تغییرات بزرگی در برنامه کمپایل شده بشه. در نتیجه اون تغییر ریز، تغییرات بزرگی رو در برنامه اجرایی ایجاد کرده که ما مجبور دانلودشون کنیم.

اما حرف تو هم صحیحه! به هرحال بخش‌هایی از این برنامه مثل قبل است و احتمالا فایل اجرایی نهایی هم مشابهت‌هایی با فایل قبلی خواهد داشت. همینجاست که برنامه هایی درست شدن برای تشخیص این اختلاف و دادن تفاوت‌ها به کاربر برای دانلود اما در این حالت نیازمند برنامه ای هستیم که روی کامپیوتر ما این تفاوت ها رو به فایل اصلی که از قبل داشتیم اعمال کنه و اینکار پیچیده است. در لینوکس به این برنامه diff گفته می‌شه.

برای روشن‌تر شدن بهتره به یک کتاب فکر کنی. نسخه اول کتاب رو داری و ناشر تغییراتی توی اون می ده! حالا دو تا راه حل داریم: فرستادن کتاب جدید برای تو یا فرستادن یک لیست از تغییرات و اینکه تو بشینی پاراگراف‌های تغییر کرده رو پیدا کنی و با متن های جدید (که شاید طولشون با طول متن قبلی فرق کنه) جایگزین کنی و مثلا اگر جایی کلی متن اضافه شده باشه مجبور بشی صفحات سفیدی لای کتاب بچسبونی و متن جدید رو روشون بنویسی و بعد شماره صفحه‌های توی فهرست رو اصلاح کنی و ….

می بینی که روش دوم کمی دردسر داره و با توجه به این دردسر و بخصوص سرعت خیلی زیاد اینترنت در جهان، توسعه دهنده ‌ها ترجیح می دن به جای رفتن سراغ پیدا کردن تفاوت‌ها و مقایسه اون با نسخه ای که تو داری و تغییر دادن متن برنامه‌ها، یکضرب فایل جدید رو به تو بدن تا مطمئن باشن که همه چیز به درستی کار می کنه.

آیا می‌شه با نود.جی.اس. برنامه کلاینت ساید نوشت؟

امیر پرسیده:

سلام جادی .
من با تکنولوژی اشنا شدم که خودت میدونی چیه . node.js رو میگم. میخواستم بدونم میشه با این node.js نرم افزار هایی تحت دسکتاپ درست کرد. من جایی شنیدم که میشه همچین کاری کرد اما نتونستم اطلاعاتی به دست بیارم . من منطق خودم میگه میشه همچین کاری کرد . وقتی موتور جاوا اسکریپ روی مرورگر میتونه یک بازی رو کامپایل کنه پس ما وقتی این موتور رو ازش جدا کنیم و اون رو روی ویندوز یا هر پلتفرمی قرار بدیم . حالا هم میتوینم اون بازی رو کامپایل کنیم ولی این بار نه در مرورگر . ( به صورت ی برنامه ی معمولی ) که روی پلتفرم اجرا میشه .
شایدم من اشتباه میکنم ( فقط میشه باهاش سرور راه انداخت ) اگر در این باره اطلاعی داری ( در اختیارم بزار )..ممنون … منتظر جوابم .

چیزهایی که گفتی تقریبا درسته – البته با چند اصلاح ریز. NodeJS زبان اسکریپتی است پس به معنای سنتی چیزی رو کمپایل نمی کنه و در نتیجه امکان اجرای مستقل روی سیستم‌ها هم نداره. NodeJS اصالتا جاوااسکریپت است و جاوا اسکریپت برای اجرا شدن به شکل گرافیکی و نمایش چیزها نیاز به یک بستر داره. این بستر شامل براوزری است که موتور جاوااسکریپت روشه. حالا کاری که نود.جی.اس. کرده اینه که اون موتور جاوا رو سمت سرور اجرا کرده ولی آیا اینکار توی کلاینت هم ممکنه؟

همونطور که بالا گفتم، داشتن برنامه های دسکتاپ با نود.جی.اس. نیاز به این داره که ما یک موتور رندر اچ تی ام ال داشته باشیم (که بتونه صفحه رو گرافیکی نشون بده) و یک موتور جاوااسکریپت. پروژه‌هایی مثل node-webkit سعی کردن این دو تا رو در یک برنامه بذارن و به شما پنجره‌ای بدن که ظاهرش بیشتر از اونی که شبیه براوزر باشه شبیه پنجره معمولی برنامه ها باشه ولی اچ تی ام ال پنج و جاوا اسکریپت بفهمه. همین تلاش به شکل دیگه ای در پروژه node-qt اتفاق افتاده و اونجا سعی شده رابط گرافیکی qt به همراه nodejs بسته بندی بشه تا بشه برای دسکتاپ هایی از لینوکس تا مک تا ویندوز برنامه نوشت.

و آخرین نکته؟ این ابزارها هنوز کامل نیستن و جاوااسکریپت (و طبعا نود.جی.اس.) هم برای اینکار درست نشده. درسته که در آینده ممکنه همه اینکارها رو با جاوااسکریپت بکنیم ولی در این لحظه نود.جی.اس. هنوز برنامه دسکتاپ نوشتن نیست و اگر کسی سراغش می ره مشغول باحال بازی یا کشف آینده است یا استفاده از مهارت‌هاش برای راحت‌تر کار یا برعکس، استفاده از یک چیز نامناسب به منظور پیشرفت فنی.

کسی از منابع دکترا برای رشته آی تی اطلاع داره؟

منصوره ازم پرسیده:

من می خوام امسال دکترای IT امتحان بدم و از اونجایی که این رشته تازه دو ساله که امتحان دکترای مستقل داره، باید حتما بدونیم منابع امسال یا پارسال چی بوده. برای همین می خواستم بپرسم شما دوست یا آشنایی نداری که **امسال یا نهایتا سال گذشته** دکترای آی تی قبول شده باشه و بتونه منبع رو به بقیه هم بگه؟

خب من که آشنای مستقیم ندارم ولی احتمال داره آشنایی توی وبلاگ داشته باشم (: اگر امسال یا پارسال دکترای آی تی امتحان دادین و از اون مهمتر قبول شدین، ممنون می شم منابع رو یک توضیح کوتاه بدین.

سوال و جواب در مورد کپی رایت

جادی بیا فرض کنیم می‌خوایم یه پادکست بسازیم که توش قراره یه کتاب یا مجله رو معرفی کنیم. کتابِ مذکور هم از همون کتاباییه که جمله‌ی «تمام حقوق برای ناشر محفوظ است.» رو نوشته اولش. چقدر از این کتاب رو می‌تونیم تو پادکستمون بخونیم از لحاظ «قانونی»؟ این فرض رو هم در نظر بگیر که دسترسی به ناشرش مقدور نیست برامون.

حالا بیا فرض کنیم قسمتی از یه آهنگ رو که یه تهیه‌کننده‌ با مقاصد تجاری منتشرش کرده رو می‌خوایم برای استفاده و معرفی تو پادکستمون بیاریم. از این چقدرش رو می‌تونیم استفاده کنیم؟ یا اصلن می‌تونیم استفاده کنیم؟ یه آهنگ که به صورت رایگان توسط ناشرش پخش شده (مثلن محسن چاووشی به‌صورت تک‌آهنگ داده بیرون و تکلیف قسمت NC و ND لایسنسش معلوم نیست) چی؟ در مورد قسمتی از فیلم که به‌صورت صوتی پخشش می‌کنیم هم نظرتو بگو.

آخرشم این‌که میشه بگی خودت صداها و افکت‌هایی که می‌خوای رو از کجا میاری برای پادکست‌هات؟ و چقدر رعایت می‌کنی قوانین (بعضن دست‌وپاگیر و غیرمفید) رو راجع به حق مالکیتشون؟

سلام

به شکل خلاصه باید بگم که چیزی هست به اسم استفاده عادلانه یا fair use که به آدم ها اجازه می ده به دلایل عادلانه چیزها رو استفاده کنن – مثلا برای نقد، بررسی، …. و خب دقیقا همونی است که بعضی از دزدها استفاده می کنن و به اسم «نقد فیلم»‌کل فیلم رو نشون میدن و فقط وسطش هی حرف می زنن (: این قانون اجازه می ده من بخش هایی از موزیک یا کتاب رو پخش کنم یا استفاده کنم. قانون نسبی هم هست و بستگی به هیات منصفه داره که تشخیص بده فلان آهنگ وسط پادکست من استفاده منصفانه است یا سوء استفاده و نقض کپی رایت و در کشورهایی هم دقیقا گفتن اینقدر دقیقه یا این شکلی. در مورد اینکه آیا من حق دارم یک آهنگ کامل رو آخر پادکستم پخش کنم برای سرگرم کردن شنونده ها،‌ نظری ندارم و نمی دونم از نظر حقوقی جزو استفاده منصفانه است (غیرتجاری؟) یا نه و همین سوال رو هم دارم در مورد مثلا یک ایستگاه رادیویی که موزیک یک خواننده رو پخش می کنه یا دی جی ای که توی پارتی از کسی موزیک می ذاره. بحث حقوقی اینها رو نمی دونم که مثلا من حق دارم توی نمایشگاه نقاشی ام موزیک ملایم فلانی رو به شکل سی دی بخرم و پخش کنم یا نه.

در مورد مشخص نبودن لایسنس که منطقا هر کس هر کاری می خواد می تونه بکنه – یعنی اگر طرف نگفته باشه این تحت فلان کپی رایت است ، هر استفاده یا مجازه. برای همین اصلا کپی لفت درست شد که بگیم «استفاده از این اثر آزاده ولی تحت این شرایط که اگر تغییر دادین بازم محصول آزاد باشه و بگین کار کی است و …»

و در نهایت من از سایت freesound.org و ساوندکلاود استفاده می کنم که تو اولی صداها آزاد هستن و دومی الزاما نه. در مورد کپی رایت هم معتقدم روش درست رعایت کردن خواست کسی است که محصول رو تولید کرده یا مبارزه واقعی و من که معتقدم کپی لفت و آزادی بهتره باید تبلیغش کنم و کارهای خودم رو تا حد ممکن کپی لفت بدم. نقض کپی رایت یک محصول و استفاده شخصی نه کار درستی است نه مبارزه ولی خب منم گاهی انجامش می دم بخصوص در مورد موزیک آخر (اگر گذاشتنش غیرقانونی باشه).

در ضمن‌! چون این سوال/جواب خوبیه می ذارمش تو سایت شاید از دوستان نظرات بهتری بگیری (:

جادی

دو نکته:
۱- مطالب قبلی در مورد کپی رایت بخصوص مطالب هفته کپی رایت رو نگاه بنداز
۲- دقت کن که من متخصص حقوقی کپی رایت نیستم، در کامنت ها هم همین مساله رو در نظر بگیر و هر چیز می خونی رو اگر لازمه با قانون و بالاتر از اون با عقل سلیم بسنج (:

راهنمایی برای برنامه نویس‌های آینده که می خوان زبونشون رو انتخاب کنن

جادی جان منظور من این بود چه نوع زبان برنامه نویسی از بین اون دوره ها خوبه که دوستم شرکت کنه؟ جاوا؟ اوراکل؟ دات نت؟ نمیخوام آموزشگاه بهم معرفی کنی میخوام یک زبان برنامه نویسی که میدونی الان بیشتر کاربرد و بازار کار داره رو بهم بگی.

ضرب‌المثلی در دنیای برنامه نویسی هست که می گه «اشتباهی که خیلی از برنامه‌نویس‌های تازه کار می کنن اینه که برنامه‌نویسی رو با یاد گرفتن کد نوشتن به یک زبان خاص اشتباه می‌گیرن». پس توصیه اول به این دوستمون اینه که دنبال یاد گرفتن برنامه نویسی باشه نه یاد گرفتن دستور زبان یک زبان خاص. اکثر زبان‌ها در پایه به هم شبیه هستن و اگر یک زبون رو درست یاد بگیریم سوییچ کردن یا کد نوشتن به یک زبان هم‌خانواده چندان مشکل نیست. اینه که یاد گرفتن C می تونه پایه خوبی برای هر برنامه نویسی باشه و بعدش خوندن کد چند برنامه خوب (که روی گیت هاب به راحتی قابل دسترسی هستن و حتی می تونن به سادگی برنامه ای مثل yes در لینوکس باشن).

نکته بعدی اینه که آدم‌ها به شیوه‌های مختلفی چیز یاد می گیرن. در کل به سه شیوه:

  1. خوندن (کتاب، راهنما، …)
  2. آموزش دیدن (کلاس)
  3. انعکاسی (دیدن و تکرار کردن)
  4. تمرین کردن (پریدن وسط استخر و دست و پا زدن)

که البته مثل هر چیز دیگه‌ای، در دنیای واقعی هر کدوم با ترکیبی از روش‌های بالا به حداکثر یادگیری خودمون می‌رسیم. مثلا می دونم که بهترین روش یادگیری ام ترکیبی از خوندن و تمرین کردن است. این اصل ساده در آموزش گاهی به خاطر عادت ۱۲ ساله ما به مدرسه‌های کلاس محور ایرانی کلا فراموش می شه. پس قبل از ثبت نام کلاس یک لحظه باید به خودمون یادآوری کنیم که یاد گرفتن چیزها الزاما نیازمند کلاس نیست و اگر کل راهنماهامون رو از اینترنت بگیریم و کل هزینه کلاس رو خرج خوش گذرونی کنیم ممکنه خیلی بهتر چیز یاد بگیریم.

اما کدوم زبون؟ فرض کنیم دقیقا دنبال یاد گرفتن یک زبون برنامه نویسی هستیم. چه زبونی بهترینه؟ نقل می کنم از سینای عزیز که

تا وقتی اهداف رو ندونیم نمی تونیم مسیر رو ارزیابی کنیم.

هدف ما چیه؟‌ رسیدن به یک شغل مطمئن توی بازار کاری که از همیشه برامون کار هست؟ گرفتن پروژه‌های خاص با پول خیلی زیاد؟ مهاجرت؟ کار کردن توی یک استارتاپ مرتبط با گوشی‌های موبایل؟ اپلای کردن برای گوگل؟ هدف رو اگر بدونیم تقریبا مشخصه که باید چیکار کنیم. راه بر اساس مقصد قابل تشخیصه و حتی در مواردی انتخاب مقصد به معنی انتخاب راه است.

بذار موضوع انتخاب بهینه زبان برنامه نویسی رو با یک نمودار متقاطع توضیح بدم. اطلاعات ما در جهان یا درباره حوزه‌های شناخته شده برای همه است که تبدیل می شیم به عضوی از یک خیل عظیم (مثلا بعد از چهار سال می شیم مهندس مخابرات فارغ التحصیل از دانشگاه) یا وقت گذاشتیم و در حوزه‌های کمتر شناخته شده برای عموم اطلاعات کسب کردیم (و مثلا شدیم کسی که تجربه و دانش زیادی در مورد چاپ کتاب داره). اولی شغل‌های بیشتری داره ولی معمولا حقوقش کمتره چون کلی آدم دیگه هم هستن که همونها رو بلدن. از اونطرف یک بحث دیگه اینه که دانش ما چقدر عام است و چقدر خاص. آیا ما «کلا برنامه نویسی بلدیم» یا «می دونیم چطوری باید برنامه های چند رشته ای (مالتی ترد) نوشت» ؟ آیا ما کلا کتاب چاپ کردن بلدیم یا تخصصمون دقیقا در این است که بدونیم بهترین چسب موجود در بازار برای چسبوندن جلد کتاب به شیرازه، چیه. بذارین این دو تا رو روی نموداری که حرفش رو می زدم نشون بدم:

what_programming_lang_to_study

با توضیات بالا واضحه که یک برنامه نویس دات نت همیشه حقوق داره و همیشه در شرکت های متوسط کار داره. استرسش برای پیدا کردن کار کمه ولی در عوض در نگه داشتن کار اوضاعش خوب نیست چون هزاران نفر هر سال مجموعه مدرک های MCSE MCTS و غیره رو می گیرن و می شن برنامه نویس دات نت. در مقابل به بخشی نگاه کنین که با «پول پروژه‌ای» مشخص شده. ما الان در شرکت دو ماهه دنبال کسی می گردیم که به شکل پروژه‌ای بیاد برای ما سرورهای نود جی اس رو کلاستر و High Aavailable کنه و کم اهمیت ترین موضوع در پروسه قرارداد اینه که طرف چقدر پول می خواد. احتمالا طرف با این کار چند روزه می تونه به اندازه چند ماه برنامه نویس دات نت پول در بیاره ولی ظاهرا در کشور عزیز افراد خیلی خیلی کمی هستن که این کار رو بلد باشن چون هم در حوزه ناشناخته است و هم در حوزه تخصصی.

حالا فکر می کنم انتخاب براتون راحت تر باشه. من همیشه در حوزه ناشناخته تخصصی بودم و راستش یک محور دیگه هم در جدول کشیدم: ترکیبش با یک چیز دیگه. مثلا متخصص سیستم عاملی که مخابرات بلده. مدیر پروژه‌ای که لینوکس بلده و … این خیلی کم پیدا می شه و خیلی هم مورد نیاز نیست ولی اگر کسی شما رو بخواد.. واقعا شما رو همه جوره می خواد. در عوض ممکنه شما به این نتیجه برسین که یک کار امن و راحت می خواین و در این صورت باید نگاهی به بخش استخدام شرکت ها بندازین و ببینین الان چی بورسه. ممکنه دات نت باشه و ممکنه جاوا باشه یا اگر تصمیمتون این شده که برین سراغ استارتاپ موبایلی شخصی خودتون، معلومه که باید یا iOS یاد بگیرین یا Android Development که یک جاهایی بین جدول بالا افتاده.

توجه: جدول رو قارتی کشیدم. اصلا معنی اش این نیست که کاملا اندیشیده و دقیق است. می شه در مورد همه اجزاش حرف زد.

جایزه اینکه تا اینجا خوندین: اگر هدفتون رفتن به چیزی مثل گوگل است، برین و آگهی‌های شغلی اش رو ببینین و بعد دقیقا می دونین که در طول یکی دو سال آینده باید چی یاد بگیرین و به کدوم پروژه‌ها کمک کنین تا خود گوگل بیاد ازتون خواهش کنه که برین تو شرکتش کار کنین (: این دیدن ترند مهمه. لازمه درک کنیم که در جهان آینده چه چیزهایی دارن رو می یان و براشون آماده باشیم (مرتبط طنز: آیا موفقیت زبان های برنامه نویسی به ریش و سبیل سازندگانش مربوطه؟)

تا اینجا خوندین؟ (: پس شاید دوست داشته باشین این شماره ویژه پادکست در مورد برنامه نویسی رو هم گوش بدین.

پی نوشت آخر. گفتیم که «اشتباه برنامه نویس های جوان اینه که برنامه نویسی رو با برنامه نویسی به یک زبون خاص اشتباه میگیرن». این یعنی اگر شما برنامه نویسی رو یاد بگیرین می تونین بعدا به هر چیز دیگه سوییچ کنین. رو پایه ها تمرکز کنین و تا وقتی درک می کنین که دارین برنامه نویسی یاد میگیرین، نگران زبون نباشین.

و البته به فهرست محبوبیت زبان‌های برنامه نویسی در جهان هم نگاهی بندازین و اگر هنوز سوالی هست در کامنت ها مطرح کنین تا سعی کنم از برنامه نویس هایی بسیار خوب بخوام جواب هاش رو براتون بگن.

صادق توی کامنت‌ها نوشته:

ضمن تایید حرف‌های جادی می‌خواستم برای کسایی که تازه می‌خوان شروع کنند یه چند تا نکته را یادآوری و تاکید کنم:
۱.سعی کنید با زبانی مثل python شروع کنید که هم زود بتونین نتیجه بگیرین و هم عادت‌های خوب کدنویسی براتون نهادینه بشه.
۲. از خوندن و یادگرفتن Design patternها و Best practiceها ولو با زبان دیگه‌ای غیر از زبان تخصصی شما پیاده‌سازی شده غفلت نکنید که موجب پشیمانیست.
۳. از ابتدای کار عادت کنید برای کدهاتون کامنت مناسب و واضح بنویسید.
۴. کد خوب بخونید (توی پروژه‌های آزاد اغلب کدها خیلی خوبند چون تعداد زیادی توش مشارکت می‌کنند)، توی توسعه پروژه‌های آزاد مشارکت کنید از گزارش باگ گرفته تا نوشتن پلاگین و …
۵. سعی کنید ارتباط‌هاتون با آدم‌های متخصص توی زمینه کاریتون زیاد کنید، از فرصت گپ زدن باعاشون استفاده کنید، توی فروم و irc فعال باشین نه فقط برای پرسیدن که برای مشارکت و پاسخ دادن.
۶. خوشبین باشید و شاد. ماری را انجام بدین که ازش لذت می‌برین. البته لذت بردن خیلی وقت‌ها به معنی آسون بودن یا پول زیاد درآوردن نیست. در ضمن سعی نکنید تقلید کنید.
۷. وقتی دارین کد می‌خونید واقعا بفهمید چی به چیه. و بد نیست فکر کنید روش بهتری برای پیاده‌سازی اون کد به ذهنتون می‌رسه یا نه.
۸. وقتی تونستید کد بقیه را سریع دیباگ کنید می‌تونید کم‌کم حس کنید که حرفه ای شدین. البته یادگرفتن انتها نداره.

سوال و جواب: با تهدیدهای آبرورویزی اینترنت چکار کنیم

جادى جان سلام؛
دوست دختر من قبلاً با يك پسر مراکشی ارتباط اينترنتى داشت.

چند وقت پيش اين پسر گفت كه ازش ويديو گرفته و تهديد كرد كه به تمام كسايى كه تو اكانتش هستند مى فرسته و آبرو ريزى مى كنه.

دوست دخترم كمى باهاش صحبت كرد و پسر رو متقاعد كرد كه همچين كارى تاثيرى تو برگشتن رابطه شون نداره و پسر هم خيلى منتقى كنار اومد با موضوع و دوست دخترم از كانتكتاش حذفش كرد.

الآن بعد از چند هفته دوباره سر و كله اش پيدا شده و اينبار تو فيس بوك ريكوئست داده و تو چندتا گروه كه دوست دخترم عضو هستش رفته و عضو شده. دوست دخترم نگرانه كه اونجا بخواد آبرو ريزى كنه. چه كارى مى شه در رابطه با اين آدم انجام داد؟

علی

شرایط سختی است. نصیحتی مثل اینکه «توی اینترنت به هیچ کس اعتماد نکنید و اگر فیلم یا عکسی به کسی می دین انتظار داشته باشین که روزی کس دیگه هم اونو ببینه» اینجا اضافی است و به نظرم مفیدترین حرف اینه که :

۱- اگر ممکنه اقدام قانونی بکنین
۲- اگر اقدام قانونی ممکن نیست، به طرف بی‌توجهی کامل بکنین و همزمان آمادگی عملیات دفاعی داشته باشین

قسمت اول بر می گرده به چیزهایی که داره داخل ایران اتفاق می افته. ما یک پلیس فتا داریم که گاهی پلیس خوبیه و توی شکایت‌هایی مثل این معمولا سریع و خوب و معقول عمل می کنه. من مواردی رو می شناسم که طرف شکایت کرده «گوشی ام رو به تعمیرگاه داده بودم و عکس های نامناسبم روش بوده و حالا می بینم که عکس ها در فروم هایی که نباید منتشر شدن» و پلیس بدون تحقیر و توهین و غیره مثل یک پلیس درست و درمون رفته موضوع رو پیگیری کرده.

مورد دوم برای حالتی که تو توصیف کردی معقولتره. پلیس ما کاری در این مورد نمی تونه بکنه پس بهتره وارد بازی نشی. چیزی که طرف از شما می خواد توجه است و اصلی‌ترین توصیه در مقابله زورگویی اینترنتی (Cyber Bully) اینه که برای طرف مقابل سوخت هیجانی فراهم نکنین. اینکه شما ازش خواهش التماس کنین یا هی چت کنین یا سعی کنین متقاعدش کنین فقط کارها رو بدتر می کنه. در چنین موردی بی توجهی کامل معمولا بهترین استراتژی است و همزمان آماده بودن برای حالت‌های خاص.

در اینجا حالت خاص اینه که واقعا طرف چیز نامناسبی روی فیسبوک منتشر کنه. در این حالت باید اون پست به فیسبوک گزارش داده بشه و خود فرد هم به فیسبوک درخواست حذف پست رو بده و گزارش مزاحمت توسط اون کاربر. برای این کار کافیه موضوع کلی رو به بیست سی نفر از دوستان گفته باشین که ممکنه چنین کمکی بخواین. معلومه که این دوستان نبود دوستان درجه یک باشن چون دقیقا همونها هستن که شما نمی خواین اون پست رو ببینن. برای عملیات سریع خوبه یک لیست بیست سی نفره از آدم هایی داشته باشین که اگر موضوعی پیش اومد می خواین بهش یک مسیج بدین که «لطفا به فلان پست برین و اون رو ریپورت کنین» تا حتی در صورتی که طرف واقعا اینقدر عقده‌ای بود که کاری واقعی بکنه، بتونین سریع حذفش کنین.

تکرار می کنم که شرایط استرس زا و بدی است و مهمترین فاکتور هم اینه که بدونیم اینجور شرایط بر اساس سوخت هیجانی که دریافت می کنن پیش می رن پس شما هر چقدر کمتر موضوع رو هیجانی و داغ و استرس‌زا کنین، احتمال دردسر هم کمتر خواهد بود. خودتون رو سرگرم چیزهای دیگه بکنین و مطمئن باشین که چنین آدم‌های مریضی معمولا این مرض رو همزمان در چند جا مصرف می کنن و خطر خیلی زیادی برای کسی که بهشون هیجان نده، ندارن.

برای خاتمه این رو هم بگم که ما معمولا دنیا رو خیلی تنگ می گیریم و فکر می کنیم یک اتفاق کل زندگی یک انسان رو حروم می کنه. به زمانی فکر کن که تو مدرسه بهمون می گفتن «اگر فلان کار رو بکنی پرونده ات رو می زنیم زیر بغلت» یا روزی که چون گزارش کارگاه دانشگاه رو ننوشته بودیم استرس داشتیم وف کر میکردیم الان زندگی مون تموم می شه یا عشق اول و … زندگی طولانی است و دنیا بزرگ. حتی اگر عکس برهنه یک نفر یک جای اینترنت باشه، احتمالا هیچ کدوم از دوستانش نخواهند دید و اگر ببینن هم خبر خاصی نمی شه. بنا به یکسری نظریه بیولوژی تکاملی، ذهن ما اصولا کارش اینه که خطرات رو توی ذهن خیلی بزرگ کنه تا ما زنده بمونیم ولی در دنیای واقعی – بخصوص صد سال اخیر – خطرهای این شکلی دیگه اونقدرها هم بزرگ و حاد نیستن و تقریبا هیچ عاملی نیست که کل زندگی ما رو به فنا بده.

فکر می کنم اگر جوابی ندین و وارد بازی و دیالوگ نشین، این مشکل هیچ وقت پیش نیاد ولی اگر هم اومد یک واکنش سریع می تونه حذفش کنه و زندگی به روال همیشه ادامه خواهد داشت. مهمترین وظیفه تو و دوست دختر گرامی هم اینه که دلگرم باشین و زیاد بهش فکر نکنین و بدونین مغز انسان متخصص بزرگ کردن چیزهای کوچیک و وحشت‌زده شدنه (:

جادی

سوال و جواب: آیا جامعه شناسی و علوم انسانی درس‌های حفظی هستن؟

سوال

جادی خوندن جامعه‌شناسی حافظه خوبی میخواد؟ منظورم اینه همه‌ش حفظیه؟ چند وقتی هست که علاقه به علوم انسانی پیدا کردم، یه چیزی میخوام که بگرده تو جامعه و مشکلاتش رو بولد کنه و ریشه‌یابی کنه و براش راه‌کار ارائه بده، آیا جامعه‌شناسی همینه؟

جواب

خب به شکل معقولی از اونجایی که من موفق شدم این رشته رو بخونم باید بگیم که حافظه خوبی نمی خواد. یعنی بهتر بگم، حافظه خوب کلید جامعه شناسی نیست. جامعه شناسی از نظر من دقیقا مثل شیمی، دینی، مکانیک، ادبیات و .. بود و فرق خاصی نداشت. این چیزها رو می شه حفظ کرد و می شه فهمید. مثلا من تا آخرش هم مثلثات رو درست یاد نگرفتم – چون از نظر من حافظه خوبی می خواست. یعنی هیچ وقت نتونستم جدول سینوس کسینوس رو حفظ بشم. همین اتفاق برام با شیمی افتاد. چون هیچ وقت جدول تناوبی رو حفظ نکردم، هیچ وقت هم نتونستم تو شیمی موفق باشم. کل شانسم در مورد شیمی این بود که یک جامدادی پارچه ای داشتم که توی لایه داخلی اش جدول تناوبی رو نوشته بودم و توی کنکور هم برای رشته برق؛ ضریب شیمی یک بود. اصلا به همین دلیل بود که برق رو رشته اول زدم.

یادداشت جانبی
اگر دارین چیزی رو حفظ می کنین؛ یعنی یا دارین راه رو اشتباه می رین یا توی شرایط بدی گیر کردین. هیچ علمی منطقا نباید نیاز به حفظ کردن چیزی داشته باشه مگر اینکه شما یا کسی دیگه دنبال این باشه که آدم‌ها بدون صرف کافی برای فهمیدن چیزی، فقط بتونن به چند سوال سطحی در اون مورد جواب بدن
ولی اینها رو به یک شیمی‌دان یا ریاضی‌دان بگین و دعواتون می کنه. شیمی‌دان‌ها و ریاضی‌‌دان‌ها جدول تناوبی و سینوس کسینوس اعداد رو حفظ نمی کنن بلکه یاد می گیرن.

خاطره مرتبطم از ادبیات است. بچه‌ها همیشه شاکی بودن که معلم ادبیات ما که من واقعا دوستش داشتم، به جای درک معنی که توش قرار بود ما یک شعر رو بفهمیم و معنی‌اش رو بنویسیم، حفظ معنی امتحان می گیره که یعنی باید درست همونی که خودش سر کلاس گفته رو بنویسیم. راستش من همیشه مخالف بودم چون حتی معنی شعرهایی که سر کلاس می گفت رو حفظ نمی کردم. من شعر و ادبیات دوست داشتم و معنی تمام شعرهای کتاب رو می دونستم و راحت با زبون خودم می نوشتم شعر چی می گه و همیشه هم نمره کامل می گرفتم و بعد بحثم می‌شد با بچه‌هایی که به خاطر جا انداختن یک کلمه توی معنی‌ای که استاد کرده، نمره نمی گرفتن.

تفاوت رو می‌بینین؟ وقتی چیزی رو بفهمین، سطحی که باید حفظش کنین بسیار بسیار کمه. در مقابل اگر چیزی رو نفهمین می تونین با حفظ کردن همه‌اش، از تیپ امتحان‌های دبیرستان و تا حدی لیسانس و این روزها تا حدی فوق لیسانس زنده و حتی موفق بیرون بیاین.

جامعه شناسی هم همینه. حفظی نیست. هرچند که یک نفر می تونه کلش رو حفظ کنه و به اکثر سوالات جواب بده. مثلا وقتی می گیم «مارکس چپ بود» شما می تونین حفظ کنین که یک آدمی بوده که اسمش مارکس بوده که چپ بوده ولی اگر یک کتاب از مارکس خونده باشین یا نظریه مارکس رو خونده باشین دیگه نیازی به حفظ کردن این نیست. درست مثل اینکه شما خواننده وبلاگ من باشین و بعد با گزاره «جادی لینوکس و آزادی دوست داره» مواجه بشین. این گزاره برای شما «حفظ کردنی» نیست ولی اگر کسی فقط بخواد تست «شناسایی وبلاگ‌نویس‌های ایرانی» رو بگذرونه، خب معلومه که باید اینو حفظ کنه.

برای اختتام بحث به این نمودار نگاه کنین که توش می گه میزان حفظیات شما نسبت به دوره ای که توش هستین، چطوری احتمال موفقیت شما رو در هر سطح پیش بینی می کنه. اینجا منظور از سطح مثلا از دبستان است که قرار بود تعداد استان‌های ایران رو حفظ باشیم تا دوره فوق لیسانس.

nemoodar

معلومه که خیلی دقیق نیست ولی یک منظور مهم رو می رسونه: اگر سطح بحث بالا بره، حفظ کردن در علومی مثل جامعه شناسی هیچ ارزشی نداره. در یک امتحان پیشرفته جامعه شناسی که ممکنه بپرسه «انتخاب شدن روحانی رو با دیدگاه فوکویاما بررسی کنید» عملا هیچ حفظیاتی به کار نمی یاد و شما باید بدونین که فوکویاما دقیقا چی می گه و نظرش چیه و چطوری می شه پیوندش داد به یک پدیده بیرونی معاصر همین حوالی؛ هرچند که هنوزم معلومه که نوشتن یک نقل قول از حفظ یا اشاره دقیق به اسم مقاله یا کتاب می تونه کلی نمره شما رو بالا ببره.

خلاصه؟ جامعه شناسی هم مثل هر چیز دیگه وابسته است به سطحی از حفظیات است ولی بدون هیچ حفظ کردنی می شه توش چیزها رو فهمید، یاد گرفت و موفق شد. در ضمن هر چقدر توی یک چیز پیشرفت کنین، نیازتون به حفظ کردن در مورد اون چیز کمتر می شه و شروع می کنید به حفظ چیزها. ممکنه فرمول «میزانی که یک جسم از فلان زاویه در مایعی شفاف با فلان ضریب شکست بالاتر به نظر می رسه» به نظر من حفظی باشه ولی مطمئنا یکی هست که این فرمول رو می فهمه و نمود ریاضی‌اش براش تفاوت خاصی با اون جمله فارسی که من نوشتم نداره.

بخش دوم جا موند!

آقایون و خانم ها! بخش دومی هم داشت این سوال… جوابش رو خلاصه می کنم. سوال اینه که «آیا جامعه شناسی رشته ای است برای بولد کردن، ریشه یابی و راه کار مشکلات اجتماعی؟»

سوال سختیه. خب بخش بزرگی از بولد کردن رو روزنامه نگارها انجام می دن ولی دید جامعه شناسی براشون مهمه. البته بسیاری جامعه شناس ها فعال‌های اجتماعی مهمی هم بودن – از مارکس تا ادوارد سعید ولی به نظر من اینها دو بخش مستقل هستن و چون یکی جامعه شناس می شه، الزاما فعال اجتماعی یا اکتیویست یا خبرنگار مداخله گر و … نیست. اما در مورد ریشه یابی و راهکار کاملا درسته. البته بازم بحث دیدگاه ها است. مثلا ممکنه یک گروه مدعی باشن که کار جامعه شناس شناختن است و نه «حل» یا اصلا بگن «حل» ممکن نیست یا اگر هم باشه نباید انجام بشه توسط یک جامعهشناس. بعضی‌ها هم برعکس هستن و می گن جامعه شناس‌ها و فیلسوف‌ها به اندازه کافی جهان رو تفسیر کردن؛ حالا وقت تغییر جهانه! و خب فراموش نکن که این علم کلا حدود دویست سال قدمت داره در نتیجه – حتی اگر روزی ممکن بشه – انتظار نداریم که مثل یک فیزیکدان که می تونه چرخ بسازه، یک جامعه شناس بتونه کلا مشکل یک جامعه رو تشخیص بده و حل هم بکنه. راه زیادی باقیه ولی حداقلش اینه که بگم «حفظی نیست!»