| Erfan's Notes | – Telegram
| Erfan's Notes |
192 subscribers
81 photos
10 videos
101 links
Download Telegram
یکی از بهترین و سریع‌ترین کتابخونه‌هایی که برای Post Processing برای ThreeJS دیدم، این کتابخونه هست

قابلیت های خیلی خوب و جالبی هم داره و فیلترها و افکت های زیبا

البته که "سریع بودن" نسبی هست، اگر از افکت‌های سنگینی استفاده کنید طبیعتا فریم‌ریت پایین‌تر میاد و تعداد Call های بیشتری به WebGL می‌شه و پرفرمنس پایین میاد

💠 مشاهده دموها

⭕️ https://github.com/pmndrs/postprocessing
🔥5
اگر علاقه به نوشتن برنامه‌های PHP به‌صورت Portable تر دارید، توصیه می‌کنم با پروژه PHP Runtime آشنا بشید

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

فرض کنید یک وبسایت با PHP نوشتید و تصمیم می‌گیرید که سایت رو بیارید روی OpenSwoole، مجبور هستید حداقل 20 درصد از کد های پروژه رو بازنویسی کنید تا مشکل متغیر های Global و ساختاری‌ای مثل _GET و‌ _POST و … رو حل کنید

حالا فرض کنید از OpenSwoole خوشتون نیومده و میرید سمت RoadRunner یا ReactPHP یا AMPHP و دوباره مجبور هستید بخش هایی از پروژه که مختص به فریمورک هستند رو بازنویسی کنید

کاربرد PHP Runtime برای حل این مشکل هست و در واقع برنامه‌تون رو به‌شکل BlackBoxed می‌نویسید که بتونید بدون زحمت تغییر در کد، با یک ساختار واحد، داخل OpenSwoole یا RoadRunner یا ReactPHP و … پروژه‌تون رو اجرا کنید

https://github.com/php-runtime/runtime
🔥3
این زبان عجیب و غریب رو توصیه می‌کنم ببینید و همین صفحه گیت‌هابش رو تا انتها بخونید تا با ویژگی‌های خنده‌دارش آشنا باشید

چیزی به اسم حلقه هم نداره چون معتقد هست حلقه‌ها منسوخ هستند!

به جای سمی‌کالن از ! استفاده می‌کنه و به جای not از سمی‌کالن استفاده می‌کنه

مقدار Boolean اش سه حالت بله و خیر و «شاید» هست

آرایه‌هاش نه از صفر و نه از یک، بلکه از منفی یک شروع می‌شه

می‌تونید بگید که 5 مساوی 4 هست و از اون به بعد هرجای برنامه 5 استفاده کنید، مقدار 4 نمایش داده می‌شه (هر چیزی رو در زبان می‌تونید مقدار دهی کنید و عوض کنید کاربردش رو)

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

https://github.com/TodePond/C
🔥9
نسخه r156 کتابخونه ThreeJS هم اخیرا ریلیز شده و تغییراتش رو می‌تونید از اینجا ببینید و آپدیت کنید به نسخه جدید

https://threejs.org/changelog/?r156
این عکس تایم تقریبی یک‌سری عملیات‌های مهم توی سیستم‌های کامپیوتری رو نوشته، قابل توجه کسانی هست که پرفرمنس و میلی‌ثانیه‌ها براشون مهمه

به‌صورت خلاصه عملیات‌های CPU و‌ RAM و نتورک Local خیلی سریع هستند

و عملیات‌های Disk و IO و نتورک Remote گلوگاه یا همون Bottleneck هستند و باید non-blocking باشند
🔥3
| Erfan's Notes |
این عکس تایم تقریبی یک‌سری عملیات‌های مهم توی سیستم‌های کامپیوتری رو نوشته، قابل توجه کسانی هست که پرفرمنس و میلی‌ثانیه‌ها براشون مهمه به‌صورت خلاصه عملیات‌های CPU و‌ RAM و نتورک Local خیلی سریع هستند و عملیات‌های Disk و IO و نتورک Remote گلوگاه یا همون…
در ادامه بحث پرفرمنس، این هم نمودار خیلی زیبا در مقایسه ارتباط بین پرفرمنس و انواع روش‌های concurrency هست

داغون‌ترین حالت تعلق می‌گیره به fork کردن پروسس جدید

حالت thread هم یک حد میانی محسوب می‌شه

حالت‌های pre forked و pre threaded و epoll در ابتدا نزدیک هستند ولی با بیشتر شدن concurrency نزولی می‌شن

