Woland's Linux Journal – Telegram
Woland's Linux Journal
2.76K subscribers
387 photos
36 videos
20 files
366 links
همه‌چیز درباره لینوکس، برنامه‌نویسی، تکنولوژی و اخبار
Download Telegram
جالبه بدونین که podman inspect به صورت پیش‌فرض یک قسمت CreateCommand توی خروجی json داره.

podman inspect <container_id> | jq -r '.[0].CreateCommand | join(" ")'
👍21
💠ytsage💠

یک دانلودر همه‌کاره برای یوتوب

دانلود از گیتهاب

یا

python3 -m venv venv
source venv/bin/activate

pip install ytsage


#معرفی
15👍2
💠بررسی کلاینت‌های گرافیکی گیت💠

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

اگه از من بپرسین می‌گم که این دقیقا همون وقتیه که باید خط فرمان گیت رو درست یاد بگیرین... یا درواقع این همون وقتیه که بلد بودن خط فرمان گیت باعث می‌شه توی تیم به چشم بیاید.
در عین حال سوتی‌های گیتی هم باعث آبرو ریزی هستند.
در اکثر محیط‌ها gitk و gitg در کنار گیت نصب می‌شن و رابط‌های گرافیکی نه‌چندان بدی رو برای کاربر فراهم می‌کنن. فکر می‌کنم همه‌مون lazygit و tig رو هم می‌شناسیم و می‌دونیم که احتمالا بهترین رابط‌های پایانه‌ای گیت هستند.
در کنار ابزارهای بالا، smartgit رو هم می‌بینید، که یک رابط خیلی قوی برای گیته و برای استفاده شخصی پروانه رایگان داره.

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

استفاده از خط فرمان گیت شاید پیچیده باشه، اما سرعت و اطمینان خاطر بالایی رو به کاربر می‌ده، و وابستگی به ابزارهایی که شاید در همه محیط‌ها نباشند رو از بین می‌بره.
5👍4
حالا که صحبت از گیت کردیم، بذارید چندتا از بهترین افزونه‌های ویم برای گیت رو بهتون معرفی کنم.

Plug 'tpope/vim-fugitive'
Plug 'airblade/vim-gitgutter'
Plug 'rbong/vim-flog'

Plug 'jreybert/vimagit'


افزونه‌ی vim-fugitive که توسط tpope نوشته شده، یک اینترفیس برای گیت از داخل گیت هست که می‌تونه به اجرای دستورهای گیت از داخل ویم خیلی کمک کنه.

افزونه‌ی gitgutter نشانه‌هایی برای نمایش تغییرات شاخه به نسبت شاخه اصلی توی ویم اضافه می‌کنه.

افزونه‌ی flog که برای من پرکاربردترین در میان این افزونه‌هاست، یک کاوشگر شاخه برای گیت هست که تغییرات شاخه رو به‌صورت یک diff توی ویم نمایش می‌ده. این افزونه به‌عنوان یک interface برای fugitive کار می‌کنه.

افزونه‌ی vimagit هم افزونه‌ایه که به تقلید از magit که برای ایمکس هست ساخته شده، اما من خودم ازش خیلی استفاده نکردم.

#git #vim
#ویم #گیت #آموزش
👍62
گوگل با تغییر یک خط کد، ۹۰٪ اینترنت رو از دسترس خارج کرد

&num=100


که تعداد صفحات نتایج جستجو رو تعیین می‌کرد حالا به ۱۰ کاهش یافته.

این تغییر برای انسان‌ها شاید بی‌معنی باشه چون به ندرت کسی از صفحه ۱۰ گوگل فراتر می‌ره، اما همه‌ی LLMها به واسطه crawlerهاشون از این داده برای فهمیدن سر و ته مطالب استفاده می‌کردند.

حالا بیش از ۹۰٪ اینترنت عملا از طریق گوگل از دسترس خارج شده. فقط با تغییر یک متغیر!

#خبر
👍335🤓4🫡3😁2🤩1🙏1😭1
👍21😁9😭1🤝1
💠پروژه جدید بنیاد نرم‌افزار آزاد Librephone💠

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

مدیر اجرایی FSF، زویی کویمن گفته:
«وقتی چهل سال پیش FSF رو شروع کردیم، هدف‌مون آزادی در کامپیوترهای دسکتاپ و سرور بود. تکنولوژی عوض شده، اما تعهدمون به آزادی نه. الان وقتشه همین مسیر رو برای موبایل هم ادامه بدیم. این پروژه پیچیده‌ست، ولی ما به کارهای بلندمدت عادت داریم.»

هدف Librephone اینه که فاصله بین نسخه‌های آزاد اندروید و آزادی کامل نرم‌افزار رو از بین ببره. برای شروع، FSF توسعه‌دهنده با سابقه‌ای به اسم راب ساووی (از پروژه‌های DejaGNU، Gnash، OpenStreetMap و غیره) رو استخدام کرده تا وضعیت فریمور و باینری‌های غیرآزاد گوشی‌ها رو بررسی کنه. تمرکز اولیه هم روی کارهایی هست که پروژه‌هایی مثل LineageOS انجام دادن، با این تفاوت که Librephone می‌خواد اون بخش‌های بسته و غیرآزاد رو حذف و جایگزین کنه.

سرمایه اولیه این پروژه رو جان گیل‌مور (عضو هیئت‌مدیره FSF) داده. خودش گفته:
«من سال‌ها از LineageOS با MicroG و F-Droid استفاده کردم که گوگل‌افزارها رو حذف می‌کنه. ولی بعد فهمیدم هنوز بخش‌هایی از فریمور گوشی به صورت باینری و بسته داخلش هست. به‌جای تسلیم شدن، تصمیم گرفتم با همکاری دیگران اون بخش‌ها رو مهندسی معکوس کنیم و کاملاً آزادشون کنیم.»

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

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

ساووی هم گفته:
«به‌عنوان کسی که سال‌ها روی سیستم‌های امبدد و موبایل کار کرده، خوشحالم که می‌تونم برای ساخت یه گوشی واقعاً آزاد تلاش کنم. این کار آسون، سریع یا ارزون نیست، ولی ما روی شونه‌ی غول‌هایی وایستادیم که قبلاً بخش زیادی از مسیر رو رفتن. خوشحال می‌شیم شما هم با کار یا کمک مالی‌تون همراه ما بشید.»

اطلاعات بیشتر و نحوه مشارکت:
https://fsf.org/campaigns/librephone

سایت پروژه:

https://librephone.fsf.org

گفت‌وگو در IRC:
#librephone روی irc.libera.chat

#خبر
20👍1
مخزن عظیمی از کتاب‌های برنامه‌نویسی رایگان به تمامی زبان‌های جهان!

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

👉🔗 free-programming-books

#کتاب
#معرفی
12👍3🔥1🤩1🙏1🤝1
⚠️تمام سرویس‌های داکر پایین هستند⚠️


ویرایش:

به دلیل اختلال در AWS اتفاق افتاده
AWS Multiple Services Down in us-east-1

👉🔗 dockerstatus
🫡62
This media is not supported in your browser
VIEW IN TELEGRAM
یک terminal multiplexer با قابلت floating

نسخه در مرحله آزمایشی است

👉🔗 tuios

#معرفی
🔥13😁31🤩1
احتمالا متوجه شدین که فایرفاکس هم داره به یک آشغال آلوده به Ai تبدیل می‌شه.

گفته شده که با اضافه شدن ویژگی‌های جدید هوش مصنوعی، کاربران امکان غیر فعال کردنشون رو خواهند داشت.

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

در نوار جستجو عبارت ->
about:config

رو وارد کنید، سپس تمامی موارد زیر رو جستجو و غیرفعال کنید:
browser.ml.chat.enabled
browser.ml.chat.menu
browser.ml.chat.page
browser.ml.chat.page.footerBadge
browser.ml.chat.page.menuBadge
browser.ml.enable
browser.ml.linkPreview.enabled
browser.ml.pageAssist.enabled
browser.ml.smartAssist.enabled
browser.search.visualSearch.featureGate
browser.tabs.groups.smart.enabled
browser.tabs.groups.smart.userEnabled
browser.urlbar.quicksuggest.mlEnabled
extensions.ml.enabled
pdfjs.enableAltText
sidebar.revamp


پ.ن: یه مدت نبودم ولی پست‌های خفنی براتون آماده کردم که به نوبت می‌ذارم.

#آموزش
32👍11😭2
💠بنیان‌گذار Qemu و FFmpeg در حال توسعه Micro QuickJs💠

میکرو کوئیک‌جی‌اس توسط Fabrice Bellard توسعه داده شده تا با کمترین مصرف رم، سیستم‌های امبد را هدف قرار دهد.
گفته شده که این موتور جاوااسکریپت می‌تواند کد را در محیطی که دارای فقط 10kb رم است، کامپایل و اجرا کند.

همچنین کتابخانه استانداردش طوری طراحی شده که به آن اجازه زندگی در ROM را می‌دهد.


 🔗👉 GitHub

#معرفی
👍4🔥2💯2👌1
💠samplicator💠

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

کاربردهای رایج

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

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

فرض کنید یک سرویس روی یک ماشین در حال ارسال ترافیک UDP است و می خواهید همان ترافیک را همزمان به یک سیستم تست و یک سیستم مانیتورینگ بفرستید، بدون تغییر در برنامه اصلی.

نمونه اجرای ساده
دریافت ترافیک UDP روی پورت 9999 و ارسال به دو مقصد دیگر

samplicate -p 9999 192.168.1.20:9999 192.168.1.30:9999


در این حالت

samplicator روی پورت 9999 گوش می دهد
هر بسته UDP دریافتی را به هر دو مقصد ارسال می کند

سناریوی ریدایرکت ترافیک برای تست

ماشین اصلی ترافیک UDP را به localhost:5000 می فرستد. شما می خواهید همان ترافیک به یک ماشین تست منتقل شود.

اجرای samplicator روی ماشین اصلی

samplicate -p 5000 test-machine-ip:5000

🔗👉 GitHub

#معرفی #آموزش #devops #دواپس
2🔥1