CleverDevs
11.1K subscribers
789 photos
286 videos
29 files
491 links
به کانال کلوردوز خوش اومدین

سعی میکنیم چیزایی که بنظر کاربردی هستن رو باهاتون به اشتراک بزاریم


🔥لینوکس
🔥برنامه نویسی فرانت‌اند
🔥برنامه نویسی بک‌اند
🔥اخبار تکنولوژی و...

💢~> @mmdrsdev
Download Telegram
توی کدای کرنل برای سیستم‌کال reboot شما باید دوتا magic value به تابع بدید تا کرنل برای ایمنی مطمئن بشه فراخوانی سیستم‌کال تصادفی نبوده.

مقدار اول همیشه باید 0xfee1dead باشه (که به شکل هگزادسیمال کلمه‌ی feel dead رو تداعی می‌کنه).
اما مقدار دوم باید یکی از این چهار تا عدد باشه که اگه به هگزادسیمال تبدیلش کنیم در واقع تاریخ تولد خود لینوس توروالدز و سه تا از دخترهاشه:
تاریخ تولد لینوس
تاریخ تولد دختر اول (پاتریشیا)
تاریخ تولد دختر دوم (دانیلا)
تاریخ تولد دختر سوم (سلست)
این درواقع یه Easter egg توی کد کرنله که تاریخ تولد لینوس و دخترهاش رو به عنوان magic valueهای reboot استفاده می‌کنه.

#linux | <trish>
@CleverDevs - @CleverDevsGp
❤41🔥6👍3😁2
Forwarded from TechTube 𝕏 تک توب
شرکت کوالکام اعلام کرده قرار هست پشتیبانی رسمی لپتاپهای مجهز به چیپ Snapdragon X2 از لینوکس رو به این لپتاپها اضافه کنه که دستگاه قدرتمندی با معماری ARM رو در اختیار دوست داران لینوکس قرار میده.

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

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

پشتیبانی از هر لپتاپها مجهز به چیپهای Snapdragon X2 باید به طور جداگانه اضافه بشه و این شرکت برنامه ای برای اضافه کردن پشتیبانی لینوکس در دستگاه هایی به جز لپتاپ، مثل مینی پی سی ها رو فعلا نداره. همچنین دستگاه های مجهز به نسل اول چیپهای Snapdragon X هم از لینوکس پشتیبانی رسمی نخواهند داشت.

اضافه کردن پشتیبانی از لینوکس صرفا یک پشتیبانی ساده محدود نخواهد بود و این شرکت قرار هست پشتیبانی از درایورهای گرافیکی متن باز Freedreno, Turnip و Rusticl رو اضافه کنه. همچنین درایورهایی برای دسترسی به Hexagon NPU ارائه خواهد شد تا امکان از اون در عملیات هوش مصنوعی امکان پذیر باشه.

کوالکام از لپتاپ شرکتهای HP، ایسوس و HUMAIN به عنوان نخستین لپتاپهایی که پشتیبانی از لینوکس رو اضافه میکنن یاد کرده.

🔎 videocardz

📍 @TechTube
🔥18❤4👍3⚡1
یکی از کامند‌های بدرد بخور لینوکس که برای دیباگ کردن میتونه کمکتون کنه strace (مخفف system call trace) هست.

این کامند توی دیباگ‌های برنامه‌ها مخصوصاً اونایی که سورس‌کدشون در دسترس نیست خیلی بدرد میخوره. strace میاد و تمام سیستم‌کال‌هایی که برنامه استفاده کرده رو نشون میده و اگه هرکدوم اروری داشته باشه میتونید ببینیدش و بفهمید مشکل از کجاس.

برای مثال میخوایم ببینیم کامند ls از چه سیستم‌کال‌هایی استفاده میکنه:
strace ls

یا فقط میخوایم خروجی‌های مربوط به یه سیستم‌کال خاص (مثلاً باز کردن فایل) رو ببینیم:
strace -e trace=openat ls


یا میتونید با فلگ p- به پروسسی که در حال اجراس یا هنگ کرده وصل بشید و چکش کنید:
 strace -p <PID>


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

