سیتو می خواد از لینوکس پول در بیاره و من هم بهش کمک می کنم

بچه‌های سیتو گفتن که اگر ۲۴ میلیون تومن جمع کنن، با استفاده از بهترین و شناخته‌ شده‌ترین بچه‌های دنیای گنو/لینوکس ایران برای یکسال یک مجله با کیفیت بالا در مورد دنیاهای آزاد رو منتشر خواهند کرد. اونها برای رسیدن به مبلغ مورد نظر سایتی راه انداختن و با قدرت تلاش می کنن براش پول جمع کنن.

این ایده مشکلاتی داره. می شه بحث کرد که آیا ۲۴ میلیون تومن برای یک نشریه دیجیتال یکساله پول زیادی است یا نه. می شه در این مورد بحث کرد که چرا با نویسنده‌ها صحبتی نشده که اصولا قراره چقدر مطلب بدن و چقدر پول بگیرن یا می شه گفت که چرا حقوقی که خود چرخوننده مجله از این پول بر می داره جایی عنوان نشده و غیره و غیره. کاملا درسته که اینها اشکالاتی هستن که وجود دارن و می شد شفاف تر و بهتر بشه؛‌ درست همونطور که این اشکال رو گرفتیم که «اگر پول کافی جمع نشد چی؟» و الان صریحا اعلام شده که در این صورت پول‌های جمع آوری شده پس داده می شه.

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

استدلال ها به این شکل که «این کار بهترین کاری نیست که می شه کرد» استدلالهای چندان مورد توجهی نیستن. الان جنبش زنان در ایران فعاله و مسخره ترین شکل استدلال اینه که بگیم «چرا این گروه به جای اینکه بیانیه فلان رو بدن نرفتن جلوی مجلس به اینکه ایران تنها کشور با حجاب اجباری است اعتراض کنن». جواب اینکه «چرا به جای فلان کار بهمان کار رو نمی کنن» اینه که «خب شما برو بکن»‌ (: یا مثلا اگر بگیم «۲۴ میلیون برای نشریه خیلی زیاده و با ۱۲ میلیون هم می شه در آورد» منطقا باید جواب بگیریم «خب اگر می ارزه شما با ۱۲ میلیون در بیار و همه هم خوشحال می شن».

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

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

همین الان با افتخار ۵۰ تومن به این کمپین کمک کردم و از شرکتم هم خواسته ام که تا جایی که براش ممکنه به عنوان پشتیبان مالی در این نشریه حضور داشته باشه.

تلاش برای کم کردن یک اعدام در کشوری که دومین اعدام کننده جهانه

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

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

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

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

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

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

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

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

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

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

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

what_programming_lang_to_study

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

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

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

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

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

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

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

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

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

تولد ۴۳ سالگی لینوس توروالدز مبارک

torvalds_bd

امروز ۲۸ دسامبر است و تولد لینوس توروالدز از پدر و مادری فنلاندی در زمستانی سرد (: میلوکس یادآوری کرد و خوشحالیم که این برنامه نویس عالی متولد شد تا ما لینوکس رو داشته باشیم و گیت رو… هرچند که معتقدیم اگر ایشون در اون لحظه خاص اون کار خاص رو نمی کرد، یک کم اینطرف و اونطرف تر یکی دیگه آستین بالا می زد و رسالت تاریخی نوشتن یک هسته آزاد و قوی رو انجام می داد. توروالدز بد اخلاق، یکی از بهترین برنامه نویس های جهانه. خیلی‌ها یک محصول خوب دارن ولی وقتی شما گیت رو به عنوان پروژه دوم انجام بدین، ثابت کردین که محصول اولتون اتفاقی نبوده. تولد ۴۳ سالگی لینوس توروالدز مبارک.

مرسی از گیف کارت های آمازون

حسابی ممنون از علی، محمد، فرزاد و همایون به خاطر گیفت کارت‌های آمازونی که فرستادن. بسیار خوشحالم کردین دوستان و ممنون – راستش کشف نکردم چطوری می تونم به تک تک جواب بدم چون آمازون فقط بهم اسم گفت و گفتم حداقل اینجا بنویسم. حس خوبی داشت. هم از پیام‌های گرمتون خوشحال شدم و هم به درخواست‌هایی که داشتین عمل کردم (: بازم مرسی و کلی حال داد. الان هم کیبورد محبوبم رو دارم و هم از خواب بیدار کننده عالی ام هم دیگه ۱۴ روزه نیست و راحت کار می کنه و هم کردیت اضافی برای خریدهای آتی.

اینم فایل تشکر که چون سنگین بود گفتم تو اصل مطلب نذارم

بشتابید: مارکت آمازون و پنج دلار کردیت مجانی برای دارندگان اندروید

amazonfree5usd

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

برای اینکه از این فرصت استفاده کنین همین امروز یا حداکثر فردا یا نه دیگه آخرش پس فردا:

  1. اگر قبلا ایناکر رو نکردین تنظیمات گوشی رو باز کنین و بگین که برنامه‌ها می تونن از Unknown Sources نصب بشن. اکثر ما ایرانی‌ها قبلا اینکار رو کردیم تیک رو بزنین و اوکی کنین.
  2. در آمازون دات کام برای خودتون یک اکانت بسازین
  3. از اینجا مارکت اندروید آمازون رو دانلود و نصب کنین
  4. مشخصاتتون رو به اپ استور آمازون بدین و یک برنامه (حتی رایگان) رو دانلود کنین

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

لازم به ذکره که من در نقش نابغه، در حالی که از این جریان بسیار خوشحال بودم چون ماه ها بود می خواستم کیبورد Swype رو بخرم و امکانش برام نبود، رفتم این کارها رو کردم ولی به جای اپلیکیشن مجانی یک اپلیکیشن مهمل ۴ دلاری خریدم چون فکر می کردم مجانی شده. نگو مجانی نبود و آمازون پولش رو از اون ۵ دلاری که بهم داده بود کم کرد ولی حالا که دوستان لطف کردن گیفت کارت دادن، با اون می خرم. مرسی واقعا و کلی شاد شدم و من هنوزم نمی تونم کیبوردم رو بخرم! اگر خواستین ۵ دلار گیفت کارت دونیت کنین با علاقه پذیرایم در آدرس jadijadi روی جیمیل دات فلان.

آپدیت: اگر از قبل اپلیکیشن اپ استور آمازون رو داشتین، کافیه بازش کنین و آپدیتش کنین به نسخه ۷.۵ به بعد (از منو Check for updates یا چنین چیزی) و بعد یک اپلیکیشن یا بازی (حتی مجانی) دانلود کنین و پنج دلارتون رو جایزه بگیرین.

می دونین چرا ~ نشون دهنده دایرکتوری خونه است؟ چون…

توی سیستم‌های یونیکسی (از بی اس دی‌ها، گنو/لینوکس‌ها و مک او اس تن) تیلدا یا همون ~ نشون دهنده دایرکتوری خونه است. مثلا این دستور شما رو به خونه تون می بره:

$ cd ~
$ #که البته حرفه‌های می دونن ~ توش اضافی است (:

اما چرا؟ چون زمانی که در دهه ۷۰ ترمینال‌های ADM-3A مرسوم بودن کلید HOME (که الان روی کیبوردهای ما مهم شده و یک دگمه مستقل داره و کرسر رو به اول خط می بره) و ~ روی یک کلید بودن. درست مثل این:

و دقیقا به همین خاطر بود که یونیکسی‌ها تصمیم گرفتن از کلید ~ برای اشاره به هوم دایرکتوری استفاده کنن.

L3esv

جایزه: آیا می دونین چرا HJKL در ادیتورهایی مثل vi به عنوان کلیدهای جهت‌نما کار می کنه؟ عکس بالا این رو هم توضیح می ده.

منبع

با کوبلی آشنا بشین: مکعب ۱۵ سانتی که رو گوشه‌اش می‌ایسته و راه می ره

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