Ark::public
Статистикаآن بخشی از ترشحات ذهنی من که نیاز به سانسور ندارد! هدف بیشتر این است که من بنویسم از آنچه در روز بر من میگذرد، نه آنکه شما بخوانید. ولی بخوانید! پیام نخست کانال ایندکس است!
- Последний пост
- 3 июн.
- Последнее чтение
- 14 авг.
- Постов за неделю
- 0
- Всего постов
- 21
- Тип
- открытый
- Язык
- персидский
- В каталоге с
- 14 авг.
- 1/24сутки в ленте
- —
- 1/48двое суток
- —
- 1/72трое суток
- —
Оценка по просмотрам недавних постов: пост набирает почти всё за первые сутки.
Посты
:))) @LTBmemes
programmers in general, as a culture, often tend to adapt very bad ideas. so to people who predict AI wont be used because it is not good enough, out of all the arguments you could've made for why AI might not succeed, that is the worst one! - Casey Muratori
دیشب که خواب بودید، ورژن هشت اینترنت (IPv8) معرفی شد: https://www.ietf.org/archive/id/draft-thain-ipv8-00.html این ورژن، برخلاف ورژن ۶ (IPv6) کاملا backward compatible هست و عملا یه superset برای IPv4 به حساب میآد که باعث میشه adopt کردنش بی هزینه باشه! صرفا برای اینکه یه دیدی داشته باشید ipهای ورژنهای مختلف اینشکلیان: IPv4: 192.168.0.1 IPv6: ::ffff:c0a8:1 IPv8: 0.0.0.0.192.168.0.1 #network
مبادت جز از بختِ پیروز جفت چو نوروزِ گیتی بشادی شکفت چو هرمزد بادت بدین پایگاه چو بهمن نگهبان فرخ کلاه همه ساله اردیبهشت هژیر نگهبان تو با هش و رای پیر چو شهریورت باد پیروزگر بنام بزرگی و فر و هنر سفندارمذ پاسبان تو باد خرد جان روشن روان تو باد چو خردادت از یاوران بر دهاد ز مرداد باش از بر و بوم شاد دی و اورمزدت خجسته بواد در هر بدی بر تو بسته بواد دیت آذر افروز و فرخنده روز تو شادان و تاج تو گیتی فروز نوروز فرخنده! #shahname
مرا پشت ز آزادگانست راست دل روشنم بر زبانم گواست بیاید حالا که در بحبوحهی یک انقلاب چند بعدی هستیم (به نظر من این انقلاب هم جنبهی ملی داره، هم دینی، هم فرهنگی) این «آزادگان» خواندن ایرانیان رو دوباره جا بندازیم و اصطلاحا، این term رو coin کنیم. جدای از اینکه توی فرهنگ پیش از اسلام ایران (و حتی اوایل اسلام)، ایرانیها «آزاده» خوانده میشدند و این یک سنت دیرینه بوده که در صدههای اخیر از دستش دادیم، یک تاثیر مهمش به نظر من، تربیت بخش ناخودآگاه ذهن انسان هستش. شما تصور کنید آرمانشهری از ایران رو که در اون، در مدارس بجای آموزش فرهنگ شهادت و جانبرکف بودن و دوری از خِرَد، به کودکانمون از خردسالی فرهنگ آزادمردی و خردورزی و زیر بار ظلم و زور ظالم نرفتن و با هوشیاری تصمیم گرفتن رو یاد میدادن! توی این شهر شیران دیگه اصلا جایی برای پرورش و به قدرت رسیدن موشها نمیمونه که بخواد بعدها دردسری برای ایرانیان درست کنه. البته که تغییرات بسیار دیگری هم در فرهنگ ایران و ایرانی لازمه و بسیار طول خواهد کشید تا زخمهای این ویروس فکری-فرهنگی بر روی بدنهی فکری ایرانیها ترمیم بشه (شاید اگه بعدا اوضاع بهتر شد یک سیاههی بلندی راجع به تغییرات فرهنگیای که بنظرم لازمه نوشتم) ولی خب باید از یجایی شروع کرد و بنظر من این نقطهی خوبی برای شروع هستش. در ادامههم یه چند بیت از شاهنامه رو آوردم که شاید بتونه فضای فکریای که توش هستم و دلیل پافشاریم برای این اصلاح فرهنگی رو بهتر بهتون منتقل کنه: اندر آزادگان خواندن ایرانیان و غم در بند بودنشان: دل پهلوان گشت زان پر ز درد که رخسار آزادگان دید زرد اندر ستایش خرد: روانی کجا با خرد بود جفت ستاره همی بارد از چرخ گفت اندر شهره بودن آزادگان به خردمندی ترا جایگه نیست در شارستان بزیبد ترا بند و بیمارستان ترا پیش آزادگان کار نیست کجا مر ترا رای هشیار نیست سزاوار مسماری و بند و غل نه اندر خور تاج و دیهیم و مل #shahname
Flipperachi – FA9LA
آهنگیفای 🎧 @pub_fn_music
فرخنده باد!
چه سودی در علم است، وقتی انسان ارزش ندارد؟ وقتی خون در کوچهها جاریست دیگر سکوت را بر خود روا نمیدانیم. دیماه امسال، روزهایی را پشت سر گذاشتهایم که شرح آنها زبان را به عجز میکشاند. مردمی که به خیابان آمدند تا حقشان را مطالبه کنند، با شلیک مستقیم گلوله به زمین افتادند. نه در میدان جنگ، بلکه در کوچه و خیابان. چند روز بیشتر طول نکشید تا فهرست کشتهشدگان به اندازهای طولانی شود که تخمین تعدادشان نیز نشدنی تلقی گردد. این فهرست، صرفاً مجموعهای از نامها نیست. هر نام در آن، یک خانوادهی داغدار، یک مادر عزادار، یک آیندهی نابودشده است. اینها آدمهایی هستند که زنده بودند. زنانی که میخواستند زندگی کنند، مردانی که آرزوی آزادی داشتند، دانشجویانی که نمیخواستند تن به ذلت زیستن در چنین استبدادی بدهند. دانشجویانی که روزی در همین کلاسهای درس نشستند، در همین دانشکدهها قدم زدند، در همین هوا نفس کشیدند و در میان همین دیوارها گفتند و خندیدند. دانشجویانی چون محمدرضا مرادعلی، ورودی ۹۵ دانشکدهی مهندسی کامپیوتر دانشگاه شریف، که در ۱۹ دیماه ۱۴۰۴ کشته شد و از او، تنها یاد و خاطرهاش به جا ماندهاست. ما اینها را دیدهایم. خون روی زمین را، جنازههای ردیفشده در کهریزک را، دیدهایم. شهادت کسانی را شنیدهایم که با چشم خودشان مرگ را دیدند. مرگی که از لولهی تفنگ نیروهایی بیرون میآمد که وظیفهشان حفظ مردم بود، نه قتلشان. و بالاتر از همه، شنیدیم دستور شما را. نه پروردگار، بلکه این اهریمن بود که بر شما نازل شد و از زبانتان سخن گفت که: «بکشید!» و کشتند. بدون تردید، بدون وجدان، بدون رحم. همان مردمی که در روزهای جنگ از آنها به عنوان «ملت شریف و غیور» یاد میکردید، حالا به یکباره «اغتشاشگر» و «تروریست» نامیده شدند. همان مردمی که سالها زیر بار سختی و فشار تحمیلشده از ستمتان زندگی کردند، حالا «اراذل و اوباش» خوانده شدند. انگار فراموش کردهاید که نمیتوان یک ملت را یک روز به آسمان برد و روز بعد به زمین کوبید. فراموش کردهاید که واژهها معنا دارند و حافظهی مردم، کوتاه نیست. کسانی که سالها بر منبرها گفتند «خون بیگناه، بنیان حکومتها را فرو میریزد»، امروز یا سکوت کردهاند و یا با واژگان آراسته گلولهها را تطهیر نمودهاند. حق تیرهایی را از خانوادهی قربانیان گرفتند که مدعی بودند دشمن نثارشان کردهاست. همانهایی که فریاد میزدند «هیهات منا الذله»، امروز ذلیلانهترین سکوت را پیشه کردهاند و به تماشای گورستانها نشستهاند؛ گورستانهایی که با فرمان کسی که خود را معصوم از خطا میداند، روزبهروز انسانهای بیگناه بیشتری را در خود جای میدهند. حالا دیگر وقت انذار و هشدار و سکوت نیست. وقت آن است که بگوییم ما شاهدیم. ما میبینیم چه اتفاقی افتاده و هرگز این جنایت را فراموش نخواهیم کرد. جمعی از دانشجویان دانشکده مهندسی کامپیوتر دانشگاه صنعتی شریف، ۹ بهمن ۱۴۰۴
3/4 ۲. لایه دیتا لینک (data link): تو این لایه، کمکم از دنیای تئوری و بیتی خارج میشیم و دغدغههای بیشتر جنبه فیزیکی پیدا میکنن. برای همین مثلا مهمه که ما از چه طریقی داریم به اینترنت وصل میشیم. چون توی این مثال، لپتاب با کارت wifi قراره به اینترنت وصل…
2/4 تعریف مسئله: خب همونطور که گفتم، قراره سربار لایههای ۱ تا ۴ و ۷ رو دونه دونه حساب کنیم و با هم جمع بزینم، برای اینکار، نیاز داریم که بدونیم دقیقا تو هر لایه از چه پروتکلی استفاده میشه. برای اینکار نیاز داریم که سناریو مون دقیق مشخص باشه. برای همین من…
How efficient the networking stack really is? 1/4 تا حالا شده به این فکر کنید که سربار گفتوگو بر بستر اینترنت چهقدره؟ یا اینکه برای فرستادن یک بیت داده، چه مقدار بیت به عنوان meta data یا سرایند (header) کنار این یک بیت داره منتقل میشه؟ تو این رشته میخوام…
How efficient the networking stack really is? 1/4 تا حالا شده به این فکر کنید که سربار گفتوگو بر بستر اینترنت چهقدره؟ یا اینکه برای فرستادن یک بیت داده، چه مقدار بیت به عنوان meta data یا سرایند (header) کنار این یک بیت داره منتقل میشه؟ تو این رشته میخوام با پاسخ به این ۳ تا پرسش زیر، یکم جزئیات ناگفته شبکه رو بیشتر بشکافم. پرسشها (اگه حوصله خوندن کل متن رو ندارید، پاسخها زیر هر پرسش spoiler شده!): ۱. برای ارسال یک بایت داده مفید در هرکدام از لایههای شبکه، چند بیت داده واقعی در شبکه جابجا میشه و یا به عبارتی دیگر، چند درصد ترافیک شبکه رو داده مفید تشکیل میده. تو لایه ۷، با HTTP، باید ۲۲۴ بیت بفرستیم. تو لایه ۴، با TCP، باید ۴۱۶ بیت بفرستیم. (یه ۲۵۶ برای syn و یه ۱۶۸ برای ack-data) تو لایه ۳، با IPv4، باید ۱۶۸ بیت بفرستیم. تو لایه ۲، با Wi-Fi 5 (802.11ac)، باید ۳۴۴ بیت بفرستیم. تو لایه ۱، با Wi-Fi 5 (802.11ac)، باید معادل ۷۸۰۰۳ بیت، پرتو بفرستیم ۲. برای ارسال یک بایت با کمترین هزینه در لایه ۷، چند بیت داده منتقل میشه. به ازای یک بایت داده، ۱۶۲۲۴۶ بیت روی شبکه جابجا میشه که درصد بهرهوری اینترنت رو کمتر از ۰.۰۱٪ توان واقعی شبکه میکنه! ۳. در بهینهترین حالت ممکن، utility شبکه چند درصد هست. پاسخش سخته! حالشو ندارم ولی صرفا max packet size رو اینجا میزارم شاید بعدا رفتم سراغش: HTTP: no limit TCP: 65,535 bytes IPv4: normal frame: 1400B, jumbo frame: 9216B Wifi 5 (802.11ac) [layer2]: 2,304 bytes مروری بر شبکه: برای انجام این محاسبات باید با مفاهیم کلی شبکه آشنا باشیم (اگه بلدی برو تیتر بعدی). طبق مدل OSI، شبکه از ۷ لایه تشکیل شده. حالا این که هرکدوم از این لایهها دقیقا وظیفشون چیه و چرا وجود دارن خیلی دغدغه ما نیست ولی چیزی که باید بدونیم اینه که برعکس تصور عموم، این لایهها رو هم رو هم نیستن، بلکه تو هم تو هم هستن. به صورت کلی تو هر لایه، شما دغدغت اینه که یه مشت داده رو، در قالب یک بسته (یکای داده در هر لایه مثل fragment, frame, packet, segment, stream, ...) رو از یه مبدا به یه مقصد برسونی. بسته رو هم به صورت خیلی ساده میتونی این طوری در نظر بگیری: ----------------------------- | header | payload | footer | ----------------------------- هر بسته در هر لایه، معمولا یه بخش سرایند داره که شروع بسته رو مشخص میکنه و یکسری اطلاعات مهم راجع بسته، مانند آدرس مبدا و مقصد و اندازه payload، رو تو خودش داره، بعد از سرایند، خود payload رو داریم که میتونه هر توالی از بیتها باشه و برامون مهم نیست. بعد از payload، هم سرامد رو داریم که پایان بسته رو مشخص میکنه. البته هیچ کدوم از سرایند و سرامد تو بسته اجباری نیستن و وجودشون بستگی به پروتکلی که ازش برای انتقال داده تو اون لایه استفاده میکنی ربط داره و مثلا اکثر پروتکلهای لایهی ۳ به بعد، معمولا سرامد ندارند و میشه اندازه سرامد رو 0 bit در نظر گرفت. نکتهی مهم اینجاست که معمولا، payload یک بسته در لایه N، تمامیت یک بسته در لایه N+1 هست و برای همینه که میگیم لایههای شبکه تو هم تو هم ان نه رو هم رو هم: (شمای زیر در لپتاب بهتر نمایش داده میشود) +----+------------------------------------------------------------+----+ | | +====+==============================================+====+ | | | | | | +~~~~+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+~~~~+ | | | | |L1 h| |L2 h| |L3 h| payload (other layers packets) |L3 f| |L2 f| |L1 f| | | | | +~~~~+~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~+~~~~+ | | | | | | +====+==============================================+====+ | | +----+------------------------------------------------------------+----+ پس عملا برای پاسخ به این پرسشها کاری که باید بکنیم اینه که برای هر لایه، اندازهی سرایند و سرامد رو حساب کنیم و با هم جمع کنیم. حالا این لایهها چی هستند؟ 1. physical Layer 2. Data Link layer 3. Network Layer 4. Transport Layer 5. Session Layer 6. Presentation Layer 7. Application Layer معمولا لایههای ۵ و ۶ رو تو لایه ۷ هم در نظر میگیرن چون بسته به application، ممکنه به یکسری هاشون نیاز نشه. ما هم اینجا لایههای ۱ تا ۴ رو بررسی قراره بکنیم و برای ۵ و ۶ و ۷، قراره صرفا یک درخواست سادهی HTTP رو بررسی کنیم که عملا توش لایه ۵ و ۶ نقشی ندارن. یک نکتهی دیگهای که باید بدونیم اینه که تو هر لایه، پرتوکلهای زیادی وجود دارن و این پروتکلها هستن که شکل و اندازهی بسته رو مشخص میکنن و عملا بستهها، برای پروتکلها هستند و نه لایهها. من اینجا از هر لایه، فقط یه پروتکل رو بررسی میکنم. #network
نامگذاری تراز! we present BACH (Bridging Adjacency List and CSR Format using LSM (Log-Structured Merge)-Trees for HGTAP Workloads) باز البته از دوستانی که از میان واژه حرف میکشن بیرون بهتره! نوآوری ایشون بیشتر تو استفاده نکردن از واژهها برای ساخت acronym بوده!
اگه شما هم مثل من دوست ندارید از لپتابتون جدا شید ولی دنیای مدرن هی سنگ سر راهتون میاندازه و مجبورتون میکنه از موبایلتون استفاده کنید، scrcpy رو یه سیخونکی بزنید. پ.ن. باید به موبایلتون developer mode access و برای نخستین بار با usb وصل شید بهش، ولی از اون به بعد over wifi میتونین screen mirroring داشته باشید.
https://blog.cloudflare.com/how-we-found-a-bug-in-gos-arm64-compiler/
i was today's years old when i realized data is plural for datum!
Contrapositives are for cowards عکس نقیض برای ترسوها است.
دیروز با یکی از دوستان درگیر دیباگ کردن یه کد multi-threaded بودیم. باگی که داشت خیلی آسون و جلو چشم بود ولی تقریبا یک نیمروز ازم زمان گرفت تا پیداش کنم. مدل سادهشدش رو اینجا میذارم شاید کسی براش جالب بود: چالش: ترتیب عملیاتهایی که منجر به این میشن که assertionای که در خط 3.1 ریسه دوم وجود داره fail بشه رو پیدا کنید. وضعیت آغازین: sync = source = is_processing = 0 READY_VALUE = 2 شبهکد: (هر ۳ ریسه در یک حلقه بیانتها هستند) thread 1: loop: 1. if source != READY_VALUE: 1.2. source += 1 1.3. // some heavy processing 2. if source == READY_VALUE: 2.2. sync = READY_VALUE thread 2: loop: 3. if (sync != 0 && is_processing == 0): 3.1. assert (sync != 0) 3.2. is_processing = 1 3.3. // some heavy processing 3.3. queue+=1 // triggering thread 2 thread 3: loop: 4. if queue>0: 4.1. queue -= 1 4.2. sync = 0 4.3. is_processing = 0 4.4. source = 0 فرضیات: ۱. تمامی عملیاتهای خواندن (load) به صورت اتمیک با Ordering::Acquire و تمامی عملیاتهای نوشتن (store) به صورت اتمیک و با Ordering::Release انجام میشوند. ۲. در این کد integer overflow رخ نمیدهد. ====== * اگه میخواین پاسختون رو با من چک کنید توالی ایندکس اجرای خطوط کد رو کامنت کنید. * یه مدلینگ از این سیستم رو اینجا با راست زدم و model-checker هم روش سوار کردم. اگه براتون جالبه میتونید یه ران ازش بگیرید. این مدل چکر اسمش loom هست و عملا میآد تمامی حالات ممکن کد رو چک میکنه و بهت میگه تو کدوم توالیها assertionهات fail میشن. واقعا این فیلد verification زیباست. #verification #challenge #multi_threaded
3/3 4:23