محیط فارسی در macOS 7.1 کلاسیک!

همانطور که در مطلب فارسی نویسی در MacOS 9 کلاسیک! گفته بودم، به دنبال مصداق جمله آن کارشناس اپل یعنی سیستم عامل مکینتاش با محیط و تقویم فارسی بودم.

متاسفانه برای نسخه های 8 و 9 زبان فارسی و عربی موجود نبود (یا حداقل کسی جایی ذخیره اش نکرده و من پیدایش نکردم؛ چون معمولا سیستم عامل پسرفت نمی کند) اما یک نسخه مک او اس 7.5 عربی یافتم:

اینجا 7.5 عربی در حال اجراست و من نصاب نسخه ی فارسی را اجرا کرده ام تا نسخه را عوض کنم (اگر در نسخه های با اسکریپت Roman این نصاب را اجرا کنید چرت و پرت می بینید)

بعد از آن دنبال نسخه فارسی 7.5 گشتم اما نبود. در نهایت یک نسخه 7.1 (انتشار در 1993 – ۱۳۷۲ شمسی) پیدا کردم که با SheepShaver هم اجرا نمی شد (بالا می آمد یک پیغام چرت و پرت نمایش می داد که بعدا فهمیدم می گوید سخت افزار شما جدیدتر از آن است که 7.1 را اجرا کند (فکر کن!) و نسخه ی جدیدتری نصب کنید) و از شبیه ساز Basilisk II استفاده کردم (این حجم از شباهت دو نرم افزار عجیب است!). در نهایت به محیط فارسی و تقویم شمسی در macOS رسیدم:

فارسی نویسی در MacOS 9 کلاسیک!

تابحال از WayBack Machine استفاده کرده اید؟ ذخیره بسیار بزرگی از وبسایت های جهان از سال های بسیار دور تا الان. یکی از تفریحات سالم من (!) این است که سایت های مشهور را از ابتدا تا انتها نگاه کنم…

دیروز در دریای صفحات قدیمی سایت اپل مستغرق بودم که یک هو به این صفحه رسیدم: The Year 2000: No Big Deal, or Apocalypse Never؛ طرف در مورد این نوشته بود که آیا مکینتاش ها با سال 2000 مشکل دارند (مشکل سال 2000)، سال 2000 را کبیسه حساب می‌کنند؟ سال 2019 چه مشکلی دارد؟ خب این مطالب طبیعی بود اما در میان متن به جمله ای برخوردم که چشمانم گرد شد!

All localized versions of the Mac OS include Gregorian calendar support. In addition, the Arabic version of the Mac OS supports both the Arabic astronomical lunar calendar and the Arabic civil lunar calendar. The Hebrew version of the Mac OS supports the Jewish calendar. The Persian version of the Mac OS supports the Iranian national calendar.

تمام نسخه های محلی شده مک او اس شامل پشتیبانی از تقویم گریگوری هستند. به علاوه، نسخه عربی مک او اس هر دو تقویم قمری نجومی و تقویم قمری عربی را پشتیبانی می ‌کند. نسخه عبری مک او اس از تقویم یهودی پشتیبانی می کند. نسخه فارسی مک او اس از تقویم ملی ایرانی پشتیبانی می کند.

خب اگر الان که 2019 است هم بگویند مک او اس تقویم شمسی ندارد تعجبی ندارد چون محصولات اپل بیشتر برای انگلیسی زبان ها و آمریکایی ها ساخته شده و محلی سازیش همواره از ویندوز کمتر است (گرچه الان هم تقویم شمسی خوبی دارد)، اما این مطلب برای سال 1999 است و در آدرسش هم سال 1996 زده شده! یعنی بیشتر از بیست سال پیش! خصوصا اینکه ما همواره تحریم هم بوده ایم…

با توجه به اینکه از قبل یک نسخه از 9 را روی شبیه ساز داشتم و در جستجو هایم حتی نسخه عربی اش را پیدا نکرده بودم گفتم حتما باید پیدایش کنم!

ادامه‌ی مطلب

جنس ارزان، بیچاره ات می‌کند!

پسرم!

اگر بخواهم نتیجه چند سال فعالیت در زمینه الکترونیک (مشخصا این یک سال و خورده ای) را در یک جمله به تو بگویم، این است که: “منبع تغذیه (آداپتور) ارزان نخر پشیمان می‌شوی!”