برای اطلاعات بیشتر هم میتونید به این لینک سر بزنید

#tools #linux
@CleverDevs - @CleverDevsGp
❤19👍5🔥5
خیلی وقتا که از ایجنت‌ها برای کدنویسی استفاده می‌کنید، برای یه تسک ساده یا کلی پکیج اضافه نصب می‌کنن یا دچار Over-engineering می‌شن و چرخ رو از اول اختراع می‌کنن!
پروژه‌ای به اسم Ponytail اومده که به ایجنت یاد میده مثل یه «سینیور دولوپر تنبل» فکر کنه؛ کم حرف بزنه، پکیج اضافه نصب نکنه و با فیچرهای نیتیو کار رو دربیاره

مثلاً وقتی از ایجنت یه Date Picker ساده می‌خواید، به جای اینکه بره کلی کامپوننت و جاوااسکریپت بنویسه یا پکیج نصب کنه، با Ponytail خروجی میشه فقط همین:
<!-- ponytail: browser has one -->
<input type="date">


طبق بنچمارک‌های خودشون این رویکرد حجم کدهای اضافی رو تا ۵۴٪ و مصرف توکن رو حدود ۲۰٪ کاهش میده.
البته باید حواستون باشه که کیفیت کد رو فدای کوتاهیش نکنه

جدا از فایل پرامپت خالص، این پروژه به‌صورت پلاگین/اسکیل برای ایجنت های مختلف در دسترسه.

حتی با دستوراتی مثل /ponytail ultra (برای حداکثر سخت‌گیری در حداقل‌نویسی) یا /ponytail-review (برای بازبینی و حذف کدهای اضافه در Diff فعلی) میتونید کنترل دقیق‌تری روی خروجی ایجنت داشته باشید

برای اطلاعات بیشتر دربارش یه سر به گیت هابش بزنید

📌 Github
#tools #ai
@CleverDevs - @CleverDevsGp
❤10👍5🔥3👎1🆒1
Forwarded from TechTube 𝕏 تک توب
شرکت Cloudflare نسخه پایدار ابزار EmDash رو عرضه کرده که جایگزین سریع و ایمن وردپرس برای ساخت وبسایت هست.

این ابزار بر مبنای فریمورک Astro بنا شده، سرعت بسیار بالایی داره که یکی از معایب سایتهای مبتنی بر وردپرس هست، دارای پشتیبانی از CLI، API و MCP هست بنابراین ایجنتهای هوش مصنوعی به راحتی میتونن با اون کار کنن و تغییرات مدنظر کاربر رو با یک پرامپت رو سایت اعمال کنن. مشابه وردپرس هم دارای سیستم تولید و مدیریت محتوا هست.

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

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

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

این شرکت اینقدر از این ابزار مطمئن هست که چند وقت پیش کل وبلاگش رو به این ابزار منتقل کرد که به طور هفتگی میلیونها بازدید میگیره و پیک سرعت اون 5000 درخواست بر ثانیه بوده.

کلادفلر همچنین برای این ابزار یک سایت ساز هوش مصنوعی ساخته که از ادرس build.emdashcms.com در دسترس هست و کاربران با چند پرامپت میتونن سایت مدنظرشون رو با استفاده از این ابزار و بدون نیاز به کد زدن بسازن.

🔎 cloudflare

📍 @TechTube
❤30👍4🔥3👎1
توی گیت یه مفهومی داریم به اسم hunk که به هر تیکه از تغییرات توی خروجی git diff گفته میشه

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

برای این کار از دستور git add -p یا git add --patch استفاده می‌کنیم. گیت میاد و برای هرکدوم از این بخش‌ها ازمون می‌پرسه که می‌خوای به staging اضافش کنم یا نه
ما می‌تونیم با زدن کلید y تأیید کنیم و با n ردش کنیم. اگه بخوایم یکی از این hunkها رو به بخش‌های کوچیک‌تر تقسیم کنیم، می‌تونیم s رو بزنیم تا گیت در صورت امکان این کار رو انجام بده. اگه نتونست تقسیمش کنه، می‌تونیم با زدن e خودمون patch رو دستی ادیت کنیم.

