بایگانی دسته: فناوری

مباحث آی‌تی ما!

به نظرتون توسعه GTranslate رو ادامه بدم؟

چند روز پیش توی گشت و گذاری که توی کروم استور داشتم، فهمیدم که نسخه دوم افزونه رسمی Google Translate، بالاخره قابلیت ترجمه از طریق راست کلیک رو اضافه کرده (+ یک قابلیت دیگه که اجازه میده ترجمه رو زیر کلمه‌ای که انتخاب کردید ببینید. البته با توجه به سرعت اینترنت یه ذره طول می‌کشه بیاد)

موضوع اینه که چند سال پیش وقتی این افزونه رو درست کردم، برای این بود که هیچ افزونه دیگه‌ای برای این کار نبود. ولی الان با توجه به این‌که دوتا افزونه‌ی پرطرفدارتر از GTranslate هستن که کارایی‌شون مشابهه، در یک دو راهی گیر کردم که آیا توسعه رو ادامه بدم یا نه.

نظر شما چیه؟

معرفی نرم‌افزار WebMatrix: ویرایش سایت و کار کردن با کلی زبان برنامه‌نویسی

با این‌که خیلی‌ها نظرشون نسبت به مایکروسافت منفیه ولی من از این شرکت خوشم میاد. حداقل در زمینه‌ی برنامه‌نویسی به نظرم بهترین ابزارهای برنامه‌نویسی و بهترین زبان برنامه‌نویسی مال این شرکته.

فکر کنم از سال ۲۰۱۰، مایکروسافت نرم‌افزاری به اسم WebMatrix رو معرفی کرد که برای ویرایش سایت‌ها بود. یعنی شما سایت‌تون رو بهش اضافه می‌کردید (از طریق لوکال، Web Deploy یا چندتا تکنولوژی دیگه) و بعد با استفاده از اون می‌تونستید سایت‌تون رو ویرایش و به‌روز رسانی کنید.

مثلا من با Web Deploy به سرور وصل می‌شم و کدهای دو برنامه‌نویس رو با کمک وب‌ماتریکس ویرایش می‌کنم که خیلی راحت‌تر از ویرایش‌گر وردپرسه!

Screenshot (19)

و چون این نرم‌افزار مال مایکروسافته (!) بعیده که خیلی از آدم‌ها باهاش کار کرده باشن. ولی نرم‌افزار خوبیه و ارزش امتحان کردن رو داره. حداقل یک ویرایش‌گر خوب برای فایل‌های وب‌تون خواهید داشت :)

پی‌نوشت با CTRL+ K و بعد CTRL + D می‌تونید کدتون رو مرتب کنید و این امکان بیش‌تر از چیزی که فکر می‌کنید کاربردیه :)

تغییر رفتار تاچ‌پد توی فدورا

من این رو این‌جا و پیدا کردم که برای اوبونتو توضیح داده بود، ولی توی فدورای من هم جواب داد و خوشحالم کرد :)

موضوع اینه که من از تاچ‌پدهای جدید که با زدن دوتا انگشت، بجای Middle Click، راست‌کلیک می‌کنن (و کلا قابلیت Middle Click ندارن) متنفرم!‌ یه دلیل‌ش اینه که توی وب‌گری، Middle Click خیلی کاربردیه و وقتی تاچ‌پدتون این رو نداشته باشه دردسرتون زیاد می‌شه. دلیل دیگه‌ش هم اینه که لپتاپی که ۴ سال باهاش دارم زندگی می‌کنم :) مثل بچه‌ی آدم برای ضرب (Tap) دو انگشتی، Middle Click رو در نظر گرفته و برای ضرب سه انگشتی راست کلیک.

دیروز که با فدورا با میزکار KDE کار می‌کردم، یکی از ویژگی‌های خوبش این بود که می‌شد توی تنظیمات‌ش بهش گفت که ضرب ۲ انگشتی چه کاری انجام بده و ضرب ۳ انگشتی چه کاری در صورتی که توی گنوم (بخونید نوُم)، من چنین چیزی ندیده بودم (حتی توی Tweak Tool).