در نهایت، مکانیسم epoll لینوکس در صدر می‌مونه و می‌تازه (:

نکته اول: این مقایسه برای requests per second یک وب‌سرور هست و الزاما در هر نوع concurrency اینطور نیست

نکته دوم: اگر علاقه‌مند به مطالعه درمورد epoll در لینوکس بودید، این صفحه رو ببینید

نکته سوم: در openswoole برای event loop از epoll استفاده می‌شه
🔥6
نسخه v1 ران‌تایم Bun هم منتشر شد، می‌تونید دانلود کنید و تست کنید (تا به الان در حالت بتا بود)

طبق ادعا هایی که می‌کنه، ۵-۶ برابر سریع‌تر از NodeJS هست، ولی آیا صحت داره؟ من خودم بنچمارک نکردمشون ولی چشم‌بسته می‌تونم قبول کنم که واقعیت داره

چون می‌دونم که ساختار NodeJS واقعا ایده‌آل نیست و خیلی نقاط ضعف ساختاری می‌شه داخلش پیدا کرد

ولی آیا باید به Bun مهاجرت کنیم؟ فکر نمی‌کنم، چون هنوز اول راه هست و تقریبا هیچ چیز درست و حسابی‌ای که توی NodeJS استفاده می‌کردیم باهاش سازگاری کامل نداره

https://bun.sh
🔥6
یکی از بهترین جایگزین‌هایی که می‌شه برای Postman پیدا کرد، نرم‌افزار Insomnia هست، اوپن‌سورس هست و می‌تونید از این لینک ببینید

ولی خب چرا Postman نه؟ چون سادگی‌اش رو نسبت به اوایل از دست داده و کم‌کم فکر مهاجرت ازش فرا رسیده
🔥7
این ویدیو از سری ویدیو های ارزشمندی هست که سورس‌کد Xv6 رو بررسی می‌کنه

منبع خوبی می‌تونه باشه برای کسانی که دنبال یادگیری سطوح پایین‌تر OS و بوت‌لودر هستند

نکته مهم هم اینه که الزاما قرار نیست هرکسی OS بنویسه با دیدن این سری ویدیوها
🔥4
یک جایگزین فوق‌العاده قدرتمند و سرعتمند برای SocketIO در محیط های NodeJS و کاملا سازگار با ران‌تایم Bun:

https://github.com/uNetworking/uWebSockets.js
🔥4
اگه مثل من طرفدار Tiling Window Manager ها از جمله i3wm هستید و علاقه به KDE هم دارید، احتمالا پروژه i3-and-kde-plasma براتون جالب باشه

من چند سالی می‌شه که کاربر سفت و سخت i3wm هستم، فارغ از هر سیستم‌عاملی، کار کردن با چیزی جز i3wm برام غیرممکن هست

مدتی از روی اجبار برای پروژه‌ای مجبور به استفاده از KDE Plasma شده بودم، که با کمک ریپوزیتوری بالا تونستم استفاده از چیزی غیر از i3wm رو امکان‌پذیرتر کنم

در حالت کلی، ریپوزیتوری بالا بهتون یاد میده که چطوری دسکتاپ KDE رو با استفاده از i3wm بالا بیارید و مدیریت کنید

تجربه‌اش ایده‌آل و بدون نقص نیست، ولی خب برای طرفداران Tiling WM ها قابل قبول هست، در کل یک حد وسط هست، ترکیب سنتی و صنعتی
🔥7
اگر فکر می‌کنید جاوا اسکریپت بلدید، توصیه می‌کنم این تست رو انجام بدید تا متوجه بشیم که هیچکدوممون JS بلد نیستیم

https://jsisweird.com
🔥8
گیت‌هاب به‌مناسبت هالووین، رنگ کامیت‌ها رو هالووینی کرده 🎃
🔥8
Telegram Contests
🥈Mindful Swan built DPXWallet, a complete crypto-wallet concept.
(extra reward:🥈x1 for SimpList – a productivity app to track all your tasks) +$1,000.
به نظر می‌رسه که توی مسابقه Mini App تلگرام جزو رنک های دوم شدم و خب این احتمالا خبر خوبیه

ربات‌هایی که باهاشون شرکت کردم @SimpListBot و @DPXWalletBot بودند و سورس و داکیومنتیشن جفت‌شون هم می‌تونید ببینید، کاملا هم اوپن‌سورس هستند و می‌تونید به هر نحوی دوست داشتید استفاده کنید:

https://erfanmola.github.io/SimpList/

https://erfanmola.github.io/DPXWallet/

یه کیت نسبتا خوبی هم توسعه دادم برای Vue به اسم TeleVue که احتمالا مفید باشه براتون:

https://github.com/erfanmola/TeleVue

پ.ن: البته من برای دوم شدن شرکت نکرده بودم، ولی خب نظر داورها محترمه (:
🔥14
| Erfan's Notes |
اگه مثل من طرفدار Tiling Window Manager ها از جمله i3wm هستید و علاقه به KDE هم دارید، احتمالا پروژه i3-and-kde-plasma براتون جالب باشه من چند سالی می‌شه که کاربر سفت و سخت i3wm هستم، فارغ از هر سیستم‌عاملی، کار کردن با چیزی جز i3wm برام غیرممکن هست مدتی…
من برای به‌روز بودن و شاید از روی تفریح، به‌طور‌ موقت از XOrg به Wayland سوئیچ کردم

و در پی اون، مجبور شدم از i3wm به swaywm سوئیچ کنم

تجربه‌اش تا اینجا بد نبوده، ولی خب Wayland هست و دردسرهاش و محدودیت‌هاش و تفاوت‌هاش

البته من دو سال پیش هم اجبارا روی Wayland و swaywm بودم و تقریبا می‌تونم بگم که زندان بود برام، ولی خب الان دیگه زندان نیست و خیلی از نواقص رفع شده

در کل، اگر کاربر i3wm هستید توصیه می‌کنم یه تست با sway بکنید

البته همچنان Nvidia مشکلاتش با Wayland رو داره ولی خب می‌تونیم امیدوار باشیم که حل می‌شه تا قرن بعد

پ.ن: اگر علاقه‌مند بودید می‌تونم توی پست های آینده درمورد فرق های بین Wayland و XOrg توضیح بدم به صورت ویس یا متنی
🔥7
| Erfan's Notes |
من برای به‌روز بودن و شاید از روی تفریح، به‌طور‌ موقت از XOrg به Wayland سوئیچ کردم و در پی اون، مجبور شدم از i3wm به swaywm سوئیچ کنم تجربه‌اش تا اینجا بد نبوده، ولی خب Wayland هست و دردسرهاش و محدودیت‌هاش و تفاوت‌هاش البته من دو سال پیش هم اجبارا روی…
حدود یک ماه از آخرین پستی که اینجا نوشتم می‌گذره، دلیلش هم احتمالا درگیری و مشغله بوده، دوباره سعی می‌کنم هفتگی بنویسم

ولی الان صرفا اومدم بگم که، من دوباره برگشتم روی i3 و XOrg (:

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

آخه لامصب چرا باید من نتونم از صفحه خودم اسکرین رکورد بگیرم مثل آدم؟ یا چرا نباید یک daemon مستقل برای مدیریت نوتیفیکیشن باشه به شکل درست و حسابی؟ چرا باید drag و drop بین دو اپ آرزو بشه؟

و اینکه مشکل با Nvidia چیه؟ چرا باید Chrome به Software Rendering بیاد و Fallback کنه به جای HW Acceleration

یه باگ عجیبی هم که خوردم این بود که رم بدون استفاده باقی می‌موند و swap پر‌ می‌شد و سیستم فریز می‌شد

خلاصه که دقیقا مثل دو سال پیش، از Wayland ناراضی هستم و تا دو سال دیگه هم سمتش نمیرم باز هم ، شما هم سمتش نرید
🔥1
این سایت اومده و LLM هایی مثل GPT-3 رو به صورت بصری و سه‌بعدی به تصویر کشیده، دیدنش رو توصیه می‌کنم

https://bbycroft.net/llm
Media is too big
VIEW IN TELEGRAM
با استفاده از این سایت می‌تونید برای گیت‌هاب خودتون این ویدیو آمار نسبتا خفن رو بسازید

https://githubunwrapped.com/

البته من با سایت خیلی حال می‌کردم ولی وقتی فهمیدم تولید ویدیو اش سمت سرور هست، در حالی که می‌تونست کاملا سمت فرانت‌اند باشه، دیگه باهاش حال نمی‌کنم
یکی از جالب‌ترین دیزاین‌های فیگما ایرانی‌ای که دیدم، این پروژه است

شخصیت‌های شاهنامه رو با استفاده از هوش‌مصنوعی با یک‌سری پرامپت‌های یک‌دست جنریت کردند که نتیجه‌اش یک کاتالوگ خفن و یک‌پارچه شده

کاش یک تیمی پیدا بشه که نسخه های مشابه این رو به صورت Comic داستانی بر اساس شاهنامه طراحی کنه
🔥6
This media is not supported in your browser
VIEW IN TELEGRAM
نمی‌دونم با چه منطقی، ولی یوتیوب تصمیم گرفت این ویدیو 12 سال پیش رو بهم Suggest کنه و منم نشستم دیدم، پیاده‌سازی یک ترن‌هوایی سه‌بعدی در اکسل!

اولین کلمه‌ای که به ذهنم رسید، ترکیب W و T و F بود، ولی بعد که کمی فکر کردم دیدم که ما همین الانش هم داریم تقریبا مشابه این کار رو انجام میدیم! وقتی برای چاپ یک Hello World چند کیلو node_modules اجرا می‌شه، یا وقتی یک نفر با پایتون اپ موبایل توسعه میده، یا حتی همین VSCode و Discord ای که استفاده می‌کنیم با Electron هستند و ...

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