زمانی که توی سیستم اطلاعات جغرافیایی(GIS) یا نرم افزار های نقشه کشی و ناوبری مکان مشخصی ثبت نشده باشد بعضی از نرم افزار های به طور پیشفرض مختصات (0,0) رو به اون اختصاص میدن.🤔
توی دنیای کامپیوتر و برنانه نویسی به این نقطه خاص Null island گفته میشه.🌏
به همین دلیل، بعضی از خطاهای ورود داده یا اشتباهات توی سیستمهای موقعیتیابی باعث میشه که نقاط زیادی بهطور اشتباه روی این مختصات قرار بگیرن، و این منطقه بهنوعی تبدیل به «زبالهدان مختصاتهای اشتباه» شده.
در واقعیت هم چیز خاصی اونجا نیست و فقط یه شناور هواشناسی اونجا ها پرسه میزنه.
از لحاظ موقعیت هم این جزیره یه نقطه فرضی هستش که صفر درجه عرض شمالی و صفر درجه طول شرقیه یعنی جایی که خط استوا و نصف النهار مبدا همو قطع میکنن.🌐
توی دنیای کامپیوتر و برنانه نویسی به این نقطه خاص Null island گفته میشه.🌏
به همین دلیل، بعضی از خطاهای ورود داده یا اشتباهات توی سیستمهای موقعیتیابی باعث میشه که نقاط زیادی بهطور اشتباه روی این مختصات قرار بگیرن، و این منطقه بهنوعی تبدیل به «زبالهدان مختصاتهای اشتباه» شده.
در واقعیت هم چیز خاصی اونجا نیست و فقط یه شناور هواشناسی اونجا ها پرسه میزنه.
از لحاظ موقعیت هم این جزیره یه نقطه فرضی هستش که صفر درجه عرض شمالی و صفر درجه طول شرقیه یعنی جایی که خط استوا و نصف النهار مبدا همو قطع میکنن.🌐
@Univerbity
🔥9
زبان برنامه نویسی Malbolge زبانی است که از جهنم نازل شده 👹
ملبولگ در کتاب کمدی الهی و همچنین در زبان ایتالیایی به معنای جایی در دوزخ است که مکان شکنجه دغل بازا و فریبکاراست!؟🧐
ملبولگ یه زبان فوق العاده سخت و گیج کننده است در سال 1998 توسط Ben olmstead ساخته شده.
این زبان طوری طراحی شده که عمدا غیرقابل فهم و تقریبا غیرقابل برنامه نویسی باشه.
ساختار کاملا غیر پیش بینی داره و حتی نوشتن یه Hello World ساده هم عذابه.
نکته جالبش اینجاست که حتی اولین برنامه ای که کار میکرد هم توسط انسان نوشته نشد بلکه با جستجوی خودکار الگوریتم تولید شد.
مثلا فرض کن توی لاین 1 دستور A رو نوشتی و وقتی که برنامه رو اجرا میکنی ممکنه این دستور به B تغییر کنه.یعنی همه چی کاملا رندومه و هیچ چیز قطعی نیست.🌀
دیتا ها همه رمزنگاری شده به صورت رندوم ذخیره میشن و همچنین مجموع دستورات این زبان کلا 8 تا دستوره!
خلاصه اگه یه روزی با این زبان کدنوشتی و کار کرد و همون خروجی که میخواستی رو داد باید به شانست شک کنی 👀
ملبولگ در کتاب کمدی الهی و همچنین در زبان ایتالیایی به معنای جایی در دوزخ است که مکان شکنجه دغل بازا و فریبکاراست!؟🧐
ملبولگ یه زبان فوق العاده سخت و گیج کننده است در سال 1998 توسط Ben olmstead ساخته شده.
این زبان طوری طراحی شده که عمدا غیرقابل فهم و تقریبا غیرقابل برنامه نویسی باشه.
ساختار کاملا غیر پیش بینی داره و حتی نوشتن یه Hello World ساده هم عذابه.
نکته جالبش اینجاست که حتی اولین برنامه ای که کار میکرد هم توسط انسان نوشته نشد بلکه با جستجوی خودکار الگوریتم تولید شد.
مثلا فرض کن توی لاین 1 دستور A رو نوشتی و وقتی که برنامه رو اجرا میکنی ممکنه این دستور به B تغییر کنه.یعنی همه چی کاملا رندومه و هیچ چیز قطعی نیست.🌀
دیتا ها همه رمزنگاری شده به صورت رندوم ذخیره میشن و همچنین مجموع دستورات این زبان کلا 8 تا دستوره!
خلاصه اگه یه روزی با این زبان کدنوشتی و کار کرد و همون خروجی که میخواستی رو داد باید به شانست شک کنی 👀
@Univerbity
🔥7😐3❤1
یه اصطلاح بامزه ای داریم به نام Bit Rot (پوسیدگی بیت ها)💽
بیت رت به شرایطی گفته میشه که دیتا های ذخیره شده روی دیوایس های استوریج به مرور زمان خراب میشن.
این خرابی معمولا به خاطر عوامل فیزیکی مثل آسیب سلول ها یا سکتور های دیسک و یا نویز های الکترو مغناطیسی ایجاد میشن.
نکتش هم اینجاست که این دیتا ها هیچ نوشتن و یا خوندنی روشون اتفاق نیوفتاده و همش به مرور زمان ایجاد شده.
مثلا یه فایلی که امروز سالمه بعد از چند سال ممکنه بیت هاش تغییر کنه💾
بیت رت به شرایطی گفته میشه که دیتا های ذخیره شده روی دیوایس های استوریج به مرور زمان خراب میشن.
این خرابی معمولا به خاطر عوامل فیزیکی مثل آسیب سلول ها یا سکتور های دیسک و یا نویز های الکترو مغناطیسی ایجاد میشن.
نکتش هم اینجاست که این دیتا ها هیچ نوشتن و یا خوندنی روشون اتفاق نیوفتاده و همش به مرور زمان ایجاد شده.
مثلا یه فایلی که امروز سالمه بعد از چند سال ممکنه بیت هاش تغییر کنه💾
@Univerbity
🔥13❤1
هک کن تامپسون (Ken tompson Hack) معمولا به موضوع معروفی توی دنیای کامپیوتر و امنیت اشاره داره که به یه حمله خیلی جالب و بامزه مرتبطه🔐
تو سال 1984 اون تو یه سخنرانی خیلی معروف به نام Reflections on Trusting Trust توضیح داد که یه تروجان و یا Backdoor رو به صورت خیلی مخفی توی کامپایلر یه زبان جا داد به طوری که حتی اگه کد کامپایل هم بررسی بشه نشه این تروجان یا بکدور رو پیدا کرد.
تامپسون کد تروجان رو توی کامپایلر خودش گذاشت که وقتی کامپایلر خودش رو کامپایل میکنه کد این تروجان اضافه بشه(بکدوری داخل Unix برای دسترسی غیر مجاز)
نکته جالب اینجاست که کد تروجان یا بکدور داخل سورس کد کامپایلر نبوده بلکه داخل باینری کامپایلر بوده برای همینه که وقتی سورس کد بررسی میشه چیزی کشف نمیشه.🚪
خیلی راحت بخوام بگم اینه که شما یه بکدور یا تروجان تو کامپایلر دارید که باعث میشه نرم افزار کامپایل شده آلوده بشه.🦠
این سخنرانی نشون داد که اعتماد فقط به سورس کد کافی نیست و باید تونست به ابزار های ساخت نرم افزار (مثل کامپایلر) هم اعتماد کرد 👍
کن تامپسون یکی از پیشگامان دنیای کامپیوتر و همچنین خالق یونیکس هستش.
تو سال 1984 اون تو یه سخنرانی خیلی معروف به نام Reflections on Trusting Trust توضیح داد که یه تروجان و یا Backdoor رو به صورت خیلی مخفی توی کامپایلر یه زبان جا داد به طوری که حتی اگه کد کامپایل هم بررسی بشه نشه این تروجان یا بکدور رو پیدا کرد.
تامپسون کد تروجان رو توی کامپایلر خودش گذاشت که وقتی کامپایلر خودش رو کامپایل میکنه کد این تروجان اضافه بشه(بکدوری داخل Unix برای دسترسی غیر مجاز)
نکته جالب اینجاست که کد تروجان یا بکدور داخل سورس کد کامپایلر نبوده بلکه داخل باینری کامپایلر بوده برای همینه که وقتی سورس کد بررسی میشه چیزی کشف نمیشه.🚪
خیلی راحت بخوام بگم اینه که شما یه بکدور یا تروجان تو کامپایلر دارید که باعث میشه نرم افزار کامپایل شده آلوده بشه.🦠
این سخنرانی نشون داد که اعتماد فقط به سورس کد کافی نیست و باید تونست به ابزار های ساخت نرم افزار (مثل کامپایلر) هم اعتماد کرد 👍
@Univerbity
🔥14
مخترع کد QR (کیو آر کد)، که مخفف Quick Response Code فردی ژاپنی به نام ماساهیرو هارا (Masahiro Hara) هستش 💾
اون این کد رو در سال 1994 میلادی در شرکتی ژاپنی به نام دنسو ویو (Denso Wave) اختراع کرد.
هدف اصلی از اختراع کیو آر کد، ردیابی سریع قطعات خودرو در کارخانجات بود.
اون زمان، برای هر بسته قطعات گاهی چندین بارکد تکبعدی زده میشد که هر کدوم فقط میتونست حدود ۲۰ کاراکتر اطلاعات را ذخیره کنند و خواندن تک تک آنها توسط کارگران وقتگیر و خستهکننده بود🪴
ماساهیرو هارا ایده طراحی این کدهای مربعی شکل را از مشاهده صفحه بازی سنتی ژاپنی "گو" (Go) گرفت. اون متوجه شد که با چینش مهرههای سیاه و سفید در یک شبکه، میشه اطلاعات زیادی را به طور کارآمد منتقل کرد🎲
شرکت دنسو ویو حق امتیاز (پتنت) این کدو ثبت کرد، اما با تصمیمی استثنایی و مهم، استفاده از آن را رایگان اعلام کرد :)
اون این کد رو در سال 1994 میلادی در شرکتی ژاپنی به نام دنسو ویو (Denso Wave) اختراع کرد.
هدف اصلی از اختراع کیو آر کد، ردیابی سریع قطعات خودرو در کارخانجات بود.
اون زمان، برای هر بسته قطعات گاهی چندین بارکد تکبعدی زده میشد که هر کدوم فقط میتونست حدود ۲۰ کاراکتر اطلاعات را ذخیره کنند و خواندن تک تک آنها توسط کارگران وقتگیر و خستهکننده بود🪴
ماساهیرو هارا ایده طراحی این کدهای مربعی شکل را از مشاهده صفحه بازی سنتی ژاپنی "گو" (Go) گرفت. اون متوجه شد که با چینش مهرههای سیاه و سفید در یک شبکه، میشه اطلاعات زیادی را به طور کارآمد منتقل کرد🎲
شرکت دنسو ویو حق امتیاز (پتنت) این کدو ثبت کرد، اما با تصمیمی استثنایی و مهم، استفاده از آن را رایگان اعلام کرد :)
کیو آر کد میتواند تا ۲۰۰ برابر بارکدهای استاندارد اطلاعات ذخیره کند (تا حدود ۷۰۰۰ رقم عددی یا ۴۰۰۰ کاراکتر الفبایی/متنی و کانجی).
@Univerbity
🔥13❤1
یکی از باگ های جالب تاریخ مایکروسافت بر میگرده به دستگاه های Zune 🎧
این دستگاه های Zune پخش کننده های موسیقی بودند که مایکروسافت با هدف رقابت با iPod های اپل ساخته بود.🎶
توی نسخه Zune 30G در سال 2008 باگی وجود داشت که در تاریخ 31 دسامبر خودش رو نشون داد.باگ از این قرار بود که داخل کد سیستم بخشی وجود داشت که تعداد روز های سال رو میشمرد.برنامه نویس به صورت دستی بررسی میکرد که سال کبیسه هست یا نه. اما سیستم به اشتباه در تاریخ 31 دسامبر 2008 که سال کبیسه بود وارد لوپ بینهایت میشه و دستگاه حین بوت گیر میکرد.😵💫
مایکروسافت اعلام کرد که:
با تغییر تاریخ سیستم داخلی به سال بعد، حلقهی بینهایت از بین میرفت و دستگاه دوباره کار میکرد.
این دستگاه های Zune پخش کننده های موسیقی بودند که مایکروسافت با هدف رقابت با iPod های اپل ساخته بود.🎶
توی نسخه Zune 30G در سال 2008 باگی وجود داشت که در تاریخ 31 دسامبر خودش رو نشون داد.باگ از این قرار بود که داخل کد سیستم بخشی وجود داشت که تعداد روز های سال رو میشمرد.برنامه نویس به صورت دستی بررسی میکرد که سال کبیسه هست یا نه. اما سیستم به اشتباه در تاریخ 31 دسامبر 2008 که سال کبیسه بود وارد لوپ بینهایت میشه و دستگاه حین بوت گیر میکرد.😵💫
مایکروسافت اعلام کرد که:
فقط کافیه تا ۱ ژانویه ۲۰۰۹ (روز بعد) صبر کنید و بعد دستگاهو دوباره روشن کنید.
با تغییر تاریخ سیستم داخلی به سال بعد، حلقهی بینهایت از بین میرفت و دستگاه دوباره کار میکرد.
@Univerbity
🔥13
یکی از بزرگترین شکست های فضایی مربوط به ماموریت mars climate orbiter میشه. چون یه اشتباه ساده داخل کد واحد اندازه گیری باعث از بین رفتن یه فضا پیمای چند میلیون دلاری شد!🚀
در ۲۳ سپتامبر ۱۹۹۹، وقتی فضاپیما به مریخ رسید، ارتباط با اون بهطور ناگهانی قطع شد.
تحقیق بعدی نشان داد علت اصلی، خطا در تبدیل واحدهای اندازهگیری بین دو تیم مهندسی بود.
تیم Lockheed martin از پوند-ثانیه و تیم JPL ناسا از نیوتون-ثانیه برای محاسبه توی کد استفاده کرده بودن!
سیستم ناوبری ناسا دادههای تولیدشده توسط موتورهای کنترل وضعیت فضاپیما رو اشتباه تفسیر کرد.
در نتیجه، مسیر اشتباه محاسبه شد و فضاپیما به جای ورود به مدار مریخ از سطح مریخ عبور کرد و در نهایت به خاطر اصطحکاک سوخت.🔥
در ۲۳ سپتامبر ۱۹۹۹، وقتی فضاپیما به مریخ رسید، ارتباط با اون بهطور ناگهانی قطع شد.
تحقیق بعدی نشان داد علت اصلی، خطا در تبدیل واحدهای اندازهگیری بین دو تیم مهندسی بود.
تیم Lockheed martin از پوند-ثانیه و تیم JPL ناسا از نیوتون-ثانیه برای محاسبه توی کد استفاده کرده بودن!
سیستم ناوبری ناسا دادههای تولیدشده توسط موتورهای کنترل وضعیت فضاپیما رو اشتباه تفسیر کرد.
در نتیجه، مسیر اشتباه محاسبه شد و فضاپیما به جای ورود به مدار مریخ از سطح مریخ عبور کرد و در نهایت به خاطر اصطحکاک سوخت.🔥
@Univerbity
🤯8🤣5
یه نوع باگ بامزه تو مهندسی نرم افزار و برنامه نویسی داریم به نام Heisenbug 🧪
اینجوریه که شما یه باگ داری(هر چی) و برای حلش میری سراغ ابزار ها دیباگ و لاگ و... اما بعدش میبینی که باگ کاملا رفع شده و هبچ خبری ازش نیست یه جوری که انگار باگ با دیدن ابزار های دیباگ خودش از بین میره.
شاید تو نگاه اول خیلی غیرمنطقی و اتفاقی به نظر بیاد اما کاملا به صورت منطقی این اتفاق میوفته.💡
وقتی شما ابزار دیباگ یا لاگ اضافه میکنید شرایط اجرای برنامه یا اسکریپت تغییر میکنه و این تغییر میتونه منجر به حل باگ بشه!
نام این پدیده برگرفته از اصل عدم قطعیت هایزنبرگ در فیزیک هستش🧲
اینجوریه که شما یه باگ داری(هر چی) و برای حلش میری سراغ ابزار ها دیباگ و لاگ و... اما بعدش میبینی که باگ کاملا رفع شده و هبچ خبری ازش نیست یه جوری که انگار باگ با دیدن ابزار های دیباگ خودش از بین میره.
شاید تو نگاه اول خیلی غیرمنطقی و اتفاقی به نظر بیاد اما کاملا به صورت منطقی این اتفاق میوفته.💡
وقتی شما ابزار دیباگ یا لاگ اضافه میکنید شرایط اجرای برنامه یا اسکریپت تغییر میکنه و این تغییر میتونه منجر به حل باگ بشه!
نام این پدیده برگرفته از اصل عدم قطعیت هایزنبرگ در فیزیک هستش🧲
@Univerbity
🔥13
یکی از کشفیات باحال انسان پیوندی بین علم بیولوژی و کامپیوتره🧬💻
این کشف به Dna storage مشهوره.به این معنا که به جای استفاده از دیوایس ها ذخیره سازی مرسوم از DNA برای ذخیره سازی دیتا استفاده کرد!
درست شنیدی! هر گرم DNA میتونه تا 215 ترابایت دیتا رو برای سالیان سال بدون آسیب توی خودش حفظ کنه.💾
ساختار DNA طوری هستش که بدون نیاز به هیچگونه ماده این کارو انجام میده. این یعنی حجم ذخیره سازی نامحدود اونم توی یک گرم DNA.
البته سرعت ذخیره سازی پایین تری نسب به حافظه های الکترونیکی داره!🐌
مهندسیش هم اینجوریه که بیت های 0 و 1 به صورت توالی های A, T, C, G تبدیل و رمزنگاری میشن و تو DNA ذخیره میشن و برای بازیابی اطلاعات هم این توالی ها به بیت های صفر و یک بر میگردن.
این فناوری هنوز به بهره برداری تجاری نرسیده❌
این کشف به Dna storage مشهوره.به این معنا که به جای استفاده از دیوایس ها ذخیره سازی مرسوم از DNA برای ذخیره سازی دیتا استفاده کرد!
درست شنیدی! هر گرم DNA میتونه تا 215 ترابایت دیتا رو برای سالیان سال بدون آسیب توی خودش حفظ کنه.💾
ساختار DNA طوری هستش که بدون نیاز به هیچگونه ماده این کارو انجام میده. این یعنی حجم ذخیره سازی نامحدود اونم توی یک گرم DNA.
البته سرعت ذخیره سازی پایین تری نسب به حافظه های الکترونیکی داره!🐌
مهندسیش هم اینجوریه که بیت های 0 و 1 به صورت توالی های A, T, C, G تبدیل و رمزنگاری میشن و تو DNA ذخیره میشن و برای بازیابی اطلاعات هم این توالی ها به بیت های صفر و یک بر میگردن.
این فناوری هنوز به بهره برداری تجاری نرسیده❌
@Univerbity
🤯12🔥2
زیپ بمب یه نوع بمب فشردست که به صورت عمدی طوری طراحی شده که هنگام استخراج سیستم رو از کار بندازه 💣
زیپ بمب ها عمدتا با خیلی کوچیکن ولی به محض استخراج شدن میتونن به ده گیگ و یا حتی ترابایت هم برسن.این فایل ها معمولا به صورت Nested (تو در تو) هستن و کلی فایل فشرده داخل هم کامپرس شدن که فرآیند استخراج رو طولانی و منابع رو به شدت درگیر میکنن.🐢
از یه طرف هم خیلی خوب میتونن آنتی ویروس ها رو دور بزنن چون آنتی ویروس این فایل ها رو فایل فشرده ساده تشخیص میده و کاریشون نداره 🛡
زیپ بمب ها عمدتا با خیلی کوچیکن ولی به محض استخراج شدن میتونن به ده گیگ و یا حتی ترابایت هم برسن.این فایل ها معمولا به صورت Nested (تو در تو) هستن و کلی فایل فشرده داخل هم کامپرس شدن که فرآیند استخراج رو طولانی و منابع رو به شدت درگیر میکنن.🐢
از یه طرف هم خیلی خوب میتونن آنتی ویروس ها رو دور بزنن چون آنتی ویروس این فایل ها رو فایل فشرده ساده تشخیص میده و کاریشون نداره 🛡
@Univerbity
🔥12
وقتی تو ترمینال یه دستور ping میزنی فک میکنی پکتی که ارسال میشه کجا میره؟🤔
خب این که جوابش مشخصه مرحله به مرحله از روتر های مختلف میگذره برای مثال پکت از سیستم به روتری که بهش وصله میره بعد میره روتر های ISP بعد روتر سرور های میانجی و...
حالا فرض کن این 4 بایت پکتی که فرستادی هیچوقت به مقصد نرسه.یعنی از یه جایی به بعد روتر ها نتونن مقصد نهایی رو پیدا کنن و هی دست به دستش کنن.💻
آیا این چهار بایت دیتا توی کل اینترنت دنیا سرگردون میشه؟
جوابش خیر هستش چون وقتی پکت ارسال میشه همراهش یه پارامتر بامزه به نام TTL سند میشه. Ttl مخفف Time to live هستش.این پارامتر عمر یه پکت رو مشخص میکنه و وقتی به 1 برسه یعنی عمر اون پکت به پایان رسیده و وقتش رسیده که Dropشه.
اینجوریه که روتر به محض دریافت پکت ،اول ttl اون رو بررسی میکنه.اگر 1 باشه کلا دراپش میکنه ولی اگر نباشه یه دونه ازش کم میکنه و تحویل مقصد بعدی میده. اینجوری اگر پکت بعد کلی دست به دست شدن به مقصد نرسید برای اینکه تا ابد تو چرخه روتینگ گیر نکنه عمرش به پایان میرسه و یه جایی تو شبکه Drop میشه 😌
خب این که جوابش مشخصه مرحله به مرحله از روتر های مختلف میگذره برای مثال پکت از سیستم به روتری که بهش وصله میره بعد میره روتر های ISP بعد روتر سرور های میانجی و...
حالا فرض کن این 4 بایت پکتی که فرستادی هیچوقت به مقصد نرسه.یعنی از یه جایی به بعد روتر ها نتونن مقصد نهایی رو پیدا کنن و هی دست به دستش کنن.💻
آیا این چهار بایت دیتا توی کل اینترنت دنیا سرگردون میشه؟
جوابش خیر هستش چون وقتی پکت ارسال میشه همراهش یه پارامتر بامزه به نام TTL سند میشه. Ttl مخفف Time to live هستش.این پارامتر عمر یه پکت رو مشخص میکنه و وقتی به 1 برسه یعنی عمر اون پکت به پایان رسیده و وقتش رسیده که Dropشه.
اینجوریه که روتر به محض دریافت پکت ،اول ttl اون رو بررسی میکنه.اگر 1 باشه کلا دراپش میکنه ولی اگر نباشه یه دونه ازش کم میکنه و تحویل مقصد بعدی میده. اینجوری اگر پکت بعد کلی دست به دست شدن به مقصد نرسید برای اینکه تا ابد تو چرخه روتینگ گیر نکنه عمرش به پایان میرسه و یه جایی تو شبکه Drop میشه 😌
@Univerbity
🔥11❤2
یه Esolang(زبان های برنامه نویسی عجیب) دیگه پیدا کردم به نام Snusp 👀
این زبان برنامه نویسی به صورت دو بعدی کار میکنه و کد هاش فقط به صورت خطی نیستن.یعنی میشه کنترل جریان داده رو به دست گرفت.
این زبان مستقیما روی مموری کامپایل میشه و هر خونه مموری یه عدد قرار میگیره(کد شده به باینری).
کامپایلر این زبان کلا 8 تا دستور داره و اصلی ترین هاش >< هستن برای حرکت به خونه بعدی و قبلی و مقدار ها هم با + و - تغییر میکنن.
مثلا:
مقدار خونه دوم رو به 5 افزایش میده و با . مقدار اسکی عدد 5 رو چاپ میکنه.(درسته اسکی5 وجود نداره ولی نمیتونم 65 بار + بنویسم تا A چاپ شه جا نمیشه😂)
(البته اسکی 5 وجود داره منتها جزو کارکتر کنترل ها یا htw هاست و دیده نمیشه)
خلاصه که زبون عجیبیه و کلا Esolang ها برای تفریح و یادرگیری ساخته میشن :)
این زبان برنامه نویسی به صورت دو بعدی کار میکنه و کد هاش فقط به صورت خطی نیستن.یعنی میشه کنترل جریان داده رو به دست گرفت.
این زبان مستقیما روی مموری کامپایل میشه و هر خونه مموری یه عدد قرار میگیره(کد شده به باینری).
کامپایلر این زبان کلا 8 تا دستور داره و اصلی ترین هاش >< هستن برای حرکت به خونه بعدی و قبلی و مقدار ها هم با + و - تغییر میکنن.
مثلا:
>+++++.
مقدار خونه دوم رو به 5 افزایش میده و با . مقدار اسکی عدد 5 رو چاپ میکنه.(درسته اسکی5 وجود نداره ولی نمیتونم 65 بار + بنویسم تا A چاپ شه جا نمیشه😂)
(البته اسکی 5 وجود داره منتها جزو کارکتر کنترل ها یا htw هاست و دیده نمیشه)
خلاصه که زبون عجیبیه و کلا Esolang ها برای تفریح و یادرگیری ساخته میشن :)
@Univerbity
🔥12🤯3
یکی از مکانیزم های کرنل لینوکس برای جلوگیری از kernel panic (کرنل پنیک) سیستمیه به نام OOM Killer 🔫
این سیستم برای اینکه کرنل با Out of memory مواجه نشه میاد مموری(چه ram چه swap) رو که داره پر میشه یا به اصطلاح داره Runnig out میشه رو بررسی میکنه و سرویس هایی که یا داره مموری زیادی مصرف میکنه یا از لحاظ سیستمی از اهمیت کمی برخورداره رو kill میکنه😐
بله همینقدر راحت :)
این عمل با پارامتری به نام oom_score انجام میشه و به هر پراسس و سرویس یه عدد اختصاص میده که هر چی این عدد بزرگتر باشه احتمال کیل شدن یه پراسس بیشتر میشه!
یه هک بامزه: میتونید oom_score هر پراسی رو از فایلی به این آدرس ببینید😉:
پ.ن: تصویر از یه میم تو ردیته 🎃
این سیستم برای اینکه کرنل با Out of memory مواجه نشه میاد مموری(چه ram چه swap) رو که داره پر میشه یا به اصطلاح داره Runnig out میشه رو بررسی میکنه و سرویس هایی که یا داره مموری زیادی مصرف میکنه یا از لحاظ سیستمی از اهمیت کمی برخورداره رو kill میکنه😐
بله همینقدر راحت :)
این عمل با پارامتری به نام oom_score انجام میشه و به هر پراسس و سرویس یه عدد اختصاص میده که هر چی این عدد بزرگتر باشه احتمال کیل شدن یه پراسس بیشتر میشه!
یه هک بامزه: میتونید oom_score هر پراسی رو از فایلی به این آدرس ببینید😉:
/proc/<pid>/oom_scoreپ.ن: تصویر از یه میم تو ردیته 🎃
@Univerbity
🔥8❤4
شاید براتون پیش اومده باشه که یه فایل حجیم داشته باشید ولی فضای اشغالیش روی دیسک کمتر از حجم واقعیشه 🤔
واقعیت اینه که فایل سیستم میاد و بخش هایی از فایل که بیت های صفرش خیلی زیاده رو با یه متادیتا به نام Hole نشونه گذاری میکنه و اینجوری حجم فایل کلی کم میشه.0⃣
به این عمل میگن File sparse که اکثرا فایل سیستم ها برای کاهش و یا مصرف بهینه دیسک انجام میدن👌
وقتی فایلی هم بخواد توسط منبعی استفاده بشه این متادیتا ها به بیت های اصلی بر میگردن (اگر از فایل اسپارس پشتیبانی نکنه اون منبع)📁
واقعیت اینه که فایل سیستم میاد و بخش هایی از فایل که بیت های صفرش خیلی زیاده رو با یه متادیتا به نام Hole نشونه گذاری میکنه و اینجوری حجم فایل کلی کم میشه.0⃣
به این عمل میگن File sparse که اکثرا فایل سیستم ها برای کاهش و یا مصرف بهینه دیسک انجام میدن👌
وقتی فایلی هم بخواد توسط منبعی استفاده بشه این متادیتا ها به بیت های اصلی بر میگردن (اگر از فایل اسپارس پشتیبانی نکنه اون منبع)📁
@Univerbity
🔥8❤3
به یه چیز خیلی بامزه برخوردم 😀
توی مانیتور ها و نمایشگر ها ما کلی LED داریم دیگه و این ال ای دی ها فقط میتونن رنگ هاشون رو از ترکیب سیستم رنگ RGB بسازن.🖥
اگه نمیدونید R:red G:green B:blue
ینی کلا سه تا رنگ داریم اما بین این سه تا رنگ یکیشون خیلی سخت ساخته میشه!🔵🟢🔴
رنگ آبی برای تولید شدن نیاز به طول موج کوتاه تر و انرژی بیشتر داره.یعنی با طول موج 450 نانومتری انرژی مصرف میکنه و این موجب کاهش عمر و زود تر از بین رفتن آلیاژ های به کار رفته تو ساخت LED و در نهایت مانیتور میشه. از یه طرفم توی دیوایس های شارژی چالش محسوب میشه چون مصرفش بیشتر دو تا رنگ دیگه یعنی سبز و قرمزه!⚡️
همچنین بازدهی از نظر نوری توی رنگ آبی فقط 25 درصده در صورتی که این مقدار توی دو رنگ دیگه حدود صد درصده!🔋
توی مانیتور ها و نمایشگر ها ما کلی LED داریم دیگه و این ال ای دی ها فقط میتونن رنگ هاشون رو از ترکیب سیستم رنگ RGB بسازن.🖥
اگه نمیدونید R:red G:green B:blue
ینی کلا سه تا رنگ داریم اما بین این سه تا رنگ یکیشون خیلی سخت ساخته میشه!🔵🟢🔴
رنگ آبی برای تولید شدن نیاز به طول موج کوتاه تر و انرژی بیشتر داره.یعنی با طول موج 450 نانومتری انرژی مصرف میکنه و این موجب کاهش عمر و زود تر از بین رفتن آلیاژ های به کار رفته تو ساخت LED و در نهایت مانیتور میشه. از یه طرفم توی دیوایس های شارژی چالش محسوب میشه چون مصرفش بیشتر دو تا رنگ دیگه یعنی سبز و قرمزه!⚡️
همچنین بازدهی از نظر نوری توی رنگ آبی فقط 25 درصده در صورتی که این مقدار توی دو رنگ دیگه حدود صد درصده!🔋
@Univerbity
🔥12🤯6
ابزار less برای پیجینگ فایل های متنی تو سیستم های یونیکسی و لینوکسی هستش اما نمیخام این ابزارو معرفی کنم بلکه میخوام دلیل نام گذاری این ابزار و یه شوخی بامزه ای که با یه ابزار دیگه کرده بگم.
تو دوره سیستم عامل Dos یه ابزاری رو داس وجود داشته به نام more که کارش همین پیجینگ بوده. البته این ابزار الان رو لینوکسم هست.
لس هم اسمش رو مخالف more نام گذاشت و شد less :)
یه شعار و شوخی بامزه ای هم کرد با more که شعارش این بود:
"لس بیشتر از موره" یا "کم بیشتر از بیشتره" یا هر چی که خودتون ترجمه میکنید 😁
پ.ن: عکس مرتبط پیدا نکردم از پینترست همینجوری یه چیزی برداشتم :)
تو دوره سیستم عامل Dos یه ابزاری رو داس وجود داشته به نام more که کارش همین پیجینگ بوده. البته این ابزار الان رو لینوکسم هست.
لس هم اسمش رو مخالف more نام گذاشت و شد less :)
یه شعار و شوخی بامزه ای هم کرد با more که شعارش این بود:
less is more than more
"لس بیشتر از موره" یا "کم بیشتر از بیشتره" یا هر چی که خودتون ترجمه میکنید 😁
@Univerbity
🔥10😁4
اگه بخوای به یه نفر زور بگی اون فرد باید چه خصوصیتی داشته باشه؟ خب طبیعتا انتخابت یه آدم nice و قطعا نمیخای بری به یه ادم خشن و گولاخ زور بگی(چون میزنه میترکونتت دیگه)😁
لینوکس هم رفتارش با پراسس ها دقیقا همینجوریه و در واقع الویت بندی پروسه ها رو با ملاکی به نام Niceness (مهربون بودن یا نایس بودن یا هر چی که خودتون ترجمه میکنید) انجام میده.
اینجوریه که هر پروسه زمان ساخته شدن یه مقدار نایسنس بهش اختصاص داده میشه که یه عدد بین 19 و -20 هستش. هر چی این مقدار کمتر باشه یعنی پروسه بی اعصاب تره (از لحاظ فنی یعنی اهمیت بالایی داره و خیلی مهمه) و هر چیم بیشتر باشه ینی نایس تره و خیلی برای سیستم حیاتی نیست.
بخش زور گوییش اینجاست که وقتی سیستم داره مموری یا CPU کم میاره این وظیفه سیستم عامله که با پارامتررنایسنس تشخصی بده کی تو اولیته تا بهش منابع رو اختصاص بده! 👊
بقیه پروسه ها که نایسنس بیشتری دارن میتونن swap بشن یا برای cpu بیشتر صبر کنن ولی پروسه هایی که نایسنس کمتری دارن همیشه تو الویتن و باید سریع بهشون سی پی یو و مموری واقعی برسه!
دنیا لینوکس نیست، یکم نایس تر باش :)
لینوکس هم رفتارش با پراسس ها دقیقا همینجوریه و در واقع الویت بندی پروسه ها رو با ملاکی به نام Niceness (مهربون بودن یا نایس بودن یا هر چی که خودتون ترجمه میکنید) انجام میده.
اینجوریه که هر پروسه زمان ساخته شدن یه مقدار نایسنس بهش اختصاص داده میشه که یه عدد بین 19 و -20 هستش. هر چی این مقدار کمتر باشه یعنی پروسه بی اعصاب تره (از لحاظ فنی یعنی اهمیت بالایی داره و خیلی مهمه) و هر چیم بیشتر باشه ینی نایس تره و خیلی برای سیستم حیاتی نیست.
بخش زور گوییش اینجاست که وقتی سیستم داره مموری یا CPU کم میاره این وظیفه سیستم عامله که با پارامتررنایسنس تشخصی بده کی تو اولیته تا بهش منابع رو اختصاص بده! 👊
بقیه پروسه ها که نایسنس بیشتری دارن میتونن swap بشن یا برای cpu بیشتر صبر کنن ولی پروسه هایی که نایسنس کمتری دارن همیشه تو الویتن و باید سریع بهشون سی پی یو و مموری واقعی برسه!
@Univerbity
😁9🔥5
یه مدت کوتاهی نبودم درگیر یه سری قضایا بودم ولی یه چیز باحال پیدا کردم گفتم براتون بذارم اینجا :)
توی سیستم های مختلف حالا چه تو پروتکل های شبکه یا حتی سیستم عامل ها یه خطایی داریم به نام parity error که با پارامتر parity bit تشخیص داده میشه.🤖
کامپیوتر برای اینکه بفهمه دیتا سالم رسیدهرمیاد یه بیت به اخر دیتا اضافه میکنه. این بیت کمک میکنه تا بشه فهمید تعداد بیت های 1 تو کل دیتا زوجه یا فرد (حالا بسته به معماری)
اگه دیتا بعد از رسیدن تعداد بیت های 1 با چیزی که باید نخونه این خطا رخ میده و مبنی بر خرابی یا دستکاری دیتا هستش!👾
توی سیستم های مختلف حالا چه تو پروتکل های شبکه یا حتی سیستم عامل ها یه خطایی داریم به نام parity error که با پارامتر parity bit تشخیص داده میشه.🤖
کامپیوتر برای اینکه بفهمه دیتا سالم رسیدهرمیاد یه بیت به اخر دیتا اضافه میکنه. این بیت کمک میکنه تا بشه فهمید تعداد بیت های 1 تو کل دیتا زوجه یا فرد (حالا بسته به معماری)
اگه دیتا بعد از رسیدن تعداد بیت های 1 با چیزی که باید نخونه این خطا رخ میده و مبنی بر خرابی یا دستکاری دیتا هستش!👾
@Univerbity
❤10😁1
Univerbity
به یه چیز خیلی بامزه برخوردم 😀 توی مانیتور ها و نمایشگر ها ما کلی LED داریم دیگه و این ال ای دی ها فقط میتونن رنگ هاشون رو از ترکیب سیستم رنگ RGB بسازن.🖥 اگه نمیدونید R:red G:green B:blue ینی کلا سه تا رنگ داریم اما بین این سه تا رنگ یکیشون خیلی سخت ساخته…
قبلا یه پست درباره رنگ آبی توی LED ها گذاشتم و یکی از بچه ها گفت که ای کاش توضیح بیشتر میدادی. دیروز خیلی اتفاقی یه شورت ویدیو تو یوتوب دیدم که کلی اطلاعات بهم داد.😄
به طور کلی LED ها با عملی به نام رقص الکترون ها(Electron Dance) کار میکنن.
وقتی به الکترون ها انرژی وارد میکنیم وارد یه حالت پرشی میشن.اما خب این پرش خیلی طول نمیکشه و زود میوفتن پایین(به اصطلاح سقوط یا Fall back down میشن).⬇️
(من بهش میگم FBD!)
این fbd شدن موجب تولید نور و گرما میشه و میزان این ارتفاع پرش، رنگ تولید شده رو تعیین میکنه. هر چی ارتفاع کم تر باشه انرژی کمتری مصرف میشه و رنگ میره به سمت قرمز و برای تولید رنگ آبی باید این ارتفاع خیلی زیاد باشه و طبیعتا انرژی بیشتری هم میخاد.⚡️
چالش اصلی پیدا کردن ماده ایه بتونه برای این پرش عظیم انرژی تولید کنه.این قضیه تا دهه 90 میلادی طول کشید تا بلخره عنصری به نام Gallium Nitride پیدا شد که میتونست این کارو بکنه.🌈
تو کامنتا چن تا چیز باحال ازش میذارم:)
به طور کلی LED ها با عملی به نام رقص الکترون ها(Electron Dance) کار میکنن.
وقتی به الکترون ها انرژی وارد میکنیم وارد یه حالت پرشی میشن.اما خب این پرش خیلی طول نمیکشه و زود میوفتن پایین(به اصطلاح سقوط یا Fall back down میشن).⬇️
(من بهش میگم FBD!)
این fbd شدن موجب تولید نور و گرما میشه و میزان این ارتفاع پرش، رنگ تولید شده رو تعیین میکنه. هر چی ارتفاع کم تر باشه انرژی کمتری مصرف میشه و رنگ میره به سمت قرمز و برای تولید رنگ آبی باید این ارتفاع خیلی زیاد باشه و طبیعتا انرژی بیشتری هم میخاد.⚡️
چالش اصلی پیدا کردن ماده ایه بتونه برای این پرش عظیم انرژی تولید کنه.این قضیه تا دهه 90 میلادی طول کشید تا بلخره عنصری به نام Gallium Nitride پیدا شد که میتونست این کارو بکنه.🌈
تو کامنتا چن تا چیز باحال ازش میذارم:)
@Univerbity
🔥7❤2
این عکسو احتمالا دیده باشید.
با خودتون شاید فکر کردید که طراح های مایکروسافت ریدن ولی اینطور نیست.
این طراحی نوک کج کرسر ها به ویندوز ختم نمیشه بلکه خیلی خیلی قدیمیه و الان تو همه محیط گرافیکی های لینوکسی و سیستم عامل ها وجودداره.🖱
این یه استاندارد قدیمی از زمان Xerox PARC و مک ها قدیمی هستش که چند تا دلیل داره.
مهمترین دلیلش بر میگرده به مغز انسان.مغز ما جهت های مورب رو سریع تر تشخیص میده و فلش نوک کج کمک میکنه حرکت موس رو بهتر حس کنی.
از طرفی نوک فلش دقیقا همون نقطه فعاله چون کجه وقتی رو متن کلیک میری نوکش دقیق تر میوفته رو هدف و خود فلش مزاحم دیدت نمیشه.
البته چند بار هم سعی کردن که درستش کن منتها چون کاربرا عادت کرده بودن شکست خورد🤷♂
با خودتون شاید فکر کردید که طراح های مایکروسافت ریدن ولی اینطور نیست.
این طراحی نوک کج کرسر ها به ویندوز ختم نمیشه بلکه خیلی خیلی قدیمیه و الان تو همه محیط گرافیکی های لینوکسی و سیستم عامل ها وجودداره.🖱
این یه استاندارد قدیمی از زمان Xerox PARC و مک ها قدیمی هستش که چند تا دلیل داره.
مهمترین دلیلش بر میگرده به مغز انسان.مغز ما جهت های مورب رو سریع تر تشخیص میده و فلش نوک کج کمک میکنه حرکت موس رو بهتر حس کنی.
از طرفی نوک فلش دقیقا همون نقطه فعاله چون کجه وقتی رو متن کلیک میری نوکش دقیق تر میوفته رو هدف و خود فلش مزاحم دیدت نمیشه.
البته چند بار هم سعی کردن که درستش کن منتها چون کاربرا عادت کرده بودن شکست خورد🤷♂
@Univerbity
❤7🤯1