Matlog – Telegram
Matlog
67 subscribers
7 photos
3 videos
10 links
ارتباط: @devmmk
Download Telegram
سلام دنیا
محمدمهدی کاشانی هستم با نام مستعار متین، متولد شهریور ۱۳۸۵ در شهر اصفهان
حدود ۴ ساله که به‌صورت حرفه‌ای در زمینه‌ی برنامه‌نویسی بک‌اند و توسعه‌ی سمت سرور با زبان پایتون و PHP فعالیت می‌کنم و همچنین تا حدودی در حوزه‌ی DevOps تخصص دارم
طرفدار پر و پا قرص نرم‌افزار آزاد و گنو/لینوکس هستم و با اشتیاق دنبال یادگیری و فعالیت بیشتر در این مسیرم.
الان که این کانال رو میسازم در شرایط مناسبی نیستیم و اینترنت وضعیت پایداری نداره، ولی با این حال برای مشغول نگه داشتن خودم تا جایی که میشه به فعالیتم ادامه میدم
اینجا از تجربه‌هام در پروژه‌ها می‌نویسم، گاهی هم آموزش و مسائل فنی میزارم و بعضی وقت‌ها هم چیزهایی روزمره و غیرمرتبط با کار.
از طریق لینک زیر می‌تونید به شبکه‌های اجتماعی، استک‌هایی که توشون فعالیت داشتم و پروژه‌های متن‌باز من دسترسی داشته باشید:

https://mkaaf.ir

اگر مطالب براتون مفید بود و دوست داشتید ازم حمایت کنید:

daramet.com/devmmk

حمایت شما باعث می‌شه بتونم با انگیزه‌ی بیشتر و استمرار بالاتر به تولید و اشتراک محتوای آزاد و فعالیت در این زمینه ادامه بدم
برای ارتباط با من میتونید مستقیما بهم پیام بدید
یا اگر ریپورت هستید میتونید از طریق ربات باهام در ارتباط باشید
9
⌨️ Combiz

کار این ابزار ساده تولید مسیج گیت کامیت با استفاده از AI هست

https://github.com/devmmk/ComBiz


میتونید از Ollama و یه مدل سبک متنی مثل phi3:mini استفاده کنید :)

@mat_log
11
امروز خیلی یهویی به سرم زد که برم و یبار دیگه با cloudflare workers ور برم
(شاید باهاش کار کرده باشید؛ ولی یه بستر رایگانه برای میزبانی کردن پروژه های کوچیک).
و متوجه شدم که می‌تونید بصورت کاملا رایگان و با محدودیت بسیار کمی، از یسری LLM از پیش میزبانی شده توسط کلودفلر داخل پروژه های Workers و حتی جاهای دیگه استفاده کنید
همچنین برای مدل های Beta کلاً محدودیت نورونی‌ای وجود نداره و هر تعداد درخواست که خواستید می‌تونید بفرستید:)

برای کارایی که نیاز به یه مدل خیلی قوی ندارن، یا استفاده‌ی زیاد خیلی مناسبه
برای مثال میشه با استفاده از همین Workers یه چت‌بات ساخت که می‌تونید ازش برای پرسیدن سوال های برنامه نویسی استفاده کنید، یه‌جور Code Assistant ساده و بدون محدودیت
یا کارای پیچیده تر مثل Scrape کردن محتوای وب و تحلیل داده‌ی بدست اومده و کارای اینطوری که نیاز به درخواست های زیادی دارن
یه نقطه ضعفی که داشت و متوجه‌ش شدم این بود که OpenAI API Compatible نیست به‌طور کامل و توی خیلی از پروژه ها نمیشه به‌طور مستقیم ازش استفاده کرد.
در کل چیز فان و کار راه بندازی بود و شخصا خیلی باهاش حال کردم
اینم لینک tutorialش هست که با چند تا نمونه و تمرین نحوه استفاده ازش رو بهتون نشون می‌ده:

https://developers.cloudflare.com/workers-ai/guides/tutorials/

@mat_log
7
یه‌سری مدل دیگه هم که معمولاً کمتر بهشون اشاره می‌شه ولی توی خیلی از پروداکت‌ها استفاده می‌شن، مدل‌های Text Embedding هست.

کار این مدل‌های نسبتاً سبک اینه که یه ورودی متنی می‌گیرن و یه آرایه عددی (مثلاً ۱۰۲۴ تایی، بسته به مدل) تحویل می‌دن.

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

پ.ن: ممنون از کارفرما که اینو معرفی کرد؛ چیز باحالی بود.

🔗 https://platform.openai.com/docs/guides/embeddings

@mat_log
7
اگه پایتون کد می‌زنید یه نکته‌ای که باید حواستون باشه، مخصوصاً وقتی دارید یه ماژول و لایبرری می‌نویسید، اینه که اسم فایل‌هاتون رو با اسم ماژول‌های عمومی یا پرکاربرد پایتون تداخل ندید.

