ترمیم زیرنویس‌های نامفهوم با سی‌شارپ

subfixerمن دوست دارم فایلای ویدیویی رو روی سیستم اصلی بریزم و اکثرا با تلویزیون یا لپتاپ تماشا کنم. مشکل اینه که هر برنامه ای یک تعبیر پیشفرض از زیرنویس داره مثلا VLC که روی لپتاپ استفاده می‌کنم تنظیم شده روی UTF-8 یا اکثر تلویزیون‌ها همیشه windows-1256 و UTF-8 رو قبول دارن. اما برنامه (هایی) که عزیزان مترجم ازش استفاده می‌کنن همیشه یا خروجیش UTF-16 هست و یا WINDOWS-1256 که این تداخل باعث می‌شه گاهی وقتا زیرنویس خرچنگ قورباقه نمایش داده بشه.

برای همین می‌خوام سناریوی یک برنامه ساده با سی شارپ رو توضیح بدم که کارش ترمیم زیرنویس‌های نامفهوم و هماهنگ کردن اسم فایلها با اسم ویدیوهاست (توی تصویر مشخصه) – فرض کنید یک سریال ۲۲ قسمتی رو توی چند ثانیه میشه ترمیم کرد درصورتی که حالت عادی آدم خسته میشه از بس اسم‌ها رو تغییر میده بعد سایت به سایت دنبال ترمیم کننده می‌گرده و …

بیشتر بخوانید ←

راهندازی مودم huawei e3372 روی لینوکس

huawei e3372
مدتی پیش خیلی دنبال راه حل برای راهندازی این مودم گشتم اما چیزی پیدا نکردم برای همین تصمیم گرفتم حالا که راه حل رو پیدا کردم اون رو با بقیه هم به اشتراک بذارم.

درواقع این مشکل فقط برای کاربرانی که از معماری ۶۴ بیتی استفاده می‌کنن پیش میاد و علتشم اینه که کتابخانه‌های مورد نیاز برای این مودم ۳۲ بیتی هستن.

اول از همه وقتی که مودم رو وصل می‌کنید USB storage فعال می‌شه و شما می‌تونید محتویات داخل حافظه این مودم رو ببینید که در اونجا پوشه ای به اسم linux_mbb_install وجود داره که شما باید این پوشه رو روی هارد خودتون کپی کنید (از این مرحله به بعد بهتره مودم رو جدا کنید)

حالا تحت هر شرایطی که شده باید سیستم رو به صورت موقت به اینترنت وصل کنید (من از هات اسپات موبایل استفاده کردم) و کتابخانه‌های lib32stdc++6 و libusb-0.1-4:i386 رو دریافت کنید. من از توزیع KDE NEON استفاده می‌کنم که هسته اصلیش اوبونتو هست پس برای نصبش از دستور زیر استفاده کردم.

حالا از طریق خط فرمان پوشه ای که بالاتر بهش اشاره کردم رو باز کرده و فایل install رو با دسترسی روت اجرا کنید.

حالا دوباره مودم رو وصل کنید و لذت ببرید 🙂

استفاده از electron بعنوان رابط کاربری برای پایتون

electron image
همه حداقل یک بار اسم electron به گوششون خورده. ایده این که «همه چیز یک وبسایت است» خیلی جذاب به نظر میاد. اما جاوا اسکریپت فعلی نمی‌تونه فراتر از یک حدی رشد کنه چیزایی مثل Heavy sandboxing، ارتباط با قطعات سخت افزاری و حتی توی بحث سوکت، IMAP و SMTP هم محدودیت‌های خودش رو داره.

اما پایتون از این طرف یک زبان برنامه نویسی با پتانسیل بالاست که در مقایسه با API های nodeJS می‌شه گفت پایتون بدون محدودیته ولی وقتی که بحث سر GUI باشه اشک توسعه دهنده رو در میاره. برای همین داشتم به این فکر می‌کردم که چطور از الکترون به عنوان رابط کاربری استفاده کنم درحالی که هسته اصلی برنامه با پایتون باشه ؟

بیشتر بخوانید ←

نصب composer روی ظرف رسمی php

docker-thumbnail

اگر شما هم از داکر برای ایجاد محیط توسعه استفاده می‌کنید شاید براتون این سوال پیش اومده باشه که چرا composer روی ظرف رسمی PHP نصب نیست؟

