۴ مطلب با موضوع «رایانه» ثبت شده است
۱۹ تیر ۱۴۰۲

درود. تو این مطلب که در اهمیت ماستودون نوشتم سعی می‌کنم بهتون توضیح بدم «چرا ماستودون مهمه؟» و «چرا باید به ماستودون کوچ کنیم؟» :)

۱- شبکه‌ی اجتماعی نامتمرکز چیست؟

به شبکه‌هایی مثل دیسکورد، توییتر، اینستاگرام، آپارات و... می‌گیم متمرکز؛ این وبسایت‌ها یک مرکز دارند. مثلا مرکز اینستاگرام، شرکت بِتا (همون فیسبوک) هست و مرکز گوگل‌چت، شرکت آلفابت.

در مقابل، یک شبکه‌ی اجتماعی نامتمرکز، یک مرکز واحد نداره! بلکه از شبکه‌ای از مرکزها ساخته شده. به هر یک از این مرکزها می‌گیم «نمونه». همه‌ی نمونه‌ها تحت کنترل یک شرکت یا گروه نیستند و هر کسی حق داره برای خودش یک نمونه‌ی جدید بسازه.

متمرکز در مقابل نامتمرکز

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

و اما چرا نامتمرکز از متمرکز بهتره؟

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

ماستودون (Mastodon) چیست؟

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

در توییتر، به هر پست می‌گفتیم «توییت»، در ماستودون به هر پست می‌گیم بوق (به انگلیسی: toot). به نظرم انتخاب واژه‌ی جالبیه! مثلا می‌تونیم به جای «توییتش کن» بگیم «ببوقش»! یا به‌جای «ری‌توییت» می‌تونیم «بازبوقش» :)

هشدار: پیام‌های خصوصی در ماستودون رمزنگاری‌شده انتها-به-انتها نیستند. خلاصه بگم! بیش از حد به امنیتش اعتماد نکنید. برای چت خصوصی از برنامه‌های امن‌تر مثل تلگرام، سیگنال یا ماتریکس بهره ببرید.

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

فِدی‌وِرس (Fediverse) چیست؟

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

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

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

پیکسل‌فِد (PixelFed) چیست؟

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

پیکسل‌فد هم مثل ماستودون از طریق وب در دسترسه پس الزامی به نصب برنامه‌های موبایلی نیست.

پیرتیوب (Peertube) چیست؟

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

یادآوری

وقتی می‌گیم «ماستودون»، یک سایت خاص وجود نداره، بلکه ده‌ها نمونه وجود داره که همه‌شون ماستودون هستند، به همین دلیل اگه بخوایم اکانتمونو بدیم یه نفر فالو کنه، باید بگیم روی کدوم نمونه هستیم! مثلا فرض کنید یوزرنیم من Mat باشه، وقتی می‌خوام به شما آدرس بدم که منو فالو کنید اگه بگم @Mat خب شما نمی‌تونید منو پیدا کنید بلکه باید بگم @Mat@khiar.net این‌طوری با یه سرچ ساده منو پیدا می‌کنید (فرقی نداره از چه نمونه‌ای سرچ کنید).

مراقب دروغگوها باشید

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

اگر حرفی سوالی نکته‌ای چیزی بود در خدمتم :)

در این مطلب یاد می‌گیریم درایور مناسب کارت گرافیک Nvidia رو روی گنو/لینوکس فدورا نصب کنیم :) توضیحات این صفحه روی فدورا ۳۷ تست شده.

این مطلب یک برگردان از انگلیسی به فارسی است.

عنوان اصلی مطلب: Guerilla open access manifesto

نویسنده: آرون شوارتز (Aaron Swartz)

مترجم: متین غلامی

متن اصلی بیانیه: {لینک}

دانلود: {دانلود PDF بیانیه دسترسی آزاد چریکی}

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

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

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

بسیاری می‌گویند: «قبول دارم، ولی چه کاری می‌تونیم بکنیم؟ اون شرکت‌ها صاحب حق نشر هستن، کلی پول از فروش دسترسی در میارن و کارشون کاملا قانونیه، ما نمی‌تونیم هیچ کاری بکنیم.» اما کارهایی هست که از دست ما بربیاید، کارهایی که از پیش انجام می‌شود: ما می‌توانیم مبارزه کنیم.

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

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

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

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

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

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

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

آرون شوارتز
ژولای ۲۰۰۸، اِرِمو، ایتالیا

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

