06
مهر

عجايب مايکروسافت

هر نرم‌افزاري ممکن است شامل تعدادي باگ و نقص باشد. محصولات مايکروسافت هم از اين امر مبرا نيست. هر چند مواردي که به آن اشاره مي‌کنيم ممکن است تعمداً در محصولات مايکروسافت گنجانده شده باشد، با اين حال تست کردن آنها خالي از لطف نيست.

1. درنرمافزارwordعبارات زیر را تایپ کنید و enter را بفشارید:

=rand(2,10)

جالب اين جاست که هر عدد دلخواهي را مي‌توانيد وارد کنيد. عدد اول تعداد پاراگراف‌هاي توليد شده و عدد دوم تعداد جملات هر پاراگراف را مشخص مي‌کند. با توجه به نوع توليد پاراگراف‌ها، بعيد نيست که برنامه‌نويسان از اين دستور براي تست و ارزيابي نرم‌افزار هنگام توسعه‌ي آن استفاده مي‌کردند که پس از ارائه‌ي نسخ نهايي غيرفعال کردن آن را فراموش کرده باشند.

نکته جالب‌تر آنجاست که مورد فوق پس از کشف آن توسط يکي از کاربران، به مستندات مايکروسافت اضافه شد. تا قبل از آن، ناشران همواره از قالب متني با نام lorem که متني از يکي از کتب لاتين قرن يکم ميلادي بود استفاده مي‌کردند.

اين متن صرفاً به عنوان يک نمونه براي مشخص کردن محدوده‌ي متني استفاده مي‌شود (اکثراً کاربران حتي معناي آن را نمي‌دانند) و در هنگام انتشار مستند يا کتاب با متن اصلي جايگزين مي‌شود. در حقيقت شما مي‌توانيد مشابه دستور rand از دستور lorem نيز استفاده کنيد تا متن يوناني توليد کنيد. با اين حال، هنوز مشخص نيست که چرا اين دستورات تا قبل از کشف آنها توسط مايکروسافت مستند نشده بودند!

2. درسيستم عامل ويندوز، شما نمي‌توانيد عبارات خاصي را به عنوان نام پوشه انتخاب کنيد. برخي از اين عبارات شامل prn، aux، con، nul و چند عبارت ديگر مي‌باشد. اين پديده چندين سال پيش به طور اتفاقي توسط يکي از کاربران  کشف شد. بعدها مايکروسافت دليل عدم امکان ساخت پوشه‌هايي با اين نام را توضيح داد. در حقيقت اين عبارات، عبارات رزرو شده‌اي هستند که از زمان Dos رزرو شده بودند. اين عبارات رزرو شده در بسياري از نرم‌افزارها  وجود دارند. براي نمونه، شما نمي‌توانيد سربرگي به نام history در excel بسازید.

هر چند بسياري از مخاطبان کامپيوتري اين موضوع را از قبل مي‌دانستند، کمتر کسي هست که بداند در عمل مي‌توان پوشه‌اي با اين عناوين ايجاد کرد. براي اين کار وارد خط فرمان یا cmd شويد و دستور زير را اجرا کنيد:

noc\:C\\.\\ dm

هر چند، چون سيستم عامل از اين اسم براي عمليات سيستمي استفاده مي‌کند شما نمي‌توانيد بسياري از کارهاي عادي مانند ساختن فايل را در اين پوشه انجام دهيد، اما مي‌توانيد اين پوشه را ايجاد کرده و وارد آن شويد. از دستور زير براي پاک کردن اين پوشه‌ها مي‌توانيد استفاده کنيد:

noc\:C\\.\\ s/dr 

3. اگر از ويندوز px يا قبل‌تر استفاده مي‌کنيد، عبارت زير را در يک فايل متني بنويسيد و آن را ذخيره کنيد و سپس با notepad آن را باز کنيد.

Bush hid the facts

تعجب کرديد؟! اما دليل آن چيست؟ آيا شرکت مايکروسافت منظوري داشته است؟

در حقیقت این یک باگ نرم‌افزاری است که از سال 1994 در محصولات مایکروسافت وجود داشته است اما کشف آن تا سال 2004 به طول انجامید. هیچ عمدی در این باگ وجود نداشته است. این باگ در برخی نرم‌افزارهای دیگر نیز مشاهده شده است. دلیل آن این است که این نرم‌افزارها از یک متد به نام IsTextUnicode استفاده می‌کنند. هنگامی که این نوشته به این متد پاس داده می‌شود، متد به اشتباه آن را یک متن به فرمت UTF-16LE Chinese می‌پندارد. از این رو مقدار true برمی‌گرداند و نرم‌افزار به اشتباه آن را با کاراکترهای مربوط به زبان‌های آسیای شرقی نمایش می‌دهد.

این باگ در حقیقت با بسیاری از متون اتفاق می‌افتد. برای مثال اگر یکی از رشته‌های زیر را نیز به همین ترتیب در notepad وارد کنید و آن را ذخیره کنید، همین اتفاق خواهد افتاد.

this app can break

acre vai pra globo

aaaa aaa aaa aaaaa

با این حال بسیار جالب است که متنی با این محتوا که جنبه‌ی سیاسی دارد نیز شامل این باگ شده است.

ادامه دارد...