دلایل زیادی برای نصب نکردنش وجود داره مثلا این ظرف هدفش بهینه بودن برای استفاده در محیط محصول هست. از طرفی composer رو نیاز نداریم که توی محیط محصول نصب کنیم چون توی اون محیط برنامه نهایی درحال اجراست.

به هر حال در مورد این مسئله یک بحث طولانی شده و نتیجه هنوز هم نامعلومه. شاید در آینده بعنوان اسکریپت اضافه بشه تا مثل helper ها ازش استفاده کرد.

اما اگر هنوز هم نیاز دارید تا اون رو نصب کنید دستورات زیر رو به dockerfile خودتون اضافه کنید.

\ RUN set -x
\ curl -sS https://getcomposer.org/installer | php &&
mv composer.phar /usr/local/bin/composer &&

من خودم از توزیع اوبونتو ۱۶.۰۴ استفاده می کنم و ترجیه دادم که composer رو به صورت گلوبال روی سیستمم نصب کنم. برای این کار کافیه فقط php5.6-cli و php5.6-curl رو نصب کنم.

sudo add-apt-repository ppa:ondrej/php
sudo apt-get update
sudo apt-install php5.6-curl php5.6-cli
curl -sS https://getcomposer.org/installer | php
mv composer.phar /usr/local/bin/composer &&

اگر روی ویندوز از داکر استفاده می کنید روش اول بهتره و اگر میخواید composer رو به صورت گلوبال روی ویندوز داشته باشید باید باینری php برای ویندوز رو نصب کنید و بعد composer رو برای ویندوز دانلود کنید (چون این ابزار به php.exe نیاز داره)

نصب LAMP به صورت خودکار

نصب کردن LAMP واقعا کار سختی نیست اما توی گروه اوبونتو چندتا از دوستان توی نصب و دنبال کردن دستورات مشکل داشتن برای همین این اسکریپت رو نوشتم تا نصب رو به صورت خودکار انجام بده.

همونطور که از کدها مشخصه فقط برای توزیع دبیان و اوبونتو کار می‌کنه. بعد از نصب این لینک باید براتون کار کنه.

ترمیم زیرنویس های نامفهوم به صورت گروهی

bash

هیچ چیزی مزخرف تر از این نیست که سریال ببینی و زیرنویس هاش همه خراب باشن ! خصوصا برای من که اصلا طرفدار انجام کارهای تکراری نیستم. برای همین این اسکریپت ساده رو نوشتم تا زیرنویس ها رو به صورت گروهی ترمیم کنه.

برای استفاده از این اسکریپت قبلش باید پکیج uchardet رو دریافت کنید.
sudo apt install uchardet

کافیه اسکریپت رو توی دایرکتوری زیرنویس ها قرار بدید و با دستور bash subfixer.sh اون رو اجرا کنید.
سعی کردم با دستور file -bi کار تشخیص encoding زیرنویس رو انجام بدم اما نمیتونست windows-1256 رو تشخیص بده. البته ناگفته نماند که uchardet هم درست تشخیص نمیده و فکر میکنه که x-mac-cyrillic هست. حداقل این پکیج بقیه رو درست میگه و برای اونی هم که اشتباه میگه میشه یه شرط گذاشت و تصحیح کرد. (خط ۱۱)

نکته دیگه اینکه دستور iconv نمیتونه فایل هایی که توی اسمشون فضای خالی وجود داره رو باز کنه. برای همین خط ۶ اسم فایل ها رو تغییر میده و فضای خالی رو با زیر خط (underscore) جایگزین میکنه.

آموزش کار با افزونه IMDBi

افزونه imdbiاطلاعیه ۲۰ بهمن ۹۵ – سرویس OMDB API برای مدت نامعلوم غیرفعال شده. این پروژه برای من به بن‌بست رسیده و زمان کافی برای ادامه اون ندارم لطفا از ارسال ایمیل خوداری کنید.

آپدیت ۱۸ مهر ۹۵ – رفع مشکل ثبت نشدن برخی از شناسه های imdb – به احتمال زیاد این آخرین‌ آپدیت افزونه هست و من زمان کافی برای توسعه اون رو ندارم اگر کسی تمایل به مشارکت در این پروژه داره حتما با من تماس بگیره.