چرا باید از ترمینال بریم سراغ فایل‌ها؟

به دلایل مختلفی ممکنه بخوایم از ترمینال به مدیریت فایل‌ها بپردازیم

  • گاهی اوقات فایل منیجر در دسترس نیست؛ مثلا وقتی با SSH به یه دسکتاپ یا سرور وصل می‌شیم یا وقتی برنامه فایل منیجر رو دسکتاپ نداریم یا اینکه مشکلی داره!
  • اجرای بعضی دستورات در فایل منیجر ممکن نیست یا گاهی وقت‌گیره (مثلا دریافت لیست کامل محتویات دایرکتوری و ساب‌دایرکتوری‌ها یا جستجو در فایل‌ها)

توضیحات این صفحه به هیچ عنوان کامل نیست :) من فقط نکاتی که به نظرم کاربردی بودن رو اینجا گفتم.

۱- نمایش فهرست فایل‌ها و دایرکتوری‌ها در ترمینال

قاعدتا اولین دستور ls هست برای فهرست کردن فایل‌های موجود. برای نمایش توضیحات این دستور، ls --help رو وارد می‌کنیم اما آرگیومنت‌های پرکاربرد این‌ها هستن:

آرگیومنت توضیحات
 -l نمایش هر فایل در یک خط با توضیحات اضافه شامل نوع فایل، دسترسی‌ها، اندازه فایل‌ها و زمان آخرین ویرایش
 -F نمایش / در انتهای نام دایرکتوری‌ها
 -S مرتب سازی بر اساس اندازه فایل از بزرگترین به کوچک‌ترین
 -r برعکس کردن ترتیب فایل‌ها
 -lh نمایش سایز فایل‌ها در فرمت قابل خوانش (مگابایت، گیگابایت و...)
 -a نمایش فایل‌ها و دایرکتوری‌های مخفی (که نامشان با . شروع می‌شود)
 -R نمایش فایل‌های موجود در ساب‌دایرکتوری‌ها

معمولا دستور زیر یه خروجی مناسب و کاربردی بهم می‌ده:

ls -lha

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

ls -lharFRS > ~/list.txt

۲- تغییر دایرکتوری در ترمینال

برای تغییر دایرکتوری از cd استفاده می‌کنیم :) توضیحات خاصی نداره!

  • cd به تنهایی ما رو به user home directory منتقل می‌کنه
  • cd ~ هم باز ما رو به user home directory هدایت می‌کنه اما اگه بعد از ~ یه یوزرنیم وارد کنیم به home directory مربوط به همون کاربر منتقل می‌شیم
  • cd - ما رو به آخرین دایرکتوری برمی‌گردونه! مثلا اگه در  /home/usr/Downloads باشیم بعد دستور cd ~/Music رو بزنیم به /home/usr/Music منتقل می‌شیم و حالا با cd - به /home/usr/Downloads برمی‌گردیم.

۳- جستجو در فایل‌ها در ترمینال

در استفاده از این دستور مراقب باشید، مثلا find ~ -delete می‌تونه همه‌ی فایل‌های شخصی رو حذف کنه!

کلیت دستور find به این شکله:

find [options] [path] [expression]

که در options تعریف می‌کنیم چه رفتاری با پیوندهای نمادین (symbolic links) داشته باشه؟ بعد در path تعریف می‌کنیم که جستجو رو باید از کجا شروع کنه؟ و نهایتا در expression تعریف می‌کنیم که دنبال چه چیزی بگرده و باهاش چه کار کنه؟

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

در بخش options

در این بخش رفتار مطلوب در مقابل symbolic links رو تعریف می‌کنیم.

 -P حالت پیش‌فرض: پیوندهای نمادین را دنبال نکرده و اطلاعات مربوط به خودِ پیوند مرجع می‌شود.
 -L همواره پیوند نمادین را دنبال کرده و هم‌چنین اطلاعات مربوط به مقصد پیوند مورد ارجاع قرار گیرد.
 -H پیوند نمادین را دنبال نمی‌کند اما برای دستورات CLI، اطلاعات مقصد پیوند مرجع خواهند بود.
 -D چاپ موارد مربوط به دیباگ برنامه‌ی find

در بخش expression

عمده دستکاری‌های ما در این بخش هستند! اینجا تعریف می‌کنیم دنبال چه فایلی می‌گردیم یا چه بلایی می‌خوایم سرش بیاریم :)

نکته: هر کجا از عدد در دستور استفاده کنیم می‌تونیم + یا - قبل از عدد بیاریم که به معنای بیش‌تر یا کم‌تر از اون عدد خواهد بود.

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

 -name []

جستجو بر اساس نام یا پسوند با حساسیت به حروف کوچک و بزرگ

 -iname []

جستجو بر اساس نام یا پسوند بدون حساسیت به حروف کوچک و بزرگ
find ~ -name name.txt
find ~ -iname name.txt
find ./ -name "*name*"
find ./ -iname "*name*"
find ./ -name "*.ext"
find ./ -iname "*.ext"

جستجو بر اساس سایز فایل در ترمینال

 -size n

جستجو بر اساس سایز

ما می‌تونیم برای سایز واحد تعریف کنیم: c برای بایت؛ k برای کیلوبایت؛ M برای مگابایت و G برای گیگابایت.

تمام فایل‌هایی که دقیقا ۱ گیگابایت حجم دارند
find -type f -size 1G
فایل‌هایی با پسوند txt که بیش از ۵۰ کیلوبایت حجم دارند
find -type f -name '*.txt' -size +50k
فایل‌هایی با حجم بین ۵ تا ۱۵ مگابایت در دانلودها
find ~/Downloads -type f -size +5M -size -15M

جستجو و حذف فایل‌ها و دایرکتوری‌ها در ترمینال

 -delete

حذف فایل‌های یافت شده!

دقت کنید که چون find از چپ به راست اجرا می‌شه -delete رو همیشه در انتها قرار بدین.

حذف فایل‌ها و دایرکتوری‌های خالی
find ~ -empty -delete
حذف تمام فایل‌ها در پوشه دانلودها و نه ساب‌دایرکتوری‌ها
find ~/Downloads -type f -maxdepth 0 -delete
حذف هر فایلی با نام test.txt در دانلودها و ساب‌دایرکتوری‌ها
find ~/Downloads name test.txt -delete

جستجوی فایل و اجرای دستور در ترمینال

ما می‌تونیم از find بخوایم هر دستوری (خارج از تعریفات خود برنامه) روی فایل‌های یافت شده اجرا کنه:

 -exec command {} \; اجرای command روی فایل‌ها و دایرکتوری‌های یافت شده بدون کسب اجازه
 -ok command {} \; اجرای command روی فایل‌ها و دایرکتوری‌های یافت شده با کسب اجازه

پیشنهاد می‌کنم همیشه قبل از اجرای هر دستوری روی فایل‌ها اول یه بار دستور ls رو اجرا کنید تا لیستی از فایل‌هایی که قراره تغییر کنن ببینید و احتمال اشتباه کم‌تر بشه:

find -exec ls {} \;

چند مثال تکمیلی:

تغییر مجوز دسترسی به تمام فایل‌های .php در دایرکتوری /var/www و ساب‌دایرکتوری‌ها:

find /var/www -iname '*.php' -exec chmod 664 {} \;

جابجا کردن تمام فایل‌های .PDF از دایرکتوری دانلودها (و نه ساب‌دایرکتوری‌ها) به /home/PDFs:

find ~/Downloads -iname '*.pdf' -exec mv {} /home/PDFs/ \;

حذف فایل‌های خالی با دستور rm:

find ~ -type f -empty -ok rm {} \;

حذف فایل‌های با حجم بالاتر از ۲ گیگابایت با کسب اجازه:

find ~ -type f -size +2G -ok rm{} \;

یافتن تمام فایل‌ها به جز فایل‌های .png در دانلودها و ذخیره سازی نتیجه در یک فایل txt:

find ~/Downloads -type f -not -iname '*.png' > ~/myfile.txt
find ~/Downloads -type f -not -iname '*.png' -fls ~/myfile.txt

۴- باز کردن فایل از ترمینال

برای باز کردن یک فایل خاص در ترمینال از دستور xdg-open استفاده می‌کنیم؛ این دستور فایل رو با برنامه پیش‌فرض باز می‌کنه، در صورتی که برنامه پیش‌فرض تعریف نشده باشه ارور می‌ده و در صورتی که به جای آدرس فایل، آدرس وبسایت وارد کنیم، اونو با مرورگر پیش‌فرض باز می‌کنه.

xdg-open '~/Downloads/file.txt' => text editor

xdg-open 'https://matinu.ir' => Browser