مثلاً یه اشتباه رایج اینه که یه فایل یا پوشه به اسم utils درست می‌کنید، و بعد یه پکیج خارجی که importش می‌کنید هم داخلش فایلی به همین اسم داره، و متأسفانه گاهی وقتا اون پکیج به‌جای import نسبی که به این شکله؛

from .utils import *



از import مطلق یا همون بدون دات

from utils import *



استفاده کرده.
در این حالت ماژول خارجی سعی می‌کنه از لایبرری داخل پروژه استفاده کنه و کل پروژه می‌ره رو هوا!
نمونه‌ش SDK پایتون درگاه پرداخت زرین پال (zarinpal-py-sdk) هست که بخاطر رعایت نکردن استاندارد Packaging مجبورم کردن توی پروژه‌ی خودم همه جاهایی که از اسم utils استفاده کرده بودم به یه چیز دیگه تغییرش بدم، که خب منطقی نیست.
+آپدیت: تیکت زدیم و مشکل رو رفع کردن🦥

⚠️ برای اینکه از این دردسرها دور بمونید:
همیشه داخل پکیج‌ها از import نسبی استفاده کنید
از اسم‌هایی مثل utils, helpers, main, test, email, json و ... که یا کلی‌ان یا با استانداردهای پایتون تداخل دارن، پرهیز کنید یا حداقل خاص‌ترش کنید

از ابزارهایی مثل isort, flake8, pylint یا pyright کمک بگیرید تا مشکلات import رو زودتر متوجه شید
بسته‌بندی پایتون قلق داره؛ ازش غافل نشید.

@mat_log
2
This media is not supported in your browser
VIEW IN TELEGRAM
🕹 رباتی که مینروب بازی می‌کنه!

مینروب (minesweeper) یک بازی ساده و در عین حال جذاب هست که هر از گاهی توی تلگرام با رفقا بازی می‌کنم و هرکس که مین های بیشتری پیدا کنه برنده میشه
این بازی تا حدودی شانسیه ولی از یه‌جایی به بعد بستگی به میزان دقت‌تون داره!


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

https://github.com/devmmk/minroob-expert

و اگه خوشتون اومد خوشحال میشم توی گیت‌هاب استار بدید

@mat_log
6
Forwarded from جادی | Jadi
https://youtube.com/shorts/RDEjHeHmciQ?feature=share

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

گوشی‌ای که توی تصویر می‌بینید Redmi 9A هست؛ یه مدل قدیمی و ضعیف با ۲ گیگ رم و ۳۲ گیگ حافظه داخلی.
اول از همه رفتم سراغ آنلاک بوت‌لودر و نصب کاستوم‌رام LineageOS که یه اندروید خام و بدون Bloatware اضافیه، ولی وسط کار گوشی بریک شد.

بریک شدن یعنی گوشی به هیچ‌چیزی واکنش نشون نده؛ نه دکمه‌ها، نه شارژر، نه حتی یه ویبره یا نور کوچیک. عملاً یه گوشی مرده با صفحه‌ی کاملاً خاموش.

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

اگه وقت کنم، بعداً راجع‌به همه‌ی این مراحل مفصل‌تر توضیح می‌دم.

@mat_log
5
Bezan Baran
Habib
بزن باران
بشوی آلودگی را
ز دامان بلند روزگاران
4
تازه لینوکس نصب کردی و حالا باید ده‌ها اپلیکیشن رو یکی یکی نصب کنی؟ خسته‌کننده‌ست، نه؟

با TuxMate می‌تونی:
توزیع لینوکست رو انتخاب کنی (Ubuntu, Fedora, Arch, Debian و ...)

از بین بیش از ۱۸۰ اپلیکیشن محبوب در ۱۵ دسته (مرورگر، ابزارهای توسعه، رسانه، گیمینگ، امنیت و ...) انتخاب کنی.

یک فرمان نصب bulk دریافت کنی که همه اپ‌ها رو با یک دستور نصب کنه!

دیگه لازم نیست بسته‌ها رو یکی یکی سرچ کنی یا یادت بره از Flatpak، Snap یا AUR استفاده کنی. همه چیز ساده و سریع.

https://tuxmate.com/

@DevTwitter | <Reza Asgharzadeh/>
4
این مطلب، بدون موضع‌گیری خاص و توسط فردی نه‌چندان سیاسی، با در نظر داشتن این‌که اعتراض به وضعیت غیرقابل تحمل، حق واجب هر انسانی — در هر جایگاهی — است، نوشته شده است.
با توجه به شرایط فعلی کشور و اعتراضات گسترده مردم، اولین واکنش حاکم ناپایدار کردن اینترنت بصورت سراسری و ایجاد اختلال در ارتباطات مردم بوده است. تجربه نشان داده است که سانسور، نه‌تنها به بهبود وضعیت موجود کمکی نمی‌کند، بلکه خشم و عصبانیت مردم جامعه را بیشتر برمی‌انگیزد.
اینجانب بعنوان یک توسعه‌دهنده و برنامه‌نویس، با توجه به این‌که فیلترینگ و ایجاد اختلال در اینترنت بیشترین تأثیر را بر حوزه کاری بنده دارد، اعتراض خود را نسبت به این عمل اعلام می‌دارم.

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