چگونه در C# WPF ویژگی یک عنصر را بین دو DynamicResource جابجا کنیم؟

فرض کنید داخل پرونده Xaml تان دو SolidColorBrush تنظیم کرده اید و قصد دارید در طول برنامه سی شارپتان رنگ پس زمینه یک عنصر را بین آن دو جابجا کنید؛ اگر در اینترنت مقداری بگردید، اکثرا این کد را به شما پیشنهاد می کنند:

اما این کد باعث می گردد تا مقدار آن SolidColorBrush تنها در لحظه محاسبه شده و تنظیم گردد؛ در حالی که ما نیاز داریم تا اگر مقدار SolidColorBrush را تغییر دادیم رنگ اجزای استفاده کننده از آن نیز به صورت خودکار تغییر کنند.

پس از مقداری جستجو به کد های زیر رسیدم:

در XAML:

در C#:

چگونه در URI از Resource پروژه آدرس دهیم؟

گاهی اوقات قصد داریم تا پرونده ای را از یک نشانی خشک فراخوانی کنیم (مثل C:/Folder/File.jpg)؛ گاهی اوقات پرونده ما در کنار فایل exe برنامه قرار گرفته که آن هم روش خودش را دارد اما گاهی اوقات می خواهیم از پرونده هایی که در خود سلوشن قرار داده ایم استفاده کنیم.
کد زیر را چندین بار به دست آورده بودم اما فراموش می کردم؛ با شما به اشتراک می گذارم تا خودم هم فراموش نکنم:

ویرایش ۲۳ خرداد ۱۴۰۱: اگر در اسم پروژه از فاصله استفاده شده باشد آن GetName کار نمی‌کند! فعلا اسم پروژه را دستی وارد کردم…

سریال فعالسازی ویژوال استدیو 2019

ویژوال استدیو 2019 پس از چندین ماه در دوم آوریل 2019 به صورت رسمی منتشر شد و هم اکنون قابل دریافت می باشد.
جهت فعالسازی نسخه های Professional و Enterprise آن می توانید از شماره سریال های زیر استفاده نمایید:

Visual Studio 2019 Enterprise
BF8Y8-GN2QH-T84XB-QVY3B-RC4DF

Visual Studio 2019 Professional
NYWVH-HT4XC-R2WYW-9Y3CM-X4V3Y

بروزرسانی:

Visual Studio 2022 Enterprise
VHF9H-NXBBB-638P6-6JHCY-88JWH

Visual Studio 2022 Professional
TD244-P4NB7-YQ6XK-Y8MMM-YWV2J

چگونه با دو رله موتور را به صورت چپگرد و راستگرد کنترل کنیم؟ (ساخت پل H با رله)

به یاد دارم که وقتی در کودکی متوجه شدم که فقط با جابجا کردن سیم های مثبت و منفی آرمیچر جهت چرخش آن عوض می شود چقدر خوشحال شدم! انگار که باری از روی دوشم برداشته شد! البته نمی دانم چرا هر چند وقت یکبار به این تجربه شک می کنم و دوباره با امتحان آن خوشحال می شوم! 😁

مدتی قبل مشغول طراحی و اجرای یک تابلوی نمونه ی IoT (اینترنت اشیاء) بودم؛ بخشی از آن برای نمایش کنترل پرده ی فرضی از راه دور بود. پرده با یک موتور گیربکسی پیچیده می شد و دوباره با حرکت معکوس پایین می آمد؛ برای کنترل موتور پرده هم دو رله در اختیار داشتم که با ریزپردازنده خاموش و روشن می شد.

بعد از کمی جستجو برای یافتن مداری که بتوان با دو کلید موتور را راستگرد و چپگرد کرد، با پل H یا H-Bridge آشنا شدم:

ساختار پل H ( به شکل H مانند آن دقت کنید )

در این مدار می توان به راحتی با تغییر وضعیت کلید های ۱ و ۴ و همچنین کلید های ۲ و ۳، بدون هیچ زحمتی جهت موتور را تغییر داد. با الهام از طرح بالا، به طرح زیر برای استفاده در دو رله می رسیم:

تصویر بسیار گویاست؛ با تغییر وضعیت رله ها، نوع قطب دو سر موتور تعیین می شود. برای خاموش کردن موتور هم می توان همزمان هر دو رله را در وضعیت A یا B قرار داد.