روزنوشت این روزها…

۱- الان شبکه آی‌فیلم داشت یک «نماهنگ» نشون می‌داد؛ یک مداح بسیار پیر (جای پدربزرگ من بود!) داشت شعری را می‌خواند و گروه استودیویی‌اش شعر را رسماً به آهنگ بندری تبدیل کرده بودند! البته من که خودم آن شب آنجا نبودم ببینم، اما کلیپ‌های تدوین نشده از شعرخوانی‌های مهمانانِ تریبونِ آن «خانواده»، دارند خبر از موسیقی زنده می‌دهند. شاید تا چند سا… ماه دیگر شاهد ارکستر گیتار و ویولون، پای منبر بعضی مداح‌ها هم باشیم. آخر می‌دانید، گیتار و ویولون خیلی صدای غمناکی دارند و می‌توانند حق مجلس اباعبدالله را ادا کنند!

۲- شیخ قاری کویتی‌ها۱، مشاری العفاسی «نماهنگ»ای ضد ایران ساخته بود و فضای فجازی رو به هم ریخته بود. داشتم می‌گشتم که دیدم یکی از صفحات عربی نوشته «…مطرب يغني ضد إيران»

«غنا»؟ چه لغت آشنایی! قبلا کجا شنیده بودم؟

 

۱ البته کدوم کویتی‌ها؟ مگه کویتی‌ها شیعه نبودن؟ اگر دوست دارید در مورد نفوذ وهابیت در کویت اطلاعات کهنه داشته باشید، شاید کتاب «سفرها و خاطره‌ها»ی دکتر تیجانی برای شما مناسب باشه.

ذخیره رمز عبور گیت

اگر با VSCode از گیت و مخصوصا گیت‌های غیر از GitHub در این روزها استفاده کرده باشید، حتما با این نکته‌ی آزاردهنده مواجه شده‌اید که نام کاربری و رمزعبور Remote با هر درخواست از شما پرسیده می‌شود. برای ذخیره آن می‌توان از Credential Manager گیت یا سیستم‌عامل استفاده کرد؛ فقط روی لینوکس مراقب باشید، چون آن‌ها به صورت متن ساده روی رایانه شما ذخیره می‌شوند.

برای ذخیره دائمی این دستور را در ترمینال اجرا کنید:

 

برای ذخیره موقت (مثلا ۱ ساعت):

 

مخازن ملی نرم افزار

در شرایط فعلی که به علت قطع اینترنت دسترسی به مخازن اصلی وجود ندارد (و اگر داشت هم برخی به علت تحریم در دسترس نبودند) دو منبع زیر می تواند برای ادامه فعالیت بسیار مفید باشد:

  1. ابزارهای گروه «چابگان» شامل میرورها، گیت و…
  2. میرورهای cdn.ir که شامل میرور apt، داکر و… است و طبق تجربه بسیار خوب عمل کرد. راهنمای کار با آن را اینجا بخوانید.

دیتابیس json شهرهای ایران همراه با مختصات مکانی

برای یکی از پروژه‌ها احتیاج داشتم تا لیست تمامی استان‌ها و شهرهای معروف آن‌ها را همراه با مختصات مکانی سه‌بعدی (طول جغرافیایی، عرض جغرافیایی و ارتفاع از سطح دریا) را داشته باشم تا کاربر بتواند با انتخاب استان/شهر، فیلدهای مختصات جغرافیایی را پُر کند.

در کمال تعجب دیتابیس آماده‌ای از آن پیدا نکردم، بنابراین، یک دیتابیس شامل 344 شهر جمع‌آوری کردم و در قالب json در گیت‌هاب خودم منتشر می‌کنم:

از GitHub Gist من دریافت کنید

قالب آن به این صورت است:

 

برای تویی که دیگر نیستی…

خدا چقدر ناگهانی تو را از ما گرفت؛ زندگی به همین عجیبی به پایان می‌رسد. آن شبی که در چینی کرمی من بودی و دیدمت و گفتم «خب الحمدلله از همیشه بهترند»، و بعد ظرف دو ماه اینطوری شد…

کاش آن روزی که گفت «آقازاده‌ها اینجا هستند» و تو ذوق کردی و ما ذوق کردیم، بیشتر پیشت می‌ماندم.

کاش روزهای آخر جرئت می‌کردم و دستت را می‌بوسیدم؛ همان موقعی که از بالای تخت ما را نگاه می‌کردی…

کاش دستت را به نرده‌ها می‌گرفتی و «بالا» می‌آمدی…

کاش…

د آخه…

در یک مراسم بسیار مذهبی، در یک مکان بسیار مذهبی و با حضور بانوان بسیار مذهبی (مراسم روز مادر است) هستم و جلوی خودم را گرفته‌ام تا به مجریّن مراسم بابت ادبشان فحش ندهم!

اگر اینجا هم بانوی مذهبی و باحیا بناست در عذاب باشد (که می‌بینم)، پس… ؟

سيموت أو لا؟

باشد قبول، «الباطِلُ‏ یمُوت‏ بِتَرك‏ ذِكرِه»! اما این طوری که شما ولش کردید و آن‌ها سخت مشغول Streamاند، سکوتتان بیشتر شبیه علامت رضاست! و طولی نمی‌کشد که «كَيْفَ بِكُمْ إِذَا رَأَيْتُمُ اَلْمَعْرُوفَ مُنْكَراً وَ اَلْمُنْكَرَ مَعْرُوفاً؟!»…

 

پ.ن: حالا بماند که این جمله اصلاً حدیث نیست!

کراس کامپایل gcc armhf روی Debian

یکی از مشکلات برنامه‌نویسی پروژه‌ها روی چیپ‌های اقتصادی و نهفته‌ی دستگاه‌ها مانند نانوپای یا Luckfox Pico، این است که کامپایل برنامه‌ها روی آن‌ها بسیار طولانی و زمان‌بر است. در این مواقع امکان کامپایل میان-پردازنده‌ای (Cross-Compile) موجب افزایش سرعت بیلد و توسعه‌ی پروژه می‌گردد.

در این آموزش کوتاه یاد می‌گیریم که چگونه روی Debian (من به صورت WSL روی یک رایانه x64 نصب کرده‌ام)  برنامه‌ی C یا C++‎ را برای لینوکس armhf کامپایل کنیم.

 

1- ایجاد sysroot مخصوص Armhf با افزودن معماری Armhf به دبیان

 

2- نصب برنامه‌ها و کتابخانه‌های موردنیاز روی دبیان (نسخه‌ی مخصوص armhf به کمک علامت «:»)

 

3- تنظیم CMake

حالا CMakeLists.txt را به نحوی تنظیم می‌کنیم تا تنظیمات کلی و بدون مشکل برای معماری‌های مختلف در آن قرار گیرد:

 

و تنظیمات وابسته به بیلد armhf در cmake/Toolchain-armhf.cmake قرار می‌گیرد:

 

4- تنظیم Toolchain، نوع کامپایل، پوشه‌های سورس و خروجی و در نهایت، بیلد

برای مطمئن شدن از نوع معماری خروجی کامپایل، می‌توانید از دستور file استفاده کنید.