امروز قصد دارم چند خطی درمورد نحوه استفاده از افزونه IMDBi بنویسم. آپدیت ۲.۰.۱ نکات ریزی رو به هسته افزونه اضافه می‌کنه که باعث بهبود کارایی و رفع مشکلات گزراش شده می‌شه پس اول با لیست تغییرات شروع می‌کنم.

لیست تغییرات نگارش ۲.۰.۱

  • رفع خطای نمایش جعبه دریافت اطلاعات در پست تایپ های اختصاصی.
  • اضافه شدن پارامتر rank برای مشخص کردن رتبه فیلم در لیست ۲۵۰ فیلم برتر.
  • ترجمه فیلد زبان.
  • توسعه عملکرد توابع افزونه.

البته لازمه به این نکته اشاره کنم که برای نصب این نگارش باید از وردپرس ۴.۴.۰ و یا بالاتر استفاده کنید.
بیشتر بخوانید ←

معرفی Blisk مرورگری برای توسعه وب

blisk

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

خب اگر با همون مرورگری که قراره وب رو تماشا کنیم، به توسعه وب بپردازیم چند تا مسئله کوچیک پیش میاد. مثلا شاید افزونه ای که الان شما نصب کردین روی کدهای جاوا اسکریپت تاثیر بذاره و تازه شاید افزونه ای باشه که هر کاربری اون رو نصب نکنه. یا اگه نیاز داشته باشیم کوکی ها رو پاک کنیم یا local storage رو دستکاری کنیم که خب روی تنظیماتی که برای دیدن وب انجام دادیم تاثیر میذاره. بنابراین ایده اینکه یه مرورگر جدا برای توسعه وب داشته باشیم با عقل جور در میاد.

بیشتر بخوانید ←

سیر تا پیاز توسعه وردپرس با VVV روی ویندوز

لوگوی Vagrant

برای یک تازه کار که قصد یادگیری وردپرس رو داره شاید ابزار هایی مثل wamp server کافی باشه. اما خیلی وقت ها توسعه توی این محیط ها فاصله زیادی با محیط نهایی محصول داره و این شکاف باعث میشه بعد از انتشار محصول خطاهای زیادی سروکله شون پیدا بشه.

یکی از راه حل های جایگزین برای رفع این مشکل نصب Vagrant و استفاده از Box هاشه که بحث امروزه. راه دیگه هم که شاید سختی بیشتری داره استفاده از Container های ابزاری به نام Docker هست که نه تنها توی زمینه توسعه وردپرس بلکه توی توسعه خیلی چیزای دیگه سنگ تموم گذاشته.

بیشتر بخوانید ←

نگارش دوم افزونه IMDBi

افزونه imdbi

آپدیت ۱۸ مهر ۹۵ – رفع مشکل ثبت نشدن برخی از شناسه های imdb – به احتمال زیاد این آخرین‌ آپدیت افزونه هست و من زمان کافی برای توسعه اون رو ندارم اگر کسی تمایل به مشارکت در این پروژه داره حتما با من تماس بگیره.

آپدیت ۱۹ خرداد ۹۵  – اضافه شدن قابلیت غیرفعال سازی دانلود خودکار پوسترها به صفحه تنظیمات و رفع باگ url-fopen

آپدیت ۳ خرداد ۹۵ – الان میتونید از  قالب نمونه برای نمایش اطلاعات افزونه استفاده کنید. کافیه کدهای css رو توی فایل style.css پیست کنید و بقیه کدهارو توی حلقه مطالب قرار بدید (مثلا فایل single.php) همچنین اگر با کدنویسی آشنایی دارید میتونید کدهاتون رو بر اساس مثال بدون markup استایل دهی کنید.

فلاش بک

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

توی نگارش جدید چه خبره؟

  • بازنویسی تمام کد ها طبق استاندارد wppb.
  • تعیین اندازه پوستر.
  • ترجمه خودکار مقادیر.
  • ترجمه افزونه به زبان انگلیسی.
  • اضافه شدن سه فیلد دیگر (تریلر – بودجه – سودخالص)
  • امکان ویرایش مقادیر متاباکس.
  • نمایش متاباکس در پست تایپ های اختصاصی.
  • بهبود عملکرد خزنده و دریافت دقیق تر اطلاعات.
  • دانلود و ذخیره پوستر ها بعنوان تصویر شاخص.
  • بهبود عملکرد کدهای کوتاه
  • بهبود عملکرد توابع (راهنمای توابع)

بیشتر بخوانید ←