سان گیک / برنامه نویسی
Ir al canal en Telegram
# SunGeek | سانگیک چه خبره تو دنیای تک قبل از اینکه تکنولوژی غافلگیرت کنه، بشناسش
Mostrar másEl país no está especificadoLa categoría no está especificada
510
Suscriptores
Sin datos24 horas
-27 días
-2030 días
Archivo de publicaciones
یه نشونه جالب برای تشخیص abstraction بد وجود داره: اسم براش پیدا نمیکنی.
اگه یه تیکه کد رو extract کردی ولی هر اسمی مثل
handleStuff یا validateAndStore مصنوعی به نظر میرسه، شاید مشکل naming نیست؛ شاید اصلاً اون تیکه کد یه «مفهوم مستقل» نداره که بخواد function بشه.
کد خوب فقط نمیگه چه کاری انجام میشه؛ با اسمها، boundaryها، commentها و commit history باید تا حد ممکن معلوم کنه چرا این کار وجود داره.
گاهی بهترین refactor این نیست که یه abstraction جدید بسازی؛ اینه که اصلاً نسازیش.
#hossssein@sun_geekیه نفر پروژه Craft رو از C به Rust بازنویسی کرده، ولی چیزی که جالبه خود rewrite نیست؛ مدل اجرای پروژهست.
کل کار رو مثل یه software factory شکسته به DAGهای کوچیک، هر مرحله gate مشخص داشته، Cursor فقط کد نوشته و compile/test/e2e رفته روی sandbox و GitHub Actions. نتیجه؟ کل rewrite با حدود ۳.۲ میلیون token و هزینه 112.95 دلار جمع شده.
نکته باحال اینه که تستها و buildها عملاً token مصرف نمیکردن؛ AI فقط جایی خرج شده که واقعاً نیاز به reasoning و نوشتن کد بوده.
شاید مدل درست استفاده از AI برای پروژههای بزرگ همین باشه:
Agent کد بنویسه، ماشین ثابت و deterministic قضاوت کنه که کد واقعاً کار میکنه یا نه.
اگر میخای ببینی چه گلی زده این متن رو تاچ کن
#hossssein@sun_geek
بخام ساده بگم WAL توی PostgreSQL یعنی یه دفترچه ثبت تغییرات.
قبل از اینکه دیتابیس واقعاً تغییرات رو روی فایلهای اصلی ذخیره کنه، اول اونها رو داخل WAL مینویسه. اگه سرور کرش کنه، PostgreSQL از همین لاگها برای recovery استفاده میکنه. replicaها هم همین WAL رو از primary میگیرن و replay میکنن تا sync بمونن.
اما WALها برای همیشه نگه داشته نمیشن. PostgreSQL بعد از checkpoint، segment هایی که دیگه لازم نیستن رو معمولاً recycle یا حذف میکنه. اینکه دقیقاً چقدر WAL نگه داشته بشه به تنظیماتی مثل
max_wal_size و wal_keep_size و همینطور replication بستگی داره.
یه نکته مهم: اگه از replication slot استفاده کنی و replica عقب بیفته، PostgreSQL ممکنه WAL های موردنیاز اون replica رو نگه داره؛ حتی در حالت پیشفرض میتونه حجم خیلی زیادی جمع بشه و pg_wal رو پر کنه. برای محدود کردنش max_slot_wal_keep_size وجود داره.
یعنی خیلی خلاصه:
اول لاگ، بعد دیتا؛
وقتی دیگه کسی به اون لاگ نیاز نداشت، PostgreSQL جمعش میکنه.
#hossssein@sun_geekفکر میکنی یه
SAVEPOINT ساده چه آسیبی میتونه بزنه؟
توی PostgreSQL اگه یه transaction بیشتر از حدود ۶۴ تا subtransaction جمع کنه، cache مربوط به subxidها overflow میشه و داستان فقط همون connection رو درگیر نمیکنه؛ visibility checkها میرن سمت pg_subtrans و SLRU lock contention میتونه کل کلاستر رو کند کنه.
توی یه benchmark واقعی، throughput از حدود 7200 TPS سقوط کرده به حدود 160 TPS فقط به خاطر یک transaction که subtransaction زیاد ساخته. وقتی transaction تموم شده، performance برگشته.
قسمت ترسناکتر اینه که همین overflow میتونه باعث بشه replica جدید WAL رو replay کنه ولی هنوز نتونه read قبول کنه، چون snapshot کامل از transactionهای فعال نداره.
یعنی گاهی مشکل performance دیتابیس نه از query بده، نه index، نه CPU.
فقط یه transaction زیادی شلوغ کرده.
#hossssein@sun_geekآمریکا چیزده بازی درآورده و ۲۰۰۰ گیمر رو بهدلیل تصمیمگیری سریع و عملکرد لاتی در شرایط پراسترس، بهعنوان کنترلر هوایی برج مراقبت فرودگاهها استخدام کرده
چطوری جوون ایرانی
@sun_geek
Rust اومده وسط Unity و نتیجه یکم عجیب شده
یه تست واقعی روی Unity انجام شده که توش بخشی از منطق سنگین بازی از C# برده شده داخل Rust و با
P/Invoke مستقیم صدا زده شده. نکته جالب اینجاست که انتقال دیتا تقریباً بدون کپی انجام میشه و Rust مستقیم روی همون بافرهای حافظه کار میکنه.
نتیجه بنچمارک روی یه Utility AI با ۱.۲ میلیون محاسبه در هر tick:
• Rust نسبت به Mono حدود 6.4x سریعتر
• نسبت به IL2CPP حدود 4.7x سریعتر
• نسبت به CoreCLR و .NET 10 حدود 2.3x سریعتر
ولی قسمت خفنترش اینجاست:
Rust توی کل تست صفر بایت allocation داشته و GC هم حتی یک بار وارد کار نشده. چون حافظه Rust اصلاً زیر نظر Garbage Collector یونیتی نیست.
حتی وقتی SIMD دستی وارد بازی شده، نسخه Safe Rust حدود ۸٪ از Burst هم سریعتر بوده. نه unsafe، نه GC، نه محدودیتهای سنگین Burst.
البته نتیجه این نیست که «Rust بهتر از #C است».
#hossssein@sun_geekگوگل تو نسخههای جدید کروم (147 برای ویندوز و 150 برای macOS) یه قابلیت امنیتی جدید به اسم "device-bound session credentials" یا DBSC اضافه کرده. این ویژگی کلیدهای رمزنگاری رو تو سختافزار امن دستگاه (مثل TPM یا Secure Enclave) ذخیره میکنه و جلوی حملات تصاحب حساب رو میگیره، حتی اگه کوکیها یا Session ID دزدیده بشه.
فعلاً این قابلیت فقط واسه یه تعداد محدود کاربر فعاله و گوگل داره تستش میکنه.
#hossssein@sun_geek
یه باگ با امتیاز 10 از 10 توی Metabase پیدا شده؛ یعنی تقریباً بدترین سناریوی ممکن.
یه آسیبپذیری SQL Injection با شناسه
CVE-2026-72898 باعث شده مهاجم بتونه به دیتابیس داخلی Metabase دسترسی مستقیم SQL بگیره.
یعنی چی؟
یعنی احتمال دسترسی به پسوردها، API Keyها، توکنها، دیتابیسهای متصل و حتی ساخت ادمین جدید وجود داره.
چند شرکت مثل n8n، Framework و Checkly هم اعلام کردن بخشی از اطلاعاتشون تحت تأثیر این حمله قرار گرفته.
نکته مهم اینه که نسخه Cloud متابیس پچ شده، ولی اگه Metabase رو self-host کردین حتماً نسخهتون رو چک و سریع آپدیت کنین.
برای تشخیص حمله، Metabase گفته دنبال این الگو توی لاگها بگردین:
POST /api/session/reset_password → 400بعدش
GET /api/user/current → 200اگه این الگو رو دیدین، فقط آپدیت کافی نیست؛ sessionها، API Keyها و credentialهای دیتابیسهاتون رو هم باید rotate کنین. #hossssein@sun_geek
توی پرواز Delta 591 از لاسوگاس به آتلانتا، که درست بعد از کنفرانس DEF CON بود، یه شبکه Wi-Fi جعلی به اسم «Delta WiFi Fast» راه افتاده که ظاهراً واسه فیشینگ اطلاعات مسافرا طراحی شده بوده. FBI الان داره ماجرا رو بررسی میکنه، ولی هنوز کسی دستگیر نشده. Wi-Fi اصلی هواپیما هم برای ۳۰ دقیقه قطع شده، اما سیستمهای هواپیما مشکلی نداشتن.
#hossssein@sun_geek
نسخهی لینوکسی اپلیکیشن دسکتاپ ChatGPT و Codex بالاخره منتشر شد! این اپ که فعلاً در حالت Preview هست، روی توزیعهای محبوبی مثل Ubuntu، Debian و Fedora اجرا میشه و از معماریهای x64 و ARM64 هم پشتیبانی میکنه. اما یه نکته: برخلاف نسخههای مک و ویندوز، اینجا خبری از تعامل مستقیم با اپهای دسکتاپ مثل OpenOffice یا GIMP نیست.
#hossssein@sun_geek
یه سیستم کامپوننت HTML جدید به اسم «Vanilla Breeze» معرفی شده که بدون نیاز به جاوااسکریپت یا بکاند، میتونه مقالات استاتیک و نوتیفیکیشنهای زنده رو مدیریت کنه. این سیستم از قراردادهای سرویس مستندشده استفاده میکنه و برای پروژههای سبک و مینیمال طراحی شده.
اگر خواستی ببینیش انگشتتو بمال به این جمله
#hossssein@sun_geek
سیسکو: هوش مصنوعی زمان واکنش به تهدیدات سایبری را کوتاه کرده است
سیسکو هشدار داده با استفاده مهاجمان از هوش مصنوعی برای شناسایی آسیبپذیری و تولید اکسپلویت، فاصله زمانی میان افشای یک آسیبپذیری تا بهرهبرداری از آن در برخی موارد از چند هفته به چند روز یا حتی چند ساعت کاهش یافته است.
#hossssssein@sun_geek
اسپاتیفای از اواسط سپتامبر هنرمندانی که هویتشان «AI Persona» باشه رو با یه نشان خاص مشخص میکنه و موسیقی این هنرمندا رو از پیشنهادات شخصی و ادیتوریال حذف میکنه. این یعنی اگه یه هنرمند هویت انساننما ولی تولیدشده توسط هوش مصنوعی داشته باشه، دیگه توی پیشنهادات اسپاتیفای نمیبینینش. اسپاتیفای از ترکیب هوش مصنوعی و بررسی انسانی برای شناسایی این پروفایلها استفاده میکنه.
#hossssein@sun_geek
Mozilla مجبور شد کلید امضای Firefox و Thunderbird رو عوض کنه
دلیلش این بوده که یه نسخه بدون رمزنگاری از GPG key به اشتباه داخل یه repository خصوصی GitHub کامیت شده.
این کلید برای امضای بعضی فایلهای رسمی مثل Linux tarball، بستههای RPM و checksumها استفاده میشده.
Mozilla میگه فعلاً هیچ مدرکی وجود نداره که فرد غیرمجازی به کلید دسترسی پیدا کرده باشه و دسترسی به repository هم محدود بوده، ولی برای اطمینان کلید قبلی revoke شده و کلید جدید جایگزینش شده.
برای بیشتر کاربرا هیچ کاری لازم نیست، ولی اگه امضای GPG رو دستی verify میکنین یا Firefox رو از بعضی RPMها نصب کردین، ممکنه نیاز باشه کلید جدید رو وارد کنین.
نکته مهم ماجرا اینه که حتی یه اشتباه ساده مثل commit کردن یه signing key میتونه بالقوه تبدیل به یه supply-chain attack خیلی جدی بشه.
#hossssein@sun_geek
Anthropic
قراره روی متن و عکسهایی که مدلهای Claude تولید میکنن، واترمارک نامرئی بزنه. این واترمارکها بهصورت ماشینی قابل خوندن هستن و قراره تو همه پلتفرمها و سرویسهای Claude اعمال بشن. هدفشون اینه که شفافیت محتوای AI رو بالا ببرن و با قوانین جدید اتحادیه اروپا هماهنگ بشن.
#hossssein@sun_geek
اوووو جیییزز
یه باگ تو Zoom پیدا شده که میتونسته فقط با بودن تو یه تماس، کنترل دستگاه بقیه رو بگیره
محققهای A Security میگن این آسیبپذیری تو بخش annotation هنگام screen sharing بوده و روی Windows، macOS، Linux، iOS و Android اثر میذاشته.
قسمت عجیبتر ماجرا اینه که با استفاده از مدلهای عمومی AI و کمتر از ۲۰ پرامپ، هم باگ پیدا شده هم یه exploit عملی براش ساخته شده.
یعنی مهاجم فقط لازم بوده تو یه تماس Zoom حضور داشته باشه؛ قربانی هم لازم نبوده روی چیزی کلیک کنه یا کاری انجام بده.
Zoom
الان مشکل رو patch کرده، ولی نکته مهم خبر اینه که AI داره هزینه و زمان پیدا کردن باگهای جدی رو به شکل ترسناکی پایین میاره.
کاری که قبلا شاید ماهها زمان و یه تیم امنیتی میخواست، الان ممکنه با چند پرامپ انجام بشه.
https://www.wired.com/story/a-zoom-screen-sharing-bug-let-anyone-take-over-other-devices-on-a-call/
#hossssein@sun_geek
اون جیزز کرایست! نسخه ۱۰.۵ از OpenSSH منتشر شد!
ولی نکته جالبش خود آپدیت نیست
تیم OpenSSH گفته اخیرا تعداد زیادی گزارش امنیتی با کمک مدلهای AI دریافت کرده و بعضی از باگهایی که AI پیدا کرده، بعدا مستقل توسط پژوهشگرهای دیگه هم کشف شدن.
نتیجه؟
OpenSSH قراره از این به بعد آپدیتهای امنیتی رو سریعتر و با فاصله کمتر منتشر کنه، چون احتمال میده مهاجمها هم دارن از همین ابزارها برای پیدا کردن باگها استفاده میکنن.
نسخه 10.5 هم چند مشکل امنیتی مهم رو برطرف کرده، از جمله:
• یک باگ در ssh-agent که میتونست محدودیت بعضی keyها رو دور بزنه
• یک use-after-free احتمالی در SSH client
• اصلاح محدودیت tunnel forwarding در authorized_keys
از قابلیتهای جدید هم
ssh -Z user@host اضافه شده که نشون میده SSH دقیقا چه keyهایی رو و با چه ترتیبی برای لاگین امتحان میکنه.
به نظر میاد AI داره سرعت پیدا شدن باگها رو بالا میبره؛ هم برای تیمهای امنیتی، هم احتمالا برای مهاجم ها.
اینجام که اگر انگشتو بمالید منبعشه
#hossssein@sun_geek