و مثل همیشه گوگل به کمک شما میاد! همون‌طور که اول گفتم، مقاله‌ی منبع برای اوبونتو ذکر کرده بود ولی روی فدورا ۲۱ من با میزکار گنوم هم کار کرد (البته بعید می‌دونم به میزکار ربطی داشته باشه)

synclient TapButton2=2 && synclient TapButton3=3

پی‌نوشت منطقا فدورا سیستم عامل پیش‌فرض منِ برنامه‌نویس دات‌نتی نیست :) و تا وقتی که ویژوال استودیو برای لینوکس عرضه نشه (شتر در خواب بیند پنبه‌دانه :) ) هم نخواهد بود ولی من لینوکس و فدورا رو دوست دارم و خوش می‌گذره بهم توی این سیستم‌عامل :)

به‌روزرسانی در کمال تعجب، بعد از یه مدتی که این دستور رو زدم تنظیمات به حالت اولیه (ی نفرت اگیز!) برگشتن. بعد از کمی جست‌وجو، فهمیدم که باید به گنوم بگم که تنظیماتت رو هی به سیستم نگو! (چون واقعا تنظیمات synclient رو داشت عوض می‌کرد!)

برای این‌کار: dconf-editor رو اول نصب و بعد اجرا کردم (Dconf رو که سرچ کردم، بخش سرچ گفت توی استور چنین چیزی داریم و من هم از همون‌جا نصبش کردم (و در کمال تعجب با yum در حال اجرا در بک‌گراند تداخل نکرد.) و بعد رفتم به آدرس /org/gnome/settings-daemon/plugins/mouse/ و تیک active رو ورداشتم فوقع ما وقع :))

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

شاید بدونید که من الان دانشجوی ترم یک کامپیوتر دانشگاه تهرانم. برای درس مبانی، اساتید تصمیم گرفتن که بچه‌ها از Visual C استفاده کنن.

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

چند روز پیش، یه دوستی از همین TAها داشت می‌گفت که ما هر چی به استاد‌ها گفتیم بیاین از gcc استفاده کنین قبول نکردن. و بعدش توضیح داد که می‌تونین از CodeBlocks استفاده کنین که مطمئن بشین روی کامپیوتر همه‌ی ما ها درست اجرا میشه.

خب، تا این‌جا حرف‌ها منطقی بود. اما بخش‌های غیرمنطقی:

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

facepalm-bear-2

اوضاع وقتی بدتر شد که توی سایت Codeblocks رو گذاشت، و نوشت «[…] محیط برنامه‌نویسی استاندارد رو تجربه کنید!»

شاید یه نسخه از زبان سی استاندارد باشه، ولی محیط برنامه‌نویسی؟ نه!

***

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

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

بنابراین، بیایید زامبی نباشیم! چه اپل، چه مایکروسافت و چه لینوکس. هر چند الان طوریه که مردم بیشتر از مایکروسافت بیچاره و مظلوم بدشون میاد :)

پی‌نوشت: لینوکسی بودن یه چیزه، لینوکس‌زامبی بودن یه چیز دیگه. دسته‌ی اول خیلی دوست‌داشتنی هستن برای من، ولی دسته‌ی دوم به هیچ وجه!

پاک‌سازی ایمن فضای هاست

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

نتیجه جالب بود: هاست ۲۰۰ مگ فضا داشت و ۷۲مگ اون رو پوشه‌ی public_html تشکیل می‌داد. قضیه چیه؟

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

سی‌پنل چندتا ابزار آمارگیری مجزا و سیستم‌های لاگ‌کردن داره و اطلاعات اون‌ها رو توی پوشه‌ی tmp نگه می‌داره. و جالب این که این پوشه حدود ۹۰ مگ فضای هاست عادل رو اشغال می‌کرد و خیلی از کاربرها حتی نمی‌دونن اون ابزارهای آمارگیری چی هست!

