مثل cowsay ولی عاشقانه!
lovesay is a simple python script that displays a quote from a loved one based on the day of the month or a quote passed in through the cli arguments.
https://github.com/ZenithDS/lovesay
lovesay is a simple python script that displays a quote from a loved one based on the day of the month or a quote passed in through the cli arguments.
https://github.com/ZenithDS/lovesay
GitHub
GitHub - ZenithDS/lovesay: cowsay, but full of love ♡
cowsay, but full of love ♡. Contribute to ZenithDS/lovesay development by creating an account on GitHub.
❤4😁2👍1
افزایش سرعت کامپایل برنامه های راسط
https://endler.dev/2020/rust-compile-times/
https://endler.dev/2020/rust-compile-times/
Corrode Rust Consulting
Tips For Faster Rust Compile Times | corrode Rust Consulting
Slow Rust Builds?
Here are some tips to speed up your compile times.
This list was originally released on my private blog, but I decided to
update it for 2025 and move it here.
All t…
Here are some tips to speed up your compile times.
This list was originally released on my private blog, but I decided to
update it for 2025 and move it here.
All t…
👍2👎1🤩1
نوشتههای ترمینالی
افزایش سرعت کامپایل برنامه های راسط https://endler.dev/2020/rust-compile-times/
مطلب قشنگی بود در کل. به چیزای زیبایی اشاره کرده بود.
توضیح strong type و weak type در مقابل static type وdynamic type
با مثال های خوب از جمله elixir
https://thinkingelixir.com/elixir-in-the-type-system-quadrant/
با مثال های خوب از جمله elixir
https://thinkingelixir.com/elixir-in-the-type-system-quadrant/
Thinking Elixir
Elixir in the Type System Quadrant - Thinking Elixir
Programming languages are created with different kinds of type systems. When “Thinking Elixir”, it is helpful to know where Elixir sits in the Type System Quadrant and where that is relative to the language you are coming from. Beyond coming from OO, you…
🤩1
کرومیوم یه صفحه credits داره که لینک پروژه هایی که ازشون استفاده کرده رو نوشته.
chrome://credits
بعد یه پروژه هست به اسم zxcvbn-cpp که برای چک کردن امنیت پسورده و لینک گیتهابی که ازش گذاشتن دیگه معتبر نیست.
لینک قبلیه: https://github.com/rianhunter/zxcvbn-cpp
لینک جدید: https://thelig.ht/code/zxcvbn-cpp/
توی گیتهاب کرومیوم که چون میروره اصلا جای issue نداره.
صفحهی reportش اینجاست: https://bugs.chromium.org/p/chromium/issues/entry
اما بین template ها گم شدم حقیقتش. ایدهای چیزی دارید؟
chrome://credits
بعد یه پروژه هست به اسم zxcvbn-cpp که برای چک کردن امنیت پسورده و لینک گیتهابی که ازش گذاشتن دیگه معتبر نیست.
لینک قبلیه: https://github.com/rianhunter/zxcvbn-cpp
لینک جدید: https://thelig.ht/code/zxcvbn-cpp/
توی گیتهاب کرومیوم که چون میروره اصلا جای issue نداره.
صفحهی reportش اینجاست: https://bugs.chromium.org/p/chromium/issues/entry
اما بین template ها گم شدم حقیقتش. ایدهای چیزی دارید؟
GitHub
GitHub - rianhunter/zxcvbn-cpp: A realistic password strength estimator.
A realistic password strength estimator. Contribute to rianhunter/zxcvbn-cpp development by creating an account on GitHub.
👎1
Forwarded from a pessimistic researcher ( archived ) (Kc)
می دونم حوصله خوندن متن های طولانیم رو ندارید ولی اینو بخونید و از دست ندید :))))
به نظر خودم قشنگ ترین و کول ترین و فان ترین مطلبیه که توی کانال گذاشتم.
" پر Cite ترین مقاله لمپورت"
یادمه یه بار با Leslie Lamport مصاحبه کرده بودند و ازش پرسیده بودن چرا انقدر توی Concurrency Theory گولاخی و رو دستت نیست ؟ :))))
ایشونم اول شکسته نفسی میکرد و بعدش گفت به نظرم دلیل اصلیش اینه که مسائل حوزه Distributed Systems و Concurrency Theory که شاکله اصلیش مفهوم زمان هستش رو من به چشم یک مسئله فیزیک میبینم ولی دیگران به چشم یک مسئله ریاضی.
منم مثل شما اولش نفهمیدم که این چیه میگه و فازش چیه. تا اینکه رفتم سراغ پر Cite ترین مقاله ایشون. این مقاله تا این لحظه که من دارم براتون این پست رو مینویسم ۱۲۹۸۰ تا Cite خورده :))))))))))))
یادمه توی یه مصاحبه هم خودش گفته بود خودمم درک نمیکنم چرا انقدر این مقاله رو دانشمندا دوست دارن. شاید چیزی توش دیدن که من خودم ندیدم :)))
حالا داستان این مقاله که در انتهای این پست فایلش رو براتون قرار میدم چیه؟
ایده ای که باعث شد آقای لمپورت دست به قلم بشه و این مقاله رو بنویسه از اینجا ناشی میشه که :
دو تا از محققین IBM به نام های Paul Johnson و Robert Thomas میان که مشکل اصلی یکی از محصولات IBM رو حل کنن. داستان اینه که IBM یک محصول داشته به اسم TIP که مخفف این عبارته :
Tivoli Integrated Portal
شرکت IBM کلی محصول داشت و کاربر ها موقعی که میخواستن از هر کدوم استفاده کنن مجبور میشدن برای هر کدوم یک بار عمل Authentication رو انجام بدن. شرکت IBM گفت که چه کاریه من بیام یک سیستم یکپارچه برای Authentication بنویسم که کاربرا یک بار Authenticate بشن و بعد از اون بتونن از همه محصولات استفاده کنن. واسه همینم میاد TIP رو میسازه. مشکل اینجا بود که این TIP میومد از یک سری دیتابیس Replicate شده روی شبکه ARPA-like استفاده میکرد و دنبال ارائه یک الگوریتم بودن تا بتونن به شکل Consistent این دیتابیس ها رو Maintain کنن.
میان یک الگوریتم مبتنی بر مکانیزم Timestamp میسازن. یعنی هر Event یا هر Request که میومد به سمت این دیتابیس یک Timestamp میخورد و به نوعی فکر کردن میتونن بین این Event ها یا همون Request ها یک رابطه Totally Order برقرار کنن.
سخت شد ؟ :)))))
حالا این رابطه Totally Order چی هست اصلا؟ اگر وضع تون خیلی خرابه برید سکشن 9.1 و 9.6 کتاب ریاضی گسسته روزن رو بخونید. اما اگر اوضاع تون انقدر ها هم وخیم نیست توجه تون رو به ادامه مطلب جلب میکنم :)))
ما توی ریاضیات به رابطه ای که خواص Reflexivity و AntiSymetric و Transitive رو داشته باشه میگیم یک رابطه Partial Order . به طور مثال رابطه کوچک یا بزرگ تر بودن اعداد یک نوع رابطه Partial Order عه (البته ما دو نوع رابطه Partial Order داریم اینی که من تعریف کردم رو بهش میگن Weak Partial Order و اینی که من تعریف کردم اگر به جای Reflexivity از نوع Irreflexive باشه بهش میگن Strong Partial Order ولی حالا خیلی مهم نیست و به قول یکی از دوستانم Any way :))))) )
حالا اگر به ازای هر دو عضو از مجموعه ای ک درگیر رابطه Partial order هست ما بتونیم اون دو تا رو Compare کنیم یا به اصطلاح Comparable باشن میگیم اون رابطه Totally Order هستش.
زبونم مو در آورد تا بهتون بگم که اون دو نفر ای که مسئله Replicated Database رو میخواستن حل کنن دیدشون این بود که بین Request هایی که داره به سمت دیتابیس میرن این رابطه Totally Order برقراره و میشه تعیین کرد که هر Event ای قبل یا بعد از چه Event ای رخ داده.
از اونجایی که فکر میکردن خیلی کار گولاخی کردن گفتن این مسئله فقط محدود به محصول TIP نمیشه و هر نوع دیتابیس توزیع شده ای رو می تونیم اینطوری Maintain کنیم.
بعد اینکه کلی جشن گرفتن و خوشحالی کردن رفتن این مقاله رو در قالب یک RFC با شماره 677 منتشر کردن.(دلیلش این بود که این الگوریتم فقط بر روی شبکه های ARPA-Like جواب می داد)
آقای لمپورت که لیسانس فیزیک خونده بود و قضیه نسبیت آقای انیشتن رو بلد بود فهمید که این دو نفر Bullshit گفتن :)))))
حالا آقای لمپورت دید جامعه CS که نسبیت نمی فهمن چیه اومد توی این مقاله باهامون کامپیوتری صحبت کرد.
گفت که عزیزان شما وقتی میگید که یک رخداد مانند a قبل از یک رخداد مانند b اتفاق افتاده، در اصل دارید بر اساس پارامتر زمان فیزیکی این رو میگید. خب حالا ما باید برای هر کدم از این Process هایی که توی سیستم مون داریم یک Physical Timer بذاریم ولی خب چه تضمینی هست که اینا دقیق و هماهنگ با همدیگه کار کنن؟ ثانیا خیلی از سیستم های نرم افزاری از تایمر های دیجیتال استفاده میکنند که اون دیگه خیلی فاجعه تره.
به نظر خودم قشنگ ترین و کول ترین و فان ترین مطلبیه که توی کانال گذاشتم.
" پر Cite ترین مقاله لمپورت"
یادمه یه بار با Leslie Lamport مصاحبه کرده بودند و ازش پرسیده بودن چرا انقدر توی Concurrency Theory گولاخی و رو دستت نیست ؟ :))))
ایشونم اول شکسته نفسی میکرد و بعدش گفت به نظرم دلیل اصلیش اینه که مسائل حوزه Distributed Systems و Concurrency Theory که شاکله اصلیش مفهوم زمان هستش رو من به چشم یک مسئله فیزیک میبینم ولی دیگران به چشم یک مسئله ریاضی.
منم مثل شما اولش نفهمیدم که این چیه میگه و فازش چیه. تا اینکه رفتم سراغ پر Cite ترین مقاله ایشون. این مقاله تا این لحظه که من دارم براتون این پست رو مینویسم ۱۲۹۸۰ تا Cite خورده :))))))))))))
یادمه توی یه مصاحبه هم خودش گفته بود خودمم درک نمیکنم چرا انقدر این مقاله رو دانشمندا دوست دارن. شاید چیزی توش دیدن که من خودم ندیدم :)))
حالا داستان این مقاله که در انتهای این پست فایلش رو براتون قرار میدم چیه؟
ایده ای که باعث شد آقای لمپورت دست به قلم بشه و این مقاله رو بنویسه از اینجا ناشی میشه که :
دو تا از محققین IBM به نام های Paul Johnson و Robert Thomas میان که مشکل اصلی یکی از محصولات IBM رو حل کنن. داستان اینه که IBM یک محصول داشته به اسم TIP که مخفف این عبارته :
Tivoli Integrated Portal
شرکت IBM کلی محصول داشت و کاربر ها موقعی که میخواستن از هر کدوم استفاده کنن مجبور میشدن برای هر کدوم یک بار عمل Authentication رو انجام بدن. شرکت IBM گفت که چه کاریه من بیام یک سیستم یکپارچه برای Authentication بنویسم که کاربرا یک بار Authenticate بشن و بعد از اون بتونن از همه محصولات استفاده کنن. واسه همینم میاد TIP رو میسازه. مشکل اینجا بود که این TIP میومد از یک سری دیتابیس Replicate شده روی شبکه ARPA-like استفاده میکرد و دنبال ارائه یک الگوریتم بودن تا بتونن به شکل Consistent این دیتابیس ها رو Maintain کنن.
میان یک الگوریتم مبتنی بر مکانیزم Timestamp میسازن. یعنی هر Event یا هر Request که میومد به سمت این دیتابیس یک Timestamp میخورد و به نوعی فکر کردن میتونن بین این Event ها یا همون Request ها یک رابطه Totally Order برقرار کنن.
سخت شد ؟ :)))))
حالا این رابطه Totally Order چی هست اصلا؟ اگر وضع تون خیلی خرابه برید سکشن 9.1 و 9.6 کتاب ریاضی گسسته روزن رو بخونید. اما اگر اوضاع تون انقدر ها هم وخیم نیست توجه تون رو به ادامه مطلب جلب میکنم :)))
ما توی ریاضیات به رابطه ای که خواص Reflexivity و AntiSymetric و Transitive رو داشته باشه میگیم یک رابطه Partial Order . به طور مثال رابطه کوچک یا بزرگ تر بودن اعداد یک نوع رابطه Partial Order عه (البته ما دو نوع رابطه Partial Order داریم اینی که من تعریف کردم رو بهش میگن Weak Partial Order و اینی که من تعریف کردم اگر به جای Reflexivity از نوع Irreflexive باشه بهش میگن Strong Partial Order ولی حالا خیلی مهم نیست و به قول یکی از دوستانم Any way :))))) )
حالا اگر به ازای هر دو عضو از مجموعه ای ک درگیر رابطه Partial order هست ما بتونیم اون دو تا رو Compare کنیم یا به اصطلاح Comparable باشن میگیم اون رابطه Totally Order هستش.
زبونم مو در آورد تا بهتون بگم که اون دو نفر ای که مسئله Replicated Database رو میخواستن حل کنن دیدشون این بود که بین Request هایی که داره به سمت دیتابیس میرن این رابطه Totally Order برقراره و میشه تعیین کرد که هر Event ای قبل یا بعد از چه Event ای رخ داده.
از اونجایی که فکر میکردن خیلی کار گولاخی کردن گفتن این مسئله فقط محدود به محصول TIP نمیشه و هر نوع دیتابیس توزیع شده ای رو می تونیم اینطوری Maintain کنیم.
بعد اینکه کلی جشن گرفتن و خوشحالی کردن رفتن این مقاله رو در قالب یک RFC با شماره 677 منتشر کردن.(دلیلش این بود که این الگوریتم فقط بر روی شبکه های ARPA-Like جواب می داد)
آقای لمپورت که لیسانس فیزیک خونده بود و قضیه نسبیت آقای انیشتن رو بلد بود فهمید که این دو نفر Bullshit گفتن :)))))
حالا آقای لمپورت دید جامعه CS که نسبیت نمی فهمن چیه اومد توی این مقاله باهامون کامپیوتری صحبت کرد.
گفت که عزیزان شما وقتی میگید که یک رخداد مانند a قبل از یک رخداد مانند b اتفاق افتاده، در اصل دارید بر اساس پارامتر زمان فیزیکی این رو میگید. خب حالا ما باید برای هر کدم از این Process هایی که توی سیستم مون داریم یک Physical Timer بذاریم ولی خب چه تضمینی هست که اینا دقیق و هماهنگ با همدیگه کار کنن؟ ثانیا خیلی از سیستم های نرم افزاری از تایمر های دیجیتال استفاده میکنند که اون دیگه خیلی فاجعه تره.
Forwarded from a pessimistic researcher ( archived ) (Kc)
پس این مزخرفی که این دو نفر گفتن قابل پیاده سازی نبود و دلیلش هم اینه که رابطه بین Event ها از نوع Totally Order نیست بلکه از نوع Partially Order هستش.
یعنی این که ممکنه ما دو تا Event داشته باشیم که به هیچ عنوان نتونیم بگیم کدومشون اول رخ دادن.
این دید رو آقای لمپورت از قضیه نسبیت خاص انیشتن داشتن.
در آخر آقای لمپورت میاد الگوریتم اون دو نفر رو بر اساس تئوری ای که الان بهتون توضیح دادم اصلاح میکنن و نوع درستی از اون الگوریتم رو به ما معرفی میکنن.
خیلی این مقاله قشنگه. این مقاله میاد خیلی درست و دقیق مفهوم زمان رو توی سیستم های همروند و توزیع شده به ما توضیح میده. خیلی دقیق میاد توضیح میده که ما به چه سیستمی میگیم Distributed و چه زمان میگیم دو تا Event دارن به طور Concurrent اجرا میشن.
خلاصه خوندنش برای کسانی که میخوان وارد حوزه هایی بشن که سر و کارشون با زمان هستش مستحبه.
توی این مقاله آقای لمپورت برای درک بهتر قضیه نسبیت خاص دو تا مرجع معرفی میکنه که یکیش نظر من رو خیلی به خودش جلب کرد.
یکی از این مراجع خیلی با دید ریاضی فیزیک نوشته شده که من اصلا نمی فهممش و براتونم میذارم و شما هم نمی فهمیدش.
ولی اون یکی مرجع سعی کرده نسبیت خاص رو به جای توضیح فرمال و ریاضیاتیک. با توضیح یک داستان به طور تصویری بهمون حالی کنه که خیلی قشنگه و بخونید میفهمید و براتون میذارم :)))))
در آخر یه نکته دیگه هم بگم در مورد این مقاله. آقای Jim Gray که قبل تر ها توی یک پستی تحت عنوان ملوان گمشده معرفیشون کردم یه روز به لمپورت میگه:
هر کس که مقاله ات رو میخونه یکی از این دو نظر رو داره : یا میگیه خیلی بدیهی بود یا میگه یک شاهکار به تمام معناست.
لمپورت هم بهش گفته که : با دسته اول نمی تونم بحث کنم و با دسته دومم حوصله بحث کردن ندارم :)))))
نظر من رو بخواید هر دوشه :))))
یه نکته جالب دیگه هم اینکه لمپورت میگه من با هرکسی که در باره این مقاله صحبت میکنم در مورد State Machine توی مقاله صحبت میکنم و اونا هم میگن مگه مقاله ات State Machine داشت اصلا :)))))
به طوریکه خود لمپورت میگه من خودم شک میکنم و میرم مقاله ام رو از اول میخونم
خلاصه همین دیگه
تموم شد :)))
یعنی این که ممکنه ما دو تا Event داشته باشیم که به هیچ عنوان نتونیم بگیم کدومشون اول رخ دادن.
این دید رو آقای لمپورت از قضیه نسبیت خاص انیشتن داشتن.
در آخر آقای لمپورت میاد الگوریتم اون دو نفر رو بر اساس تئوری ای که الان بهتون توضیح دادم اصلاح میکنن و نوع درستی از اون الگوریتم رو به ما معرفی میکنن.
خیلی این مقاله قشنگه. این مقاله میاد خیلی درست و دقیق مفهوم زمان رو توی سیستم های همروند و توزیع شده به ما توضیح میده. خیلی دقیق میاد توضیح میده که ما به چه سیستمی میگیم Distributed و چه زمان میگیم دو تا Event دارن به طور Concurrent اجرا میشن.
خلاصه خوندنش برای کسانی که میخوان وارد حوزه هایی بشن که سر و کارشون با زمان هستش مستحبه.
توی این مقاله آقای لمپورت برای درک بهتر قضیه نسبیت خاص دو تا مرجع معرفی میکنه که یکیش نظر من رو خیلی به خودش جلب کرد.
یکی از این مراجع خیلی با دید ریاضی فیزیک نوشته شده که من اصلا نمی فهممش و براتونم میذارم و شما هم نمی فهمیدش.
ولی اون یکی مرجع سعی کرده نسبیت خاص رو به جای توضیح فرمال و ریاضیاتیک. با توضیح یک داستان به طور تصویری بهمون حالی کنه که خیلی قشنگه و بخونید میفهمید و براتون میذارم :)))))
در آخر یه نکته دیگه هم بگم در مورد این مقاله. آقای Jim Gray که قبل تر ها توی یک پستی تحت عنوان ملوان گمشده معرفیشون کردم یه روز به لمپورت میگه:
هر کس که مقاله ات رو میخونه یکی از این دو نظر رو داره : یا میگیه خیلی بدیهی بود یا میگه یک شاهکار به تمام معناست.
لمپورت هم بهش گفته که : با دسته اول نمی تونم بحث کنم و با دسته دومم حوصله بحث کردن ندارم :)))))
نظر من رو بخواید هر دوشه :))))
یه نکته جالب دیگه هم اینکه لمپورت میگه من با هرکسی که در باره این مقاله صحبت میکنم در مورد State Machine توی مقاله صحبت میکنم و اونا هم میگن مگه مقاله ات State Machine داشت اصلا :)))))
به طوریکه خود لمپورت میگه من خودم شک میکنم و میرم مقاله ام رو از اول میخونم
خلاصه همین دیگه
تموم شد :)))
👎1
این ویدیوی جالبی بود در مورد عقایدی که برنامه نویس ها دارن و هر کدوم رو نقد کرده بود.
مثلا اینکه OOP بده. =)
https://www.youtube.com/watch?v=goy4lZfDtCE
مثلا اینکه OOP بده. =)
https://www.youtube.com/watch?v=goy4lZfDtCE
YouTube
Reacting to Controversial Opinions of Software Engineers
Software engineers can be very opinionated about their tools, patterns, and philosophies. Let’s react to some of the most controversial opinions from elite developers on Stack Overflow. 🔥 Grab some swag https://swag.fireship.io/
🔗 Resources
Original StackOverflow…
🔗 Resources
Original StackOverflow…
شاید فکر کنید که png و jpg فرمت های خوبی هستن که این همه استفاده میشن ولی خیر.
یه نفر یه فرمت ساخته در سال های اخیر به اسم qoi یا همون Quite OK Format که میتونه جای png رو بگیره.
پیاده سازی تبدیلگرش به png خیلی ساده س و تو این ریپو وجود داره
https://github.com/phoboslab/qoi
با توجه به سادگیش خیلیم سریعه و خلاصه با دیدن این عجیب شد برام که چرا سال هاست از png کند استفاده میشه!
البته دقت کنید که فرمت جدیدیه و هنوز کسی به اون صورت پشتیبانیش نمیکنه اما خوندن spec و سورسکد ساده ش میتونه جالب باشه.
یه نفر یه فرمت ساخته در سال های اخیر به اسم qoi یا همون Quite OK Format که میتونه جای png رو بگیره.
پیاده سازی تبدیلگرش به png خیلی ساده س و تو این ریپو وجود داره
https://github.com/phoboslab/qoi
با توجه به سادگیش خیلیم سریعه و خلاصه با دیدن این عجیب شد برام که چرا سال هاست از png کند استفاده میشه!
البته دقت کنید که فرمت جدیدیه و هنوز کسی به اون صورت پشتیبانیش نمیکنه اما خوندن spec و سورسکد ساده ش میتونه جالب باشه.
GitHub
GitHub - phoboslab/qoi: The “Quite OK Image Format” for fast, lossless image compression
The “Quite OK Image Format” for fast, lossless image compression - phoboslab/qoi
👍4
ریاضی پشت عملیات Jpeg
(خلاصه اینکه خیلی عملیات پیچیدهای داره برای کاهش حجم عکس!)
https://www.youtube.com/watch?v=0me3guauqOU
(خلاصه اینکه خیلی عملیات پیچیدهای داره برای کاهش حجم عکس!)
https://www.youtube.com/watch?v=0me3guauqOU
YouTube
The Unreasonable Effectiveness of JPEG: A Signal Processing Approach
Visit https://brilliant.org/Reducible/ to get started learning STEM for free, and the first 200 people will get 20% off their annual premium subscription.
Chapters:
00:00 Introducing JPEG and RGB Representation
2:15 Lossy Compression
3:41 What information…
Chapters:
00:00 Introducing JPEG and RGB Representation
2:15 Lossy Compression
3:41 What information…
Death by PowerPoint: the slide that killed seven people
داستان ۷ نفر که به خاطر طراحی بد یک اسلاید پاورپوینت کشته شدند
https://mcdreeamiemusings.com/blog/2019/4/13/gsux1h6bnt8lqjd7w2t2mtvfg81uhx
داستان ۷ نفر که به خاطر طراحی بد یک اسلاید پاورپوینت کشته شدند
https://mcdreeamiemusings.com/blog/2019/4/13/gsux1h6bnt8lqjd7w2t2mtvfg81uhx
mcdreeamie-musings
Death by PowerPoint: the slide that killed seven people — mcdreeamie-musings
We’ve all sat in those presentations. A speaker with a stream of slides full of text, monotonously reading them off as we read along. We’re so used to it we expect it. We accept it. We even consider it ‘learning’. As an educator I push against ‘death…
🤔2