به امید روز های بهتر❤️
8
Forwarded from جادی | Jadi
این روزها همه در فکر هستیم که همون اینترنت سانسور شده وی پی انی کند کی بر می گرده و بعضی ها می نویسن که شاید هیچ وقت بر نگرده و بعضی‌ها هم می‌گن غیر ممکنه حکومتی رسما تصمیم بگیره کشورش رو به عصر حجر برگردونه. اما ما می دونیم که از این حکومت تقریبا هیچ چیز بعید نیست.

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

ولی خوبه یادآوری کنیم به خودمون که اطلاعات از دو نظر شبیه چشمه است: ۱. وقتی جاری شد دیگه نمی شه جلوش رو گرفت و ۲. اگر کوچکترین روزنه ای باشه راهش رو باز می کنه و به آدم ها می رسه.

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

تکرار می کنیم که سانسورچی اونی است که می دونه حرفش در دنیای آزاد خریداری نداره و اونی که تاریکی رو می پرسته کسی است که تو نور زشتی هاش دیده می شه.

به امید آزادی همه.
1
Forwarded from جادی | Jadi
امروز یادی می کنیم از:

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

و البته ده ‌ها هزار کشته، زخمی و بازداشتی دیگه که امیدوارم خیلی زود یاد، حرف و حقشون ادا بشه.
3
۷۲۶. علیرضا یزدانی ۱۸ ساله

۱۸ دی ۱۴۰۴ فلاورجان اصفهان

@RememberTheirNames
7
چه سودی در علم است، وقتی انسان ارزش ندارد؟

وقتی خون در کوچه‌ها جاری‌ست دیگر سکوت را بر خود روا نمی‌دانیم. دی‌ماه امسال، روزهایی را پشت سر گذاشته‌ایم که شرح آن‌ها زبان را به عجز می‌کشاند. مردمی که به خیابان آمدند تا حقشان را مطالبه کنند، با شلیک مستقیم گلوله به زمین افتادند. نه در میدان جنگ، بلکه در کوچه و خیابان. چند روز بیشتر طول نکشید تا فهرست کشته‌شدگان به اندازه‌ای طولانی شود که تخمین تعدادشان نیز نشدنی تلقی گردد. این فهرست، صرفاً مجموعه‌ای از نام‌ها نیست. هر نام در آن، یک خانواده‌ی داغدار، یک مادر عزادار، یک آینده‌ی نابود‌شده است. این‌ها آدم‌هایی هستند که زنده بودند. زنانی که می‌خواستند زندگی کنند، مردانی که آرزوی آزادی داشتند، دانشجویانی که نمی‌خواستند تن به ذلت زیستن در چنین استبدادی بدهند. دانشجویانی که روزی در همین کلاس‌های درس نشستند، در همین دانشکده‌ها قدم زدند، در همین هوا نفس کشیدند و در میان همین دیوارها گفتند و خندیدند. دانشجویانی چون محمدرضا مرادعلی، ورودی ۹۵ دانشکده‌ی مهندسی کامپیوتر دانشگاه شریف، که در ۱۹ دی‌ماه ۱۴۰۴ کشته شد و از او، تنها یاد و خاطره‌اش به جا مانده‌است.

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

همان مردمی که در روز‌های جنگ از آن‌ها به عنوان «ملت شریف و غیور» یاد می‌کردید، حالا به یک‌باره «اغتشاشگر» و «تروریست» نامیده شدند. همان مردمی که سال‌ها زیر بار سختی و فشار تحمیل‌شده از ستمتان زندگی کردند، حالا «اراذل و اوباش» خوانده شدند. انگار فراموش کرده‌اید که نمی‌توان یک ملت را یک روز به آسمان برد و روز بعد به زمین کوبید. فراموش کرده‌اید که واژه‌ها معنا دارند و حافظه‌ی مردم، کوتاه نیست.

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

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

جمعی از دانشجویان دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف، ۹ بهمن ۱۴۰۴
1
وقتی توی chatgpt سوالای ریاضی می‌پرسی
همیشه جوابش rtl میشه و کلا بهم میریزه

یه اکستنشن نوشتم که این مشکل رو حل می‌کنه

برای کروم و فایرفاکس قابل نصبه.
فایل زیپ رو دانلود کنید و از بخش اکستنشن load unpacked بزنید و لذتشو ببرید.

https://github.com/miladniroee/chatgpt-math-dir-resolver

@DevTwitter | <Ladoya/>
1