من هم محتویات اون پوشه رو پاک کردم (قبلش از عادل پرسیدم که آیا لازم داره اون‌ها رو یا نه و عادل گفت نمی‌دونه اون ابزار چی هستن!) و به همین سادگی مشکل اشغال‌کردن فضای هاست حل شد.

حالا شما هم اگه به اون اطلاعات (مثل لاگ هاست‌تون) نیاز دارید می‌تونید ازشون روی کامپیوتر خودتون بک‌آپ بگیرید و بعد اونا رو از روی هاست پاک کنید.

جالبیش اینه که سرویسی که به عادل هاست می‌ده هم نامردی نکرده و سه‌تا سیستم آمارگیری روش فعال کرده (و خوب این خودش باعث پر شدن فضا و در نتیجه خریده‌شدن فضا می‌شه دیگه! نمی‌شه؟)

 

حل مشکل فونت توی آپدیت جدید کروم بتا (احتمالا فقط توی ویندوز ۸)

کروم بتا چند روز پیش آپدیت شد و از اون به بعد دیگه فونت تاهوما رو درست نشون نمی‌داد. منم اعصابم داغون شد و برگشتم به فایرفاکس. ولی مهدی (که احتمالا گزینه‌ی جایگزین نداشته :) ) دنبال راه‌حل مشکل گشت و پیداش کرد.

برید توی chrome://flags و Disable DirectWrite رو پیدا کنید و فعال‌ش کنید. بعد کروم رو ری‌ست کنید و از فونت تاهوماش لذت ببرید :)

پی‌نوشت: مثل این‌که این مشکل توی ویندوز ۸ پیش میاد. چون من توی سرور کروم بتا ریختم و فونتش سالم بود. (و مهدی هم به اعتبار همین قضیه کروم رو ریخت)

Channel9: یه سایت خوب برای یادگیری تکنولوژی‌های مایکروسافتی

جدیدا سرویس‌های آموزش ویدیویی آنلاین خوبی راه‌اندازی شدن و دارن کار می‌کنن. سرویس‌هایی مثل Coursera و Khan Academy که کارشون هم خوبه.

مایکروسافت قبلا یه سرویس آموزش آنلاین داشت به اسم Microsoft Virtual Academy مثل بالایی‌ها بود: به دانش‌آموزها امتیاز می‌داد و از این جور کارا.

ولی مایکروسافت یه سرویس جمع‌وجورتر هم داره به اسم Channel9 که کارش صرفا اشتراک ویدیوییه و بخش‌های دیگه مثل آزمون یا انجمن نداره. ولی تا جایی که می‌دونم فیلم‌های ویرچوال آکادمی رو هم توش داره.

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

پی‌نوشت: دیروز متوجه شدم که کسی که آموزش ویندوزفون رو نوشته کل آموزش رو به صورت یک کتاب هم منتشر کرده. ینی غیر از این‌که بخواید ویدیویی آموزش ببینید می‌تونید از کتاب هم استفاده کنید.

چرا سی‌شارپ رو دوست دارم: چند ساعت موزیک یا ویدیو روی کامپیوترم هست؟

توی دات‌نت یه کتاب‌خونه‌ی خیلی خوب برای متادیتای موسیقی‌ها هست به اسم taglib-sharp که دست‌رسی راحت و تقریبا کامل به متادیتای موسیقی‌ها میده و توی ویندوز فون هم اپلیکیشن‌هایی ازش استفاده کردن (و کارش هم خوبه).

من هم با استفاده از همین کتابخونه تو سی‌شارپ یه برنامه نوشتم که طول همه‌ی آهنگ‌ها رو جمع بزنه نشون بده. برنامه‌ی ساده اینه:

