ویرگول
ورودثبت نام
رامین
رامین
رامین
رامین
خواندن ۸ دقیقه·۱۰ ماه پیش

گزارش جلسه سوم از فصل دوم دورهمی برنامه نویسان زاویه (1403/11/15)

پوستر جلسه
پوستر جلسه


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

عکس دسته جمعی پایان جلسه
عکس دسته جمعی پایان جلسه


بخش اول: آینده شبکه‌های اجتماعی غیرمتمرکز و معرفی Fediverse

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

گزیده ای از پروتکل ها و پلتفرم های رایج در فدیورس (2024)
گزیده ای از پروتکل ها و پلتفرم های رایج در فدیورس (2024)


مشکلات شبکه‌های اجتماعی متمرکز

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

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


راه‌حل شبکه‌های اجتماعی غیرمتمرکز: Fediverse

بعدش اومدیم سراغ معرفی Fediverse که ترکیبی از دو کلمه Federation + Universe هست. توضیح دادیم که این سیستم چطوری کار می‌کنه و چه مزیت‌هایی داره.

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

نمونه‌های واقعی این شبکه‌ها که معرفی کردیم شامل اینا بودن:

  • Mastodon: جایگزین توییتر
  • Pixelfed: جایگزین اینستاگرام
  • PeerTube: جایگزین یوتیوب
برنامه PixelFed جایگزین اینستاگرام
برنامه PixelFed جایگزین اینستاگرام


برنامه mastodon جایگزین توییتر
برنامه mastodon جایگزین توییتر


از این گفتیم که فرض کنید از اینستاگرام بتونی به دوستت توی توییتر پیام بدی و حتی دوستت پست اینستاگرامت رو توی توییتر ببینه. این در دنیای متمرکز ها امکان پذیر نیست ولی در دنیالی شبکه های اجتماعی غیرمتمرکز امکان پذیره و شما میتونید از pixelfed به mastodon پیام بدید یا پست های همدیگه رو ببینید.

ارتباط بین شبکه ها
ارتباط بین شبکه ها


توضیح دادیم که این پلتفرم‌ها مثل ایمیل عمل می‌کنن. هرکی سرور خودش رو داره ولی باهم در ارتباط هستند.

هر دو پروتکل یکسانی رو پشتیبانی میکنن و باهم در ارتباط هستند. این پروتکل ActivityPub هست.

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

از ارسال و دریافت پیام، فعالیت ها، پست و غیره بگیر تا بلاک، و فیلتر و غیره.

این پروتکل تعامل پذیری خیلی بالایی داره

استقلال از شرکت های بزرگ رو فراهم میکنه

اوپن سورس هست

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

هرکسی میتونه عضو سرور دیگه ای بشه

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

هر سرور (یا همون instance) می‌تونه قوانین خاص خودش رو داشته باشه. برای مثال، می‌تونیم یه instance زاویه درست کنیم که اعضای اون فقط از بین دوستان زاویه باشن و طبق قوانین خودمون کار کنه.

ویژگی‌های مهم Fediverse:
  • کاربران می‌تونن باهم تعامل داشته باشن، حتی اگه روی پلتفرم‌های مختلف باشن (مثلاً از Pixelfed به Mastodon پیام بدن)
  • اوپن سورس بودن و عدم وابستگی به شرکت خاص
  • تمرکز بر حریم خصوصی و آزادی بیان
  • امکان خروج و انتقال داده‌ها به سرور دیگه (بدون از دست دادن دنبال‌کننده‌ها)
اینفوگرافیک از عملکرد اصلی ActivityPub
اینفوگرافیک از عملکرد اصلی ActivityPub


نحوه مدیریت و کنترل در Fediverse

یکی از بحث‌های جالب این بود که هر instance توسط مدیر خودش کنترل می‌شه. مدیر می‌تونه قوانین خاصی برای ثبت‌نام بذاره یا بعضی instance‌ها رو مسدود کنه.


آزادی انتخاب و ترک سرور (Instance)