#git
@CleverDevs - @CleverDevsGp
👌22❤13👍8
Forwarded from TechTube 𝕏 تک توب
لینوس توروالدز، سازنده و مسئول هسته لینوکس، که پیش از این از هوش مصنوعی برای دیباگ کردن کدها و وایب کدینگ پروژه های شخصی استفاده میکرد، حالا از اون برای توسعه قابلیتهای جدید کرنل هم بهره گرفته.

این قابلیت جدید برای بهینه سازی سیستم خوندن فایلها از کش (رم) هست و برخلاف سابق که این مسیر نیاز به دریافت یک reference و کپی کردن اون بخش از حافظه به حافظه اپ موردنظر داشت، حالا با این بهینه سازی دیگه نیازی به دریافت reference نیست که باعث میشه وقتی چندین thread تلاش میکنن بخش کوچکی از یک فایل ثابت رو بخونن، همه هسته های پردازنده درگیر نشن و سرعت دسترسی به اون بخش تا 3 برابر افزایش پیدا کنه.

توروالدز در توضیح این قابلیت نوشته که کدها، تستهای اون و حتی پیش نویس اولیه این توضیح با هوش مصنوعی و به طور خاص در این مورد با Claude Code و با هدایت توروالدز تهیه و انجام شدن.

🔎 phoronix

📍 @TechTube
1❤38👍10👎2💔2😁1
احتمالاً براتون پیش اومده وسط کار یهو سیستم لینوکسی‌تون فریز میشه؛ نه موس کار میکنه، نه کیبورد و نه حتی میشه رفت به TTY.

تو این حالت اولین چیزی که به ذهن میرسه اینه که سیستم رو با دکمه پاور خاموش کنیم؛ حرکتی که ریسک بالایی برای خرابی دیتای روی دیسک داره.
ولی کرنل لینوکس برای این شرایط یه قابلیت نجات به اسم Magic SysRq داره که توالی معروفش REISUB هست، یعنی:

Reboot Even If System Utterly Broken


توی این وضعیت، با نگه داشتن کلیدهای Alt + SysRq (توی بیشتر کیبوردها همون PrtScn) و زدن این کلیدها ، سیستم مرحله به مرحله نجات پیدا میکنه:

با زدن R (Unraw) کنترل کیبورد از محیط گرافیکی (Xorg/Wayland) پس گرفته میشه تا کلیدها مستقیم به کرنل برسن.
با زدن E (Terminate) کرنل به تمام پروسس‌ها سیگنال SIGTERM میده تا بتونن مرتب بسته بشن.
با زدن I (Kill) سیگنال SIGKILL فرستاده میشه تا پروسس‌هایی که قفل کردن به زور بسته بشن.
با زدن S (Sync) دیتای کش‌شده در رم روی دیسک نوشته میشه تا چیزی از دست نره.
با زدن U (Unmount) تمام فایل‌سیستم‌ها به‌صورت Read-Only ری‌مانت میشن تا ساختار دیسک آسیب نبینه.
با زدن B (Reboot) سیستم بلافاصله ری‌بوت میشه.


دسترسی به این قابلیت با یک Bitmask کنترل میشه. برای اینکه فقط کلیدهای همین توالی کار کنن عدد 244 و برای فعال‌سازی کامل تمام قابلیت‌های SysRq عدد 1 تنظیم میشه.
برای فعال‌سازی سریع:
Bash
sudo sysctl -w kernel.sysrq=1

و برای اینکه بعد از ری‌بوت هم دائمی بمونه:
Bash
echo "kernel.sysrq = 1" | \
sudo tee /etc/sysctl.d/99-sysrq.conf
sudo sysctl --system

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

#linux
@CleverDevs - @CleverDevsGp
🔥27❤7👍2💯1
یه ابزار اوپن‌سورسی به اسم Harper هست که بهتون کمک می‌کنه اشتباهات گرامریتون رو اصلاح کنید.

خوبیش اینه که روی سیستم خودتون به‌صورت آفلاین کار می‌کنه و نیاز نیست مثل Grammarly حتماً به اینترنت وصل بشید یا نگران ارسال دیتاتون به سرورهای خارجی باشید.