string path = Console.ReadLine();
float all = (float)((new DirectoryInfo(path).GetFiles("*.*", SearchOption.AllDirectories)).Count());
TimeSpan lenght = new TimeSpan();
foreach (var item in new DirectoryInfo(path).GetFiles("*.*", SearchOption.AllDirectories))
{
    try
    {
        using (TagLib.File f = TagLib.File.Create(item.FullName))
        {
            lenght += f.Properties.Duration;
        }
    }
    catch { }
}
Console.WriteLine(lenght.ToString("c"));

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

Console.Title = "FileAide Tests";
string path = Console.ReadLine();
float all = (float)((new DirectoryInfo(path).GetFiles("*.*", SearchOption.AllDirectories)).Count());
float i = 0;
TimeSpan lenght = new TimeSpan();
Console.Clear();
foreach (var item in new DirectoryInfo(path).GetFiles("*.*", SearchOption.AllDirectories))
{
    i++;
    Console.SetCursorPosition(0, 0);
    Console.Write("{0}%", ((float)(i / all * 100)).ToString("0.00"));
    Console.SetCursorPosition(0, 1);
    Console.Write(i);
    Console.SetCursorPosition(0, 2);
    Console.Write(all);
    Console.SetCursorPosition(0, 3);
    Console.Write(lenght.ToString("c"));

    try
    {
        using (TagLib.File f = TagLib.File.Create(item.FullName))
        {
            lenght += f.Properties.Duration;
        }
    }
    catch { }
}

Console.ReadLine();

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

پی‌نوشت: Taglibsharp با فایل‌های mp4 و mkv هم کار می‌کنه (تا جایی که می‌دونم) ولی مطمئن نیستم که فرمت‌های دیگه‌ی ویدیویی رو هم پشتیبانی کنه. در هر صورت می‌تونید از این برنامه برای ویدیوهاتون هم استفاده کنید.

مواظب کرک‌ها باشید!

این مقاله راجع به کرک‌ها چیزای جالبی میگه (لینک‌ش رو مهدی به من داد!). دلیل این‌که صرفا توی «پیوندهای خوشمزه» نبود این بود که من MD5 نرم‌افزار IDMای که از سافت‌گذر دانلود کردم رو با کمک ابزار مایکروسافت با خود نرم‌افزار مقایسه کردم و MD5هاش فرق داشت!

این MD5 برنامه‌ی اصلیه: 5d5b33608cf168caaab4d8dfe537d552

و این MD5 فایل سافت‌گذره: 6d7fe5aea7bad9740f07d77da0c2a8f4

چجوری یه فایل exe رو تبدیل به سرویس کنیم

بعد از تبدیل Aria2.exe به یه دستور کامند لاین میخواستم ازش به عنوان یه دانلودر کلاود استفاده کنم. ینی یه جایی باشه که با مرورگرم بازش کنم و از اون‌جا بتونم دانلود‌های Aria2م رو کنترل کنم.

جز این‌که این پروژه برای بخش وب نیاز بود (و واقعا هم کارش خیلی عالیه!) باید به Aria2 می‌فهموندم که باز بمونه (که بشه به عنوان سرویس ازش استفاده کرد) و باید به ویندوز می‌فهموندم که Aria2 رو هربار که روشن شد باز کنه (استارت‌آپ وقتی شروع به کار می‌کنه که یوزر لاگین کنه و توی سرور یوزر همیشه لاگین نیست ولی یک‌سری چیزها مثل IIS باید باز بمونن!)

بعد از جست‌جو این سوال توی StackOverFlow رو پیدا کردم که راه‌حل اصلی‌ش کار نمی‌کرد (چون احتمالا ابزاری که خود ویندوز برای ساختن سرویس داره نمی‌تونه به فایل اجرایی آرگومان ورودی بده و برای اجرای Aria2 لازم بود که فایل config رو بهش توی آرگومان ورودی بدم) ولی یه راه‌حل دیگه هم توش بود که کار می‌کرد.