یکی از ویژگی‌های جالب Fediverse اینه که اگر از قوانین یا فضای یه Instance خاص خوشت نیومد، می‌تونی خیلی راحت اونو ترک کنی. این یعنی فرار از دیکتاتوری!
حتی یه امکان باحال‌تر هم داره: Export و Import داده‌ها. اگه خواستی از سروری بری، همه داده‌هات از جمله فالوئرها، پست‌ها و تنظیمات رو می‌تونی به سرور جدید منتقل کنی، بدون اینکه چیزی رو از دست بدی.

مهاجرت در ماستادون
مهاجرت در ماستادون


ماجرای تیک آبی و تأیید هویت

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

برای گرفتن تأیید هویت، چند روش معرفی کردیم:

  • قرار دادن کد مخصوص در سایت شخصی (نشون می‌ده که اون سایت واقعاً برای شماست)
  • امضای دیجیتال با کلید رمزنگاری‌شده
  • گذاشتن لینک پروفایل در شبکه‌های اجتماعی دیگه
تایید سایت در ماستادون
تایید سایت در ماستادون


حریم خصوصی؛ حق کاربر، نه امتیاز!

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


بحث امنیت: آیا پیام‌ها رمزنگاری می‌شن؟

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


قوانین محلی و تأثیرش بر داده‌های کاربران

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

سرورهای ماستادون
سرورهای ماستادون


انواع پیام‌ها و حساب‌های کاربری

برای اینکه کاربری تازه‌وارد در این سیستم سردرگم نشه، توضیح دادیم که پیام‌ها چند نوع دارن:

  • پیام خصوصی (Direct Message)
  • پیام فقط برای دنبال‌کننده‌ها
  • پیام عمومی در سرور (Local Timeline)
  • پیام گلوبال برای همه سرورها (Federated Timeline)
نمایی از ماستادون
نمایی از ماستادون

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


چالش‌های میزبانی و ریسک Down شدن سرورها

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


رشد روزافزون این شبکه‌ها

در بخش پایانی، نگاهی به رشد Fediverse کردیم. Mastodon تا سال 1402 حدود 20 میلیون کاربر داشت و این عدد مدام در حال افزایشه.
حتی Pixelfed که به‌عنوان جایگزین اینستاگرام شناخته می‌شه، رشد سریعی داره. جالب اینکه فیسبوک و اینستاگرام لینک‌های مربوط به Pixelfed رو حذف می‌کنن تا از رشدش جلوگیری کنن.


ابزارهای حریم خصوصی و امکانات متنوع

از ابزارهای حریم خصوصی گفتیم که شامل این گزینه‌هاست:

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


پایان بحث با مرتضی و سجاد

جلسه رو با بحث‌های داغ مرتضی و سجاد در مورد آینده شبکه‌های اجتماعی غیرمتمرکز تموم کردیم. هر کدوم نظر متفاوتی داشتن و این تنوع دیدگاه باعث شد بحث خیلی جذاب بشه.


بخش دوم: تجربه شکست در پروژه خانه هوشمند

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

دستاوردهای اولیه

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

نمونه آزمایشگاهی خانه هوشمند جهت دمو
نمونه آزمایشگاهی خانه هوشمند جهت دمو


حضور در نمایشگاه‌ها و فرصت‌های از دست رفته

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

چالش‌ها و مشکلات تیم

مشکلات اصلی تیم نادر اینا بودن:

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


ضعف در تجاری‌سازی

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

تصویر ویدیو دمو که در جلسه پخش شد
تصویر ویدیو دمو که در جلسه پخش شد


پایان جلسه و امید به آینده

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

عکس دسته جمعی پایان جلسه
عکس دسته جمعی پایان جلسه


لینک ها

کانال دورهمی برنامه نویسان در تلگرام: zavieprogrammers@

به دلیل محدودیت ویرگول و تبلیغ شناختن لینک ها، باقی لینک ها رو به صورت عکس گذاشتم
به دلیل محدودیت ویرگول و تبلیغ شناختن لینک ها، باقی لینک ها رو به صورت عکس گذاشتم


شبکه‌های اجتماعیدورهمیبرنامه نویسیحریم خصوصی
۰
۲
رامین
رامین
شاید از این پست‌ها خوشتان بیاید