تی ماکس، ابزار دست حرفه‌ای‌های کامند لاین

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

محیط کار جادی برای ضبط ویدئوهای آموزشی + دو درس از زندگی (:

من چندین ساله که فیلم آموزش درست می کنم و اینکار تقریبا همیشه توی خونه خودم و اتاق کارم بوده. توی این چند سال من تمرکز زیادی برای ایده آل کردن شرایط ضبطم نکرده‌ام ولی به هرحال تکنیک‌م کمی پیش رفته – هرچند که با چیزی قابل قبول هنوز خیلی فاصله داره.

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

اما قبل از معرفی محیط خودم، این رو بگم که محیط چندان مهم نیست. برای ساخت آموزش، کافیه شما آموزش بسازین و برای ساخت آموزش خوب، کافیه آموزش با محتوای خوب بسازین. اینکه خودتون تو فیلم باشین، اولش اینترو داشته باشه، فیلمبرداری با سه تا دوربین باشه، نورش عالی باشه، تصویر پس زمینه شما حذف شده باشه و کلی چیز دیگه، بازی های جانبی هستن. اگر برای مخاطب حرفه ای ویدئو می سازین، مهمترین چیز کیفیت محتوای شما است نه این جینگولک بازی ها (: هرچند که جینگولک بازی خوب، باعث می شه مخاطب راحتتر / خوشحالتر باشه.

نور و پرده سبز

برای رسیدن به یک افکت پرده سبز عالی (حذف بک گراوند)، انتظار می ره شما یک پرده سبز صاف و یکدست داشته باشین، نورهایی که اونو یکدست و خوب روشن کنن و یک نور که صورت شما رو به خوبی روشن کنه. انتظار می ره انعکاس نور سبز پرده روی بدن و موهای شما نیافته. برای اینکار ستاپ های مختلفی هست که می تونین با سرچ به دنبال chroma key setup بهشون برسین و حتی اگر در کشوری آزاد زندگی می کنین یا بهش دسترسی دارین، مستقیما یک کیت کامل نو رو پرده سبز مناسبش رو از جاهایی مثل آمازون بخرین.

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

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

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

دوربین

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

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

صدا

برای ضبط صدا، من از کارت صوتی خود لپ تاپ و یه میکروفون کوچولوی سیمی یقه ای استفاده می کنم. از این:

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

تبلت / قلم

همونطور که توی عکس بالا هم می بینین، من خیلی وقت ها با قلم روی صفحه می نویسم. برای اینکار اولا از برنامه gromit-mpx استفاده می کنم که اجازه می ده در محیط ایکس، با یک شورتکات (به شکل دیفالت F9) بتونم روی صفحه بنویسم. البته مشکل اینه که برنامه برای محیط ایکس نوشته شده و اگر محیط گرافیکی شما ویلند باشه که داره مطرح تر می شه مشکلاتی خواهید داشت. اما مساله جدی نیست و اونجا هم سریعا چیزی کشف / پیدا خواهد شد. برای خود عمل نوشتن، من به جای ماوس از یک تبلت wacom سری bamboo استفاده می کنم؛ مدل CTH-670. ساده و سر راست است و نتیجه اش برای من به اندازه کافی خوب. اگر برنامه دیگه ای بود که مثلا با گرفتن شیفت رنگش عوض می شد خیلی باحالتر بود ولی دنبالش نگشتم. منطقا وظیفه خودمه که سعی کنم به گرومیت اضافه اش کنم (:

نرم افزار ضبط و ادیت

برای ضبط من از نرم افزار OBS استفاده می کنم (Open Broadcast Studio). بی دردسر است و راحت. می شه براش شورتکات شروع ضبط تعریف کنین و صحنه های مختلف که می شه به هر صحنه ورودی هایی رو وصل کرد. مثلا صحنه مرسوم من سه تا منبع داره: صفحه مانیتور + تصویر وبکم + صدای میکروفون. اینها رو اضافه می کنم و جاهاشون و اندازه هاشون رو مشخص می کنم و یک فیلتر chroma key هم به تصویر وبکم اضافه می کنم که پرده رو از پشتم حذف می کنه و در نتیجه صفحه مانیتور در پشتم دیده می شه.

البته در سیستم عامل های دیگه برنامه های مناسبتری هم هست – متاسفانه با کرک و اینها. مثلا خوب می بود اگر این منابع جدا جدا ضبط می شدن و بعد من حین ادیت می تونستم بگم چه لحظه ای کدوم تصویر در چه سایزی کجا باشه. در اون صورت افکت هایی مثل کروماکی و نوشتن متن روی صفحه و اینجور چیزها با کیفیت بهتری انجام می شدن اما obs اونها رو لایو انجام می ده و نتیجه کم کیفیت تر است – ولی مهم نیست. یادتونه دیگه؟ محتوا مهم است و دردسر کمتر بهتر، من عملا هیچ وقتی برای ادیت نمی ذارم (:

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

ffmpeg -i inputfile.mp4 -acodec aac  -s 1366x768   inputfile_smaller.mp4

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

کامپیوترها چطوری عدد تصادفی تولید می‌کنن

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

لینک آپارات و یوتوب

درک برنامه نویسی: تبدیل یک عکس به الگوی تصویری که با تاس ساخته خواهد شد

اگر شما نزدیک ده هزار تاس داشته باشین، می تونین چنین چیزی بسازین:

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

شروع سری ویدئوهای مربوط به دوچرخه

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

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

  • لینک مستقیم ویدئو در آپارات: https://www.aparat.com/v/yQob7
  • لینک مستقیم ویدئو در یوتوب: https://youtu.be/DYJcxNKKT1s

انتشار رایگان دوره گیت جادی برای مدیریت توزیع شده سورس ها

گیت این روزها مشهورترین و احتمالا پر کاربردترین روشی است که می تونیم باهاش سورس برنامه‌هامون رو مدیریت کنه. در واقع به جای درست کردن یک فولدر «پروژه» و بعد درست کردن یک New folder توش و بعد از مدتی کار کپی کردن New Folder به Working-18tir و بعد کار کردن روی یک فچیر و ذخیره کردن همه کارها در Final2-give2boss و بعد رفع باگ و درست کردن final3-full و … می تونیم به گیت بگیم همه تغییرات رو یادش نگه داره و ورژن بزنه و کد یکی دیگه رو با ما ترکیب کنه و کد جدید رو اسمگذاری کنه و غیره و غیره.

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

سرفصل‌ها اینها هستن:

  • درس یکم: مقدمات گیت و نصب آن
  • درس دوم: اولین اینیت (init) و اولین کامیت
  • درس سوم: بررسی تاریخچه کارها
  • درس چهارم: بررسی تغییرات انجام شده
  • درس پنجم: آشنایی با شاخه ها یا همان برنچ ها (Branch)
  • درس ششم: کمی بیشتر در مورد برنچ ها
  • درس هفتم: آشنایی و استفاده از گیت هاب (GitHub)
  • درس هشتم: بررسی و حل کانفلیکت های (Conflict) ریموت
  • درس نهم: تگ زدن برای شناسایی نسخه ها
  • درس دهم: امضا کردن تگ ها و کامیت ها
  • درس یازدهم: دیباگ کردن با کمک گیت
  • درس دوازدهم: آشنایی با گیت لب و مشارکت در پروژه ها

ویدئوی آموزشی آماده سازی یک سرور اوبونتو برای هاست یک پروژه پی اچ پی

دوستم وحید رجبلو ازم خواسته که سرور اوبونتویی جدیدش رو برای پروژه جدیدش که قراره یه استارتاپ برای کمک به معلولین و رد و بدل نیروی کار باشه، آماده کنم. مدتی بود یک فکر جدید داشتم که به دلایل مختلف ازش خجالت می کشیدم ولی خب به نظرم کار خوبی بود. حالا تصمیم گرفتم عملی کنم: اجرای انگلیسی ویدئو!

اما چرا انگلیسی؟ دلیلش دو تا است:

  • ویدئو مخاطبین بیشتری پیدا می کنه
  • ترس خودمون از زبان انگیسی می‌ریزه

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

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

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

توی این ویدئو، شروع می‌کنم تنظیم کردن سرور اوبونتو برای وحید رجبلو. برنامه‌های اصلی رو نصب می کنیم تا توی بعدی، برنامه های دیگه رو نصب کنیم و کمی هاردنینگ.

فهرست کاملی از چیزهایی که یک برنامه نویس باید بدونه

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

برای اینکار کتاب و غیره هست. یا حتی راهنماهای شروع ولی خب اگر فهرست کاملتری می خواین، پیشنهاد می‌کنم این فهرست با عنوان Every Programmer Should Know رو نگاه کنین. به نظرم خوبه این فهرست رو تگ کنین و هر وقت که بیکار بودین، یکیشون رو بخونین. بخصوص که بعضی‌هاش تازه اشاره‌ای است به فهرست‌های دیگه و البته برای ما متاسفانه بعضی‌هاش هم لینک است به کتاب‌های مختلف.

اگر دوست دارین برنامه نویس بهتری بشین، فهرست چیزهایی که هر برنامه نویس باید بدونه دوست شماست.