ازش می‌تونید داخل Neovim، VS Code و Obsidian استفاده کنید یا با ابزار CLI توی ترمینال انواع فایل‌ها، READMEها و... رو چک کنید. برعکس ابزارهای عمومی، برای برنامه‌نویس‌ها بهینه‌سازی شده؛ متغیرهای کدهای برنامه‌نویسی رو به عنوان غلط املایی نمی‌شناسه و تمرکزش روی متن داکیومنت‌ها، کامنت‌ها و پیام‌های کامیته.

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

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

برای اطلاعات بیشتر به سایت و گیت هابش سر بزنید

#tools
@CleverDevs - @CleverDevsGp
❤9🔥6
Forwarded from TechTube 𝕏 تک توب
اوایل سال میلادی جاری هسته لینوکس، قانونی رو اضافه کرد که استفاده از ابزارهای هوش مصنوعی هنگام ارسال کد به هسته لینوکس باید ذکر میشد. در اون موقع مدلها اونقدر قوی نبودن و چنین قانونی توجیه داشت ولی حالا مسئولان نگهداری هسته لینوکس، تصمیم گرفتن این قانون رو حذف کنن چون هم مدلها خیلی قویتر شدن و کدهای خوبی تولید میکنن و هم ذکر ابزار دیگه ارزش خاصی نداره.

یکی از مخالفان سرسخت هوش مصنوعی یعنی Laurent Pinchart ولی مخالف حذف این قانون هست و گفته نه تنها این قانون باید حفظ بشه بلکه گسترش پیدا کنه و سخت گیری بیشتری روی اجرای اون اعمال بشه تا مسئولان نگهداری هسته لینوکس براساس اون بتونن قضاوت کنن کدوم کدها ارزش بررسی و قرار گرفتن در هسته لینوکس رو داره.

طبیعتا لینوس توروالدز، سازنده و مسئول اصلی نگهداری هسته لینوکس، از چنین دیدگاهی خوشش نیومده و در پیامی، سخت این فرد توپیده و به اون گفته:
من اصلا این ایده احمقانه «برای فلان کار از هوش مصنوعی استفاده نکنید» را نمی فهمم.
بگذار یک قانون جدید مخصوص خودت وضع کنم: از این به بعد حق نداری برای هیچ کدام از کدهایی که به کرنل ارسال می کنی، از کامپایلر استفاده کنی.
چون اگر نتونی با نوشتن کد خودت به زبان اسمبلی نشون بدی که واقعا می فهمی ماشین در عمل داره چیکار میکنه، من هم نمیخوام هیچ مشارکتی در کدنویسی از طرف تو ببینم. واضحه که اگر نتونی کدت را به این شکل بنویسی، صلاحیت لازم رو نداری. راستی، بهتر است برای نوشتن پیام کامیتت هم از هیچ ویرایشگر متنی استفاده نکنی.
چون باید به من ثابت کنی که واقعا میتونی یک پیام کامیت خوب بدون استفاده از ابزارهایی که به تو اجازه می دن به راحتی با کلید Backspace اشتباهات تایپی ات را پاک کنی و ردشون رو از بین ببری، بنویسی، قبوله؟
چون در غیر این صورت، کامیت هایی که با کمک این ابزارها مینویسی، مسلما نشان نمیدن که واقعا میدونی داری چیکار می کنی. واقعا نمی فهمی چنین قوانینی چقدر احمقانه و مضحک هستن؟
پس نه! ما قرار نیست قوانین احمقانه ای وضع کنیم که بگن «برای فلان کار حق نداری از فلان ابزار استفاده کنی».
انتظاری که من از ادمها دارم اینه که تمام تلاششون رو بکنن و واقعا بفهمن که دارن چه کار می کنن. اما این فهم و درک، ارتباط بسیار کمی با ابزارهایی که از اونها استفاده می کنن داره.
و راستش رو بخوای طبق تجربه من، ادمهایی که براشون احترام قائلم و اونهارو باهوش میدونم، کسانی نیستن که از استفاده از ابزارهای جدید و جالب فرار کنن.
🔎 theregister

📍 @TechTube
❤24👎5👍4🔥3