HICTE Blog – Telegram
HICTE Blog
1.18K subscribers
383 photos
127 videos
8 files
618 links
گروهمون: @HicteGroup

دسته بندی پست‌ها: t.me/HicteBlog/743
Download Telegram
🤣15👍1
#میم

کدوم رو انتخاب میکردین؟

بنظر خودم اون 50% ارزشش رو داره ریسک کنیم. [ تا TC39 و WG21 رو زیر بگیره :) ]

🚁 Hicte Blog
😈8👍4😁2
HICTE Blog
#میم 🚁 Hicte Blog
#میم

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

🚁 Hicte Blog
😁10👍4
#فان

پکیج شامی اورفلو کرده

🚁 Hicte Blog
🤣9😁5
#کتاب

The Linux Programming Interface: A Linux and UNIX System Programming Handbook

Author: Michael Kerrisk
Edition: 1st
Date: October 2010
Publisher: No Starch Press
Length: 1552 pages


Amazon 👀
Download 😉

🚁 Hicte Blog
👍2
HICTE Blog
#کتاب The Linux Programming Interface: A Linux and UNIX System Programming Handbook Author: Michael Kerrisk Edition: 1st Date: October 2010 Publisher: No Starch Press Length: 1552 pages Amazon 👀 Download 😉 🚁 Hicte Blog
توضیحات:

The Linux Programming Interface (TLPI) is the definitive guide to the Linux and UNIX programming interface—the interface employed by nearly every application that runs on a Linux or UNIX system.

In this authoritative work, Linux programming expert Michael Kerrisk provides detailed denoscriptions of the system calls and library functions that you need in order to master the craft of system programming, and accompanies his explanations with clear, complete example programs.

You'll find denoscriptions of over 500 system calls and library functions, and more than 200 example programs, 88 tables, and 115 diagrams. You'll learn how to:
–Read and write files efficiently
–Use signals, clocks, and timers
–Create processes and execute programs
–Write secure programs
–Write multithreaded programs using POSIX threads
–Build and use shared libraries
–Perform interprocess communication using pipes, message queues, shared memory, and semaphores
–Write network applications with the sockets API

While The Linux Programming Interface covers a wealth of Linux-specific features, including epoll, inotify, and the /proc file system, its emphasis on UNIX standards (POSIX.1-2001/SUSv3 and POSIX.1-2008/SUSv4) makes it equally valuable to programmers working on other UNIX platforms.

The Linux Programming Interface is the most comprehensive single-volume work on the Linux and UNIX programming interface, and a book that's destined to become a new classic.
#امنیت

[بخش یکم]
ToCToU
یا Time of Check to Time of Use نوعی آسیب پذیری امنیتی هست و وقتی ایجاد میشه که بین چک کردن یه شرایط و استفاده از اون از نظر زمانی gap بوجود بیاد.

مثلا اگه یه برنامه بررسی کنه آیا کاربر مجوز دسترسی به یه فایل رو داره یا نه و بعدا از اون فایل استفاده کنه تو این شرایط به طور بالقوه یه مهاجم ممکنه فایل یا مجوزهای اون رو بین بررسی و استفاده تغییر بده و منجر به یه نقض امنیتی بشه.

برای دوری از این آسیب پذیری توسعه دهنده باید از استراتژی‌هایی استفاده کنه تا این اطمینان حاصل بشه که وضعیت بررسی شده در طول فاصله زمانی تا نقطه‌ی استفاده بدون تغییر باقی میمونه.

لینک به بخش دوم

🚁 Hicte Blog
👍5🔥2
HICTE Blog
#امنیت [بخش یکم] ToCToU یا Time of Check to Time of Use نوعی آسیب پذیری امنیتی هست و وقتی ایجاد میشه که بین چک کردن یه شرایط و استفاده از اون از نظر زمانی gap بوجود بیاد. مثلا اگه یه برنامه بررسی کنه آیا کاربر مجوز دسترسی به یه فایل رو داره یا نه و بعدا…
#امنیت

[بخش دوم]
ToCToU
برای مثال یه سناریوی ساده رو در نظر میگیریم:

ما یه تابع پایتون داریم که hash یه فایل رو چک میکنه و اگه فایل درست وجود داشت بعد محتوای اون رو بر میگردونه.
import os

def read_file(file_path):
    # Time of Check: Check if the right file exists
    if os.path.exists(file_path) and hash_check(file_path):
        # Time of Use: Open and read the file
        with open(file_path, 'r') as file:
            content = file.read()
            return content
    else:
        print("File does not exist.")


اینجا مهاجم میتونه با تغییر فایل اصلی تو فاصله زمانی بین چک کردن hash و باز کردن فایل به اهداف شومش برسه.
# Create a malicious file
echo "Malicious content" > sensitive_file.txt


برای اینکه کار دست خودمون ندیم بعد باز کردن اون از محتوای فایل hash میگیریم.
import os

def read_file(file_path):
    if os.path.exists(file_path):
        with open(file_path, 'r') as file:
            content = file.read()
            # Content state locked from outside
            if hash_check(content):
                return content
    else:
        print("File does not exist.")


لینک به بخش یکم

🚁 Hicte Blog
🔥7👍3
#میم

My comments in code

🚁 Hicte Blog
🤣13😁4
👍15🤣8😁1
[ Source >> X ]
#هوش_مصنوعی

اومدن سوالای المپیاد ریاضی امسال آمریکا رو بلافاصله بعد آزمون دادن به LLM هایی که reasoning دارن و کل اثبات رو چک کردن. نتیجه این شده که همه‌شون کمتر از 5% نمره رو تونستن بگیرن. این نشون می‌ده که نمره‌های خیلی خوب این مدلا تو تستای دیگه؛ احتمالا بخاطر اینه که سوالای شبیهش تو دیتای ترین وجود داشته یا اینکه با اثبات و منطق اشتباه صرفا تونستن جواب آخرو درست دربیارن.

لینک به مقاله‌ی اصلی

🚁 Hicte Blog
👍9
[ Source >> @CodeModule ]
#شبکه

‏RFC 4122 چیست؟ 🎲

‏RFC 4122‏ یک استاندارد فنی هست که توسط سازمان IETF‏ (Internet Engineering Task Force) تعریف شده، و برای تولید UUID هست که به شناسه‌های GUID هم شناخته میشه. این استاندارد تعریف میکنه که UUID باید یک مقدار ۱۲۸ بیتی باشه که به‌صورت یونیک تولید میشه. هدف اصلی این شناسه‌ها اینه که بتونن بدون نیاز به یک مرجع مرکزی، آیدی های یونیک تولید کنن.  

همون‌طور که گفتیم یکی از دلایل اصلی استفاده از UUIDها اینه که نیازی به یک مرجع متمرکز(Central Authority) برای تولیدشون وجود نداره.  یعنی میتونن در هر سیستمی، بدون نگرانی از تداخل، آیدی های جدید تولید کرد. این ویژگی باعث میشه که UUIDها برای سیستم‌های توزیع‌شده و محیط‌هایی که نیاز به id به فرد دارن، ایده‌آل باشن. UUIDها میتونن به صورت خودکار و با سرعت بالا (تا ۱۰ میلیون آیدی در ثانیه) برای اهداف مختلفی مثل transaction IDs, database IDs, or session IDs و ... تولید و استفاده بشن.

IEEE 802 و ارتباط آن با UUID

‏IEEE 802 مجموعه‌ای از استانداردهای مربوط به شبکه‌های کامپیوتری هست که در لایه‌های فیزیکی و پیوند داده مدل OSI فعالیت میکنن. این استانداردها در فناوری‌های ارتباطی کاربرد داره.

در برخی نسخه‌های UUID، یکی از بخش‌های این شناسه ۱۲۸ بیتی، از آدرس MAC دستگاه گرفته میشه. آدرس MAC یک مقدار ۴۸ بیتی منحصر به فرد هست که به هر کارت شبکه اختصاص داده شده و معمولاً از یک محدوده‌ی آدرس اختصاصی، که توسط IEEE مدیریت و انتخاب میشه. استفاده از MAC در تولید UUID باعث میشه که شناسه‌ها در بین دستگاه‌های مختلف یکتا باشن. اما به دلایل امنیتی و حریم خصوصی، این روش همیشه توصیه نمیشه و در برخی نسخه‌های UUID، روش‌های دیگه‌ای جایگزین اون شدن. 

ساختار UUID بر اساس RFC 4122

‏UUIDها از ۱۲۸ بیت تشکیل شدن و به صورت یک استرینگ ۳۶ کاراکتری نمایش داده میشن. این رشته شامل ۳۲ کاراکتر هگزادسیمال (اعداد ۰-۹ و حروف a-f) و ۴ خط تیره (-) است که بخش‌های مختلف UUID رو از هم جدا می‌کنن. فرمت کلی UUID به این صورته:

xxxxxxxx-xxxx-Mxxx-Nxxx-xxxxxxxxxxxx
‏- x یک عدد هگزادسیمال (۰ تا ۹ و A تا F) هست 

‏- M نسخه‌ی UUID رو مشخص میکنه. 
‏- N مقدار variant رو تعیین میکنه.

‌‌‌‏UUID از چندین بخش اصلی تشکیل شده؟‏

1. ‏time_low (بخش پایین timestamp) – ۳۲ بیت 

‏2. time_mid (بخش میانی timestamp) – ۱۶ بیت 

‏3. time_hi_and_version (بخش بالایی timestamp + شماره نسخه) – ۱۶ بیت 

‏4. clock_seq_hi_and_reserved (بخش بالایی شماره sequence + مقدار variant) – ۸ بیت 

‏5. clock_seq_low (بخش پایینی شماره sequence) – ۸ بیت 

‏6. node (شناسه گره، معمولاً MAC یا مقدار تصادفی) – ۴۸ بیت 

‏انواع UUID و روش‌های تولید آنها‏

1. نسخه ۱ (UUIDv1): بر اساس زمان و شناسه گره (معمولاً آدرس MAC) ساخته میشه. این نسخه تضمین میکنه که UUIDها به ترتیب زمانی تولید بشن.

2. نسخه ۲ (UUIDv2): مشابه نسخه ۱ هست اما برای استفاده در سیستم‌های DCE Security طراحی شده.

3. نسخه ۳ (UUIDv3): بر اساس هش MD5 و یک نام (namespace) ساخته میشه.

4. نسخه ۴ (UUIDv4): به طور کامل تصادفی هست و از اعداد تصادفی برای تولید UUID استفاده میکنه.

5. نسخه ۵ (UUIDv5): مشابه نسخه ۳ است اما از الگوریتم هش SHA-1 استفاده میکنه

به صورت کلی RFC-4122 استانداردی هست که به ما اجازه میده، شناسه‌های منحصر به فرد رو بدون نیاز به هماهنگی با یک مرجع مرکزی تولید کنیم. برای اطلاعات بیشتر در مورد این استاندارد به داکیومنت مراجعه کنید.

🚁 Hicte Blog
👍8
[ Source >> @Digiato ]
#خبر

چین استاندارد GPMI را معرفی کرد؛ رقیب HDMI با پهنای باند ١٩٢ گیگابیتی

چین به‌تازگی استاندارد جدید GPMI را معرفی کرده که می‌تواند ١٩٢ گیگابیت‌برثانیه پهنای باند ارائه دهد. این استاندارد با دو نوع کانکتور C و B عرضه می‌شود که هرکدام ویژگی‌های خاص خود را دارند. نوع C با USB Type-C موجود سازگار است و پهنای باند ٩۶ گیگابیتی و توان ٢۴٠ واتی ارائه می‌دهد، درحالی‌که نوع B از کانکتور اختصاصی استفاده می‌کند و توان ۴٨٠ واتی و پهنای باند ١٩٢ گیگابیتی فراهم می‌آورد.

استاندارد GPMI قابلیت اتصال چند دستگاه را از طریق ارتباط ریموت فراهم می‌کند همچنین با HDMI-CEC سازگار است. این استاندارد می‌تواند جایگزین مناسبی برای HDMI و DisplayPort در کاربردهایی همچون سرگرمی خانگی، اتومبیل و صنایع مختلف باشد.

🚁 Hicte Blog
👍7🔥3
[ Source >> @TechTube ]
#گیت

20 سال پیش در چنین روزی، لینوس توروالدز، سازنده هسته لینوکس، نرم افزار Git رو به صورت عمومی منتشر کرد که ابزاری برای مدیریت تغییرات در فایلها، به خصوص فایلهای متنی و پروژه های برنامه نویسی بود.

تا سال 2005 برنامه نویسهای هسته لینوکس از ابزار Bitkeeper برای مدیریت کدها و تغییرات اون استفاده میکردن ولی در اون سال Bitkeeper نسخه مجانیش رو تعطیل کرد و اقای توروالدز تا وقتی جایگزینی برای اون پیدا نشه، توسعه کرنل رو متوقف کرد ولی جایگزین قابل قبولی برای اون پیدا نکرد. ایشون که خفن بودنش با ساخت هسته لینوکس ثابت شده بود، تصمیم گرفت باز هم خودش استینهارو بالا بزنه و خودش ابزاری برای اینکار بنویسه.

در نتیجه گیت رو تنها در 10 روز نوشت که ابزار سریع، بهینه و متن بازی برای مدیریت تغییرات کدها بود که بلافاصله برای توسعه هسته لینوکس استفاده شد و بعد از تکمیل کدهای اولیه، توسعه و نگهداری اون رو به Junio Hamano سپرد که هنوز هم ایشون مسئول این پروژه هست.

این پروژه طی دو دهه از یک پروژه شخصی کوچک، به محبوبترین نرم افزار ورژن کنترل تاریخ تبدیل شد و در حاضر تقریبا همه برنامه نویسها از اون برای مدیریت تغییرات در کدهاشون استفاده میکنن.

دلیل نامگذاری اون هم جالب هست و مثل لینوکس، اسم Git هم به خود توروالدز اشاره داره که اصطلاح عامیانه ای در انگلیسی هست که معنی اون ادم‌های لجبازی که فکر می‌کنن همیشه حق با خودشونه و دائم بحث می‌کنن، هست!

🚁 Hicte Blog
🔥101🎉1
#کتاب

Code: The Hidden Language of Computer Hardware and Software

Author: Charles Petzold
Edition: 2nd
Date: August 2022
Publisher: Microsoft Press
Length: 480 pages


Amazon 👀
Download 😉

🚁 Hicte Blog
👍4
HICTE Blog
#کتاب Code: The Hidden Language of Computer Hardware and Software Author: Charles Petzold Edition: 2nd Date: August 2022 Publisher: Microsoft Press Length: 480 pages Amazon 👀 Download 😉 🚁 Hicte Blog
توضیحات:


The classic guide to how computers work, updated with new chapters and interactive graphics

"For me, Code was a revelation. It was the first book about programming that spoke to me. It started with a story, and it built up, layer by layer, analogy by analogy, until I understood not just the Code, but the System. Code is a book that is as much about Systems Thinking and abstractions as it is about code and programming. Code teaches us how many unseen layers there are between the computer systems that we as users look at every day and the magical silicon rocks that we infused with lightning and taught to think."

- Scott Hanselman, Partner Program Director, Microsoft, and host of Hanselminutes

Computers are everywhere, most obviously in our laptops and smartphones, but also our cars, televisions, microwave ovens, alarm clocks, robot vacuum cleaners, and other smart appliances. Have you ever wondered what goes on inside these devices to make our lives easier but occasionally more infuriating?

For more than 20 years, readers have delighted in Charles Petzold's illuminating story of the secret inner life of computers, and now he has revised it for this new age of computing. Cleverly illustrated and easy to understand, this is the book that cracks the mystery. You'll discover what flashlights, black cats, seesaws, and the ride of Paul Revere can teach you about computing, and how human ingenuity and our compulsion to communicate have shaped every electronic device we use.

This new expanded edition explores more deeply the bit-by-bit and gate-by-gate construction of the heart of every smart device, the central processing unit that combines the simplest of basic operations to perform the most complex of feats. Petzold's companion website, CodeHiddenLanguage.com, uses animated graphics of key circuits in the book to make computers even easier to comprehend.

In addition to substantially revised and updated content, new chapters include:

Chapter 18: Let's Build a Clock!
Chapter 21: The Arithmetic Logic Unit
Chapter 22: Registers and Busses
Chapter 23: CPU Control Signals
Chapter 24: Jumps, Loops, and Calls
Chapter 28: The World Brain

From the simple ticking of clocks to the worldwide hum of the internet, Code reveals the essence of the digital revolution.
👍2
#میم

اینم برای دبین فنا

🚁 Hicte Blog
😁121
🔥9👍3