نوشته‌های ترمینالی
2.76K subscribers
425 photos
12 videos
32 files
2.29K links
Download Telegram
میتینگ دولوپرهای نرم‌افزار آزاد و متن باز اروپا یا FOSDEM، رویدادی است که هر ساله در بروکسل برگزار می‌شود. بدون شک FOSDEM یکی از بزرگترین و شاخص‌ترین گردهم‌آیی‌ها برای افراد علاقمند است که توسط افراد داوطلب برگزار می‌شود. در چند سال گذشته بیش از ۵۰۰۰ نفر در آن شرکت می‌کردند. امسال نیز همانند پارسال، به خاطر همه‌گیری کرونا، این رویداد به شکل مجازی برگزار خواهد شد.
دبیان، openSUSE، بنیاد Eclipse، فدورا، Free Software Foundation Europe (بنیادی مستقل از FSF آمریکا)، eeBSD، GNOME، گوگل، KDE, LibreOffice, MariaDB, ماتریس، NextCloud، PostgreSQL، اوبونتو، بنیاد آپاچی و چندین پروژه و شرکت دیگر در آن استند و جایگاه مجازی دارند. امکان چت و گپ زدن آنلاین وجود دارد.
رویداد FOSDEM 2022 امروز و فردا در جریان خواهد بود. ۶۵۵ نفر در آن ۷۳۳ ارائه خواهند داد. که در ۱۰۳ خط زمانی موازی انجام خواهد شد و به شکل آنلاین در دسترس خواهد بود. زبان بیشتر ارائه‌ها انگلیسی است. از پایتون، Golang، جاوااسکریپت، Virtualization و کانتینرها گرفته تا FPGA و Free Software Radio و موارد بسیار زیاد دیگر. خوشبختانه همه این ارائه‌ها به شکل ویدیویی در دسترس همگان قرار دارد و فرصت عالی برای افرادی است که علاقمند به یادگیری هستند. FOSDEM از پشتیبانی مالی شرکت‌های گوگل، سیسکو، هوآوی، ردهت و چندین اسپانسر دیگر برای برگزاری این رویداد بزرگ برخوردار است.
اختلاف بین time of check و time of use می‌تونه باعث باگ های عجیبی بشه.
فرض کنید یه فایل رو میخواید باز کنید، بعد میگین اوکی من اول چکش میکنم، بعد اگه وجود داشت بازش می‌کنم. حالا تست هم میکنید برنامه رو و همه چی خوبه.
اما یه حالت ممکنه پیش بیاد که دقیقا بین اینکه شما چک کردید فایل وجود داره و بازش کنید، یه برنامه/ترد دیگه دستور بده که این فایل پاک بشه.
خب در این صورت چی میشه؟ شما چک کردن اولیه تون موفق بوده، اما باز کردن فایل ناموفقه،
حالا اینجا صرفا یه اکسپشنه که احتمالا هندلش نکردید چون فکر می‌کردید unreachable باشه اما ممکنه اتفاق های عجیب تری هم بیفته.

حالا دو تا چیز رو بررسی کنیم، اول اینکه چرا چنین چیزی پیش اومد؟ برای اینکه ما فرض میکنیم برنامه ما تنها برنامه موجود تو سیستمه، که خب اکثر موارد فرض صحیحی نیست، اما کجا خودش رو نشون میده؟ وقتی به منابع مشترک با برنامه های دیگه (IO و فایل ها و ...) نیاز پیدا کنیم. اینها چیزهایی هستید که در اختیار موجودات دیگر سیستم هم هستند.
حالا چطوری حل کنیم مشکل رو؟ دقت کنیم که تو یه محیط concurrent داریم کار میکنیم. حتی وقتی برنامه ما ترد نداره، چون برنامه های دیگری در حال اجرا هستند. و به عنوان راه حل، چون عملا استفاده از یه قفل سخت میشه، بیایم از عملیات هایی استفاده کنیم که اتمیک باشن. یکم حرفم نادقیق شد اما خلاصه که چرا اول چک کنیم بعد باز کنیم؟ یه بار اقدام می‌کنیم که باز بشه، اگه شد که عالیه اگه نه هم می‌فهمیم چرا باز نشده دیگه. در این صورت همش تو یه مرحله بوده (و اگه سیستم عامل خوبی باشه) همه چی مطابق انتظار پیش رفته و ریس کاندیشن توسط سیستم عامل هندل شده.
در نهایت هم یه قاعده هست که میگه عذرخواهی کردن راحت تر از اجازه گرفتنه. خلاصه که اشکال نداره اول چک نکنیم و یهو کارمون رو انجام بدیم.
نهایتش به اکسپشن پرت میشه که حلش میکنیم (عذرخواهی)
چک کردن قبل کار: اجازه گرفتن
"It is easier to ask for forgiveness than permission"

https://en.wikipedia.org/wiki/Time-of-check_to_time-of-use
👍8
چرا همه زبان‌های به جز پایتون بد هستند؟

در واقع این مطلب داره میگه که چرا پرفورمنس اونقدر مهم نیست و بهتره به سرعت بالای توسعه بچسبیم. اگرم نهایتا خواستیم پرفورمنس کد فعلی پایتون رو زیاد کنیم راهکارهایی داده.
https://snarky.ca/programming-language-selection-is-a-form-of-premature-optimization/
چرا نباید از ویم استفاده کرد.
https://gist.github.com/romainl/6b952db7a6138b48657ba0fbb9d65370


Your next recruiter, your next colleagues, your next crush won't care about Vim. Vim is not cool and you are not cool for using Vim.
Forwarded from @yegor256 news (yegor256)
Media is too big
VIEW IN TELEGRAM
M187: Two months ago I bought a new MacBook Pro. After a month of waiting, I received it. My frustration was huge. I returned it to Apple and got the money back. Here is why. Watch it!
سیستم عامل sanos یه سیستم عامل مینیماله که با C نوشته شده و برنامه های کاربردی ساده ای هم داره که همه با سی نوشته شدن.
https://www.jbox.dk/sanos/index.htm

قسمت های مختلفی داره مثلا یه ادیتور تحت ترمینال داره که به راحتی کامپایل و اجرا میشه.
(لینک زیر)
https://www.jbox.dk/sanos/editor.htm
نوشته‌های ترمینالی
سیستم عامل sanos یه سیستم عامل مینیماله که با C نوشته شده و برنامه های کاربردی ساده ای هم داره که همه با سی نوشته شدن. https://www.jbox.dk/sanos/index.htm قسمت های مختلفی داره مثلا یه ادیتور تحت ترمینال داره که به راحتی کامپایل و اجرا میشه. (لینک زیر) ht…
داستان از اونجا شروع شده که میخواسته یه سیستم‌عامل حداقلی داشته باشه که فقط jvm رو اجرا کنه. چون jvm خودش بیشتر کارها رو انجام میده. نتیجه میشه این.
https://www.jbox.dk/sanos/experiment.htm

هرچند که ایده بدیه. بهتر بود که توزیع کرنل خیلی مینیمال میخواست.
درمورد mechanical sympathy:
You don't have to be an engineer to be be a racing driver, but you do have to have Mechanical Sympathy.
- Jackie Stewart, racing driver

به طور خلاصه یعنی برای استفاده از یه چیز، باید یه درک خوبی نسبت به جوری که کار میکنه داشته باشید. هرچند لزوما نمی‌تونید مثل اون رو بسازید.

https://wa.aws.amazon.com/wellarchitected/2020-07-02T19-33-23/wat.concept.iss.onechanical-sympathy.en.html
Forwarded from Deweloopers (Ehsan Ghorbani)
اگر کارِتون طوری هست که باید مدت زیادی تایپ کنید خیلی به ۱- شیوه نشستن و قرارگرفتن مچ دست نسبت به کیبورد و ۲-‌ مکان کیبورد در میز اهمیت بدید ، یکی از خطرات خاموشی که اینجور شغل‌ها دارند، ابتلا به سندروم تونل کارپال هست. توصیه میکنم مقاله زیر رو هرچند طولانی هست، کامل بخونید، توضیحات مفیدی راجع به این موضوع داده.
https://www.mycarpaltunnel.com/carpal-tunnel-computer-programming/

Kode with us @Deweloopers
Stuff I Liked
https://dkb.io/post/google-search-is-dying
چرا گوگل سرچ دیگه خوب نیست!
😱1