Forwarded from Misano
توی یه پرونده حقوقی جدید، سازمان SFC (محافظت از آزادی نرمافزار) از شرکت Vizio که تلویزیون تولید میکنه، بابت استفاده از لینوکس شکایت کرد تا مجبور بشند سورسکد نرمافزارهاشون رو طبق لایسنس GPL منتشر کنن. ویزیو برای فرار از این کار، سعی کرد با سوءاستفاده از محتوای آموزشیِ خودِ بنیاد FSF، استدلال کنه که SFC صلاحیت شکایت نداره و فقط FSF (به عنوان مالک کپیرایت) میتونه مدعی بشه؛ در واقع دنبال تحریف مفاهیم آزادی نرمافزار بودن تا جلوی انتشار سورسکد رو بگیرن. کار به جایی کشید که نمایندههای FSF مجبور شدن برای شهادت حضوری به دادگاه برن، چون ویزیو لجبازی کرد و حاضر نبود در هیچ پلتفرمی بهجز Zoom جلسه رو برگزار کنه.
در نهایت رای دادگاه منتشر شد، اما واکنش لینوس توروالدز با به باد نقد گرفتن و بد خوندن هر دو طرف شروع میشه:
در واقع چیزی که SFC دنبالش بود، این بود که کاربر علاوه بر دریافت سورسکد، بتونه نسخه تغییریافته خودش رو روی سختافزار تلویزیون هم نصب کنه (که برای این کار به کلیدهای امنیتی نیاز داشت). اما قاضی پرونده (که به نظر توروالدز تنها آدمِ کاربلدِ اون دادگاه بود) این درخواست رو رد کرد. رای دادگاه صرفاً محدود به انتشار سورسکد شد و ویزیو هم این رو پذیرفت.
توروالدز با تایید این حکم میگه لینوکس برای همین GPLv2-only مونده؛ تا کپیرایت فقط شامل خودِ «نرمافزار» بشه و به «سختافزار» سرایت نکنه. دقیقاً مثل اینکه لایسنسِ هسته لینوکس، به برنامههای User-space که روی اون اجرا میشن، سرایت نمیکنه.
https://sfconservancy.org/copyleft-compliance/vizio.html
https://www.fsf.org/bulletin/2024/spring/what-were-up-against
https://www.fsf.org/news/fsf-to-be-deposed-in-sfc-v-vizio-updates-relevant-faq-entry
https://www.theregister.com/2025/12/05/vizio_gpl_source_code_ruling/
در نهایت رای دادگاه منتشر شد، اما واکنش لینوس توروالدز با به باد نقد گرفتن و بد خوندن هر دو طرف شروع میشه:
«ویزیو از لینوکس توی تلویزیونهاش استفاده کرد بدون اینکه سورسکد رو منتشر کنه، که این مشخصاً کار درستی نبود.»
«از اون طرف سازمان SFC هم سعی داره استدلال کنه که لایسنس، شما رو مجبور میکنه "کلیدهای نصب" (Installation Keys) و غیره رو هم لو بدید؛ در حالی که اصلاً اینطور نیست. دلیل اینکه هسته لینوکس فقط تحت لایسنس GPLv2 ارائه میشه دقیقاً همین موضوعه. افرادی که درگیر این ماجرا هستن این رو خوب میدونن، اما توی دادگاه خلافش رو ادعا کردن.»
در واقع چیزی که SFC دنبالش بود، این بود که کاربر علاوه بر دریافت سورسکد، بتونه نسخه تغییریافته خودش رو روی سختافزار تلویزیون هم نصب کنه (که برای این کار به کلیدهای امنیتی نیاز داشت). اما قاضی پرونده (که به نظر توروالدز تنها آدمِ کاربلدِ اون دادگاه بود) این درخواست رو رد کرد. رای دادگاه صرفاً محدود به انتشار سورسکد شد و ویزیو هم این رو پذیرفت.
توروالدز با تایید این حکم میگه لینوکس برای همین GPLv2-only مونده؛ تا کپیرایت فقط شامل خودِ «نرمافزار» بشه و به «سختافزار» سرایت نکنه. دقیقاً مثل اینکه لایسنسِ هسته لینوکس، به برنامههای User-space که روی اون اجرا میشن، سرایت نمیکنه.
https://sfconservancy.org/copyleft-compliance/vizio.html
https://www.fsf.org/bulletin/2024/spring/what-were-up-against
https://www.fsf.org/news/fsf-to-be-deposed-in-sfc-v-vizio-updates-relevant-faq-entry
https://www.theregister.com/2025/12/05/vizio_gpl_source_code_ruling/
اینم محبوب ترین پست کانال بوده تا اینجا
دوباره فروارد میکنم شاید به درد جدیدای کانال بخوره
دوباره فروارد میکنم شاید به درد جدیدای کانال بخوره
❤2
Forwarded from TahaIr.dev
صفحه های گیت هاب (github pages) یک فضای فوق العاده برای شماست تا وب سایت های خودتون رو تحت میزبانی این سرویس در بیارید (:
به طور مثال میتونید یک پورت فولیو یا وب سایت برای پروژّ های خودتون درست کنید و با یک زیر دامنه اختصاصی به نمایش بگذارید.
کافیه که یک ریپوزیتوری جدید توی گیت هابتون تحت این عنوان درست کنید
exampl.github.io
و فایل های وبسایتتون رو داخلش قرار بدید.
و از این به بعد با دامنه
https://example.github.io
به سایت خودتون دسترسی داشته باشید ! (باید به جای example نامی که دوست دارید رو قرار بدید اینی که من گذاشتم فقط یک نمونست (: )
البته این پلتفرم بیشتر برای وبسایت های ایستا کاربردی هست و نمیتونید بک اند خاصی براش در نظر بگیرید
#گیتهاب #github #طراحیوبسایت #html# css #برنامهنویسی
به طور مثال میتونید یک پورت فولیو یا وب سایت برای پروژّ های خودتون درست کنید و با یک زیر دامنه اختصاصی به نمایش بگذارید.
کافیه که یک ریپوزیتوری جدید توی گیت هابتون تحت این عنوان درست کنید
exampl.github.io
و فایل های وبسایتتون رو داخلش قرار بدید.
و از این به بعد با دامنه
https://example.github.io
به سایت خودتون دسترسی داشته باشید ! (باید به جای example نامی که دوست دارید رو قرار بدید اینی که من گذاشتم فقط یک نمونست (: )
البته این پلتفرم بیشتر برای وبسایت های ایستا کاربردی هست و نمیتونید بک اند خاصی براش در نظر بگیرید
#گیتهاب #github #طراحیوبسایت #html# css #برنامهنویسی
❤1
پیاده سازی ساختار سویچ کیس در پایتون !
شاید با زبان های دیگه غیر از پایتون کار کرده باشید مثلا javanoscript اونجا یک چیزی داریم به اسم سویچ کیس که به جای استفاده از کلی شرط میتونین با کمترین کار داده ها رو سویچ کنید
مثلا توی راست اینحوری داریم
خب برای پیاداه سازی همچین ساختاری توی پایتون قبل از ورژن 3.10 پیاتون خب مردم میومدن به روش های عجیب غریبی این کار رو انجام میدادن
بعضا با کلی ایف و الس و کاندیشن
بعضی ها هم با پیاده سازی کلاس های عجیب و غریب
ولی خب بعد از پایتون 3.10 میشه اینجوری انجامش داد
درسته مثال های کاربردی نزدم چون توی یک نوشته جا نمیشه ولی خب در کل چیز کاربردی هست استفاده کنید و لذت ببرید إ
من خودم خیلی افراد معدودی رو دیدم که از این ساختار استفاده کنن
ولی اگه میخواید دقیق تر مطالعه کنید این پیوند میتونه براتون مفید باشه
https://www.freecodecamp.org/news/python-switch-statement-switch-case-example/
شاید با زبان های دیگه غیر از پایتون کار کرده باشید مثلا javanoscript اونجا یک چیزی داریم به اسم سویچ کیس که به جای استفاده از کلی شرط میتونین با کمترین کار داده ها رو سویچ کنید
مثلا توی راست اینحوری داریم
let name = "ali";
match name {
"ali" => println!("ali"),
"mohammad" => println!("mohammad"),
}
خب برای پیاداه سازی همچین ساختاری توی پایتون قبل از ورژن 3.10 پیاتون خب مردم میومدن به روش های عجیب غریبی این کار رو انجام میدادن
بعضا با کلی ایف و الس و کاندیشن
بعضی ها هم با پیاده سازی کلاس های عجیب و غریب
ولی خب بعد از پایتون 3.10 میشه اینجوری انجامش داد
age = 10
match age :
case 10 :
print("your age is 10")
case 20 :
print("your age is 20")
درسته مثال های کاربردی نزدم چون توی یک نوشته جا نمیشه ولی خب در کل چیز کاربردی هست استفاده کنید و لذت ببرید إ
من خودم خیلی افراد معدودی رو دیدم که از این ساختار استفاده کنن
ولی اگه میخواید دقیق تر مطالعه کنید این پیوند میتونه براتون مفید باشه
https://www.freecodecamp.org/news/python-switch-statement-switch-case-example/
freeCodeCamp.org
Python Switch Statement – Switch Case Example
Until version 3.10, Python never had a feature that implemented what the switch statement does in other programming languages. So, if you wanted to execute multiple conditional statements, you would've had to use the elif keyword like this: age = 120...
❤3🔥1
TahaIr.dev
پیاده سازی ساختار سویچ کیس در پایتون ! شاید با زبان های دیگه غیر از پایتون کار کرده باشید مثلا javanoscript اونجا یک چیزی داریم به اسم سویچ کیس که به جای استفاده از کلی شرط میتونین با کمترین کار داده ها رو سویچ کنید مثلا توی راست اینحوری داریم let name…
یک مورد دیگه هم بود
طاها توی این کامنت اشاره کرد گفتم همینجا بگم یادم نره
خب یک عملگری داریم توی پایتون به نام عملگر والروس یا به عبارتی assignment expression که از پایتون ۳.۸ به بعد قابل استفاده هست
کارش چیه ؟ این که هم یک چیزی رو انتصاب کنیم هم یک شرطی رو روش اجرا کنیم بریم توی کد ببینیم چیه !
البته توی پیام بعدی
طاها توی این کامنت اشاره کرد گفتم همینجا بگم یادم نره
خب یک عملگری داریم توی پایتون به نام عملگر والروس یا به عبارتی assignment expression که از پایتون ۳.۸ به بعد قابل استفاده هست
کارش چیه ؟ این که هم یک چیزی رو انتصاب کنیم هم یک شرطی رو روش اجرا کنیم بریم توی کد ببینیم چیه !
البته توی پیام بعدی
Telegram
𝑀𝓇𝒯𝒶𝒽𝒶 in TahaIr.dev chat
درباره عملگر والروس تو پایتون هم یه توضیح بدی ممنون میشم
❤1
TahaIr.dev
یک مورد دیگه هم بود طاها توی این کامنت اشاره کرد گفتم همینجا بگم یادم نره خب یک عملگری داریم توی پایتون به نام عملگر والروس یا به عبارتی assignment expression که از پایتون ۳.۸ به بعد قابل استفاده هست کارش چیه ؟ این که هم یک چیزی رو انتصاب کنیم هم یک شرطی…
خب فرض کنیم میخوایم یک ورودی از کاربر بگیریم و چکش کنیم که خالی نباشه !
خب این شد سه خط که میشه گفت برای این کار اضافه هست ما میتونیم با استفاده از عملگر والروس =: این کار رو ساده تر پیاده سازی کنیم
خب شاید بگید اینجوری هم میشه توی دو خط نوشت
ولی خب اینجا دیگه ما داده رو توی یک متغیر ذخیره نکردیم و از دستش دادیم (:
توی حلقه ها لیست کامپرهنشن ها و هرجایی که نیاز دارید مقایسه و انتصاب رو با هم انجام بدید کاربرد داره و حواستون باشه که از python 3.8 به بعد در دسترس هست (:
پ.ن :شاید کامل ترشو توی بلاگم (هر وقت ساختمش ) یا توی کانال خودم بزارم
data = input()
if data == "":
print("data empty!")
خب این شد سه خط که میشه گفت برای این کار اضافه هست ما میتونیم با استفاده از عملگر والروس =: این کار رو ساده تر پیاده سازی کنیم
python
if (data := input()) == "":
print("data is empty")
خب شاید بگید اینجوری هم میشه توی دو خط نوشت
python
if input() == "" :
ولی خب اینجا دیگه ما داده رو توی یک متغیر ذخیره نکردیم و از دستش دادیم (:
توی حلقه ها لیست کامپرهنشن ها و هرجایی که نیاز دارید مقایسه و انتصاب رو با هم انجام بدید کاربرد داره و حواستون باشه که از python 3.8 به بعد در دسترس هست (:
پ.ن :شاید کامل ترشو توی بلاگم (هر وقت ساختمش ) یا توی کانال خودم بزارم
❤2👏2
خب سلام چه خبر بچه ها ؟ ❤️
اگه از دسکتاپ هایی مثل gnome , plasma یا حتی موارد مشابه استفاده میکنید و حتی اگه گیمر هستید پیشنهاد میکنم کرنلتونو عوض کنید به کرنل linux-zen
یک فورک یا نسخه دستکاری شدست که میاد و بهینه سازی هایی انجام میده که باعث میشه فریز های بی موقع و لگ هاتون کم تر بشه
مثلا یکی از ویژگی هاش اینه که حالت گیم مود کرنلش فعاله و عملکرد بهتری داره توی این مورد
برای نصبش میتونید نسبت به دیسترو خودتون اقدام کنید
مثلا توی ارچ من اینجوری نصبش کردم
اگه از دسکتاپ هایی مثل gnome , plasma یا حتی موارد مشابه استفاده میکنید و حتی اگه گیمر هستید پیشنهاد میکنم کرنلتونو عوض کنید به کرنل linux-zen
یک فورک یا نسخه دستکاری شدست که میاد و بهینه سازی هایی انجام میده که باعث میشه فریز های بی موقع و لگ هاتون کم تر بشه
مثلا یکی از ویژگی هاش اینه که حالت گیم مود کرنلش فعاله و عملکرد بهتری داره توی این مورد
برای نصبش میتونید نسبت به دیسترو خودتون اقدام کنید
مثلا توی ارچ من اینجوری نصبش کردم
pacman -S linux-zen Linux-zen-headers
❤4
Forwarded from Beny
توی فدورا:
اول باید مخزن Copr رو فعال کنیم:
بعدش
اول باید مخزن Copr رو فعال کنیم:
sudo dnf copr enable bieszczaders/kernel-zen
بعدش
sudo dnf install kernel-zen
❤1
خب وارد سال جدید میلادی شدیم زیاد حرف خاصی ندارم ولی امیدوارم هرجا که هستید. به هدف هاتون برسید و در مسیر یادگیری و شغلیتون موفق باشید 😄❤️
❤3
این مقاله از سایت سیمون ویلیسون هم به خودی خود برام جالب بود
تو 2025 چه گذشت
https://simonwillison.net/2025/Dec/31/the-year-in-llms/#the-year-of-vibe-coding
تو 2025 چه گذشت
https://simonwillison.net/2025/Dec/31/the-year-in-llms/#the-year-of-vibe-coding
Simon Willison’s Weblog
2025: The year in LLMs
This is the third in my annual series reviewing everything that happened in the LLM space over the past 12 months. For previous years see Stuff we figured out about …
https://jobswithgpt.com/blog/global_software-engineering_jobs_january_2026/
توی این مقاله میتونید ببینید تو سال ۲۰۲۶ طبق گزارش مهندسین نرم افزار بیشتر موقعیت شغلیشون چی بوده و به چه مهارت هایی براش احتیاج داشتن
همه داده ها به صورت نمودار در اومده که راحت ببینید چه خبره ☺️
توی این مقاله میتونید ببینید تو سال ۲۰۲۶ طبق گزارش مهندسین نرم افزار بیشتر موقعیت شغلیشون چی بوده و به چه مهارت هایی براش احتیاج داشتن
همه داده ها به صورت نمودار در اومده که راحت ببینید چه خبره ☺️
jobswithgpt.com
Global Software Engineering Jobs January 2026 Insights
Global insights on Software Engineering jobs January 2026
👌4
خب سلام
دیشب حوصلم سر رفته بود یک چیزی هم نیاز داشتم که توی ترمینال راحت بتونم یادداشت هامو انجام بدم
برای همین با راست یک دونشو نوشتم و توی crates.io منتشر کردم.
https://crates.io/crates/scribo
اگه خواستید میتونید استفاده یا حتی مشارکت کنید (:
ریپو گیتهابشم از این لینک میتونید ببینید
دیشب حوصلم سر رفته بود یک چیزی هم نیاز داشتم که توی ترمینال راحت بتونم یادداشت هامو انجام بدم
برای همین با راست یک دونشو نوشتم و توی crates.io منتشر کردم.
https://crates.io/crates/scribo
اگه خواستید میتونید استفاده یا حتی مشارکت کنید (:
ریپو گیتهابشم از این لینک میتونید ببینید
🔥9👎2👀1