پشتیبان‌گیری با rsync, cron, dropbox

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

ولی نکته این‌جاست که با این کار مهم‌ترین مزیت سیستم‌های تحت وب را از دست داده‌ام. چطور؟ اول این که قابلیت انتقال این فایل‌های مهم را از دست داده‌ام و ثانیا این که نمی‌توانم ازشان یک backup درست درمان داشته باشم! نمی‌توانم؟ خوب دروغ گفتم‌، قرار است در نگاه اول این‌طور به نظر برسد! با چند ابزار ساده و به درد بخور لینوکسی، کمی هم چاشنی Dropbox ‌، هم می‌شود قابلیت انتقال را داشت و هم backup!

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

مقدمه‌ای بر IRC

مقدمه

شروع کارم با IRC به مدت‌ها قبل بر می‌گردد‌. اما همین چند وقت پیش که نیازم به ارتباط همزمان‌، آن هم با دنگ و فنگ‌های چت GMail (که خودتان دلیل عمده‌اش را بهتر از من می‌دانید) بیشتر شد سعی کردم با این ابزار و امکاناتش بیشتر آشنا شوم. در این پست قصد داریم کمی با این ابزار قدیمی‌، ولی خیلی خیلی کاربردی آشنا شویم. در حد مثلا قطره از دریا ;-)

این دیگر چیست؟

IRC را به صورت ناشیانه می‌توان‌، شهری بزرگ دانست که به محلاتی کوچک (شبکه‌ها) که عمدتا‌، هدف خاصی دارند تقسیم شده. مثلا محله‌ای برای نرم‌افزار‌های آزاد (Freenode) یا مثلا محله‌ای برای هکر‌ها الکترونیک و الی آخر. هر کدام از این محلات به تعداد زیادی خانه (Channel) تقسیم شده‌اند که در آن‌ها تنها حول موضوع خاصی صحبت می‌شود. مثلا زبان برنامه‌نویسی C یا توزیع Slackware. یک‌جور‌هایی مثل همان اتاق‌های چت است که احتمالا اگر هم دوران من باشید‌، خوب به خاطر دارید.

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

این ایمکس دوست داشتنی (غلط‌گیر املایی)

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

تنظیم aspell

خوشبختانه Emacs به صورت پیش‌فرض بستهٔ ispell را همراه دارد که قرار است کمک‌مان کند. اول از همه با دستور زیر برنامهٔ غلط‌گیر املایی مورد نظرم را جایگزین برنامهٔ پیش‌فرض ispell می‌کنم.

(setq ispell-program-name "aspell")
(setq ispell-list-command "list")

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

از وردپرس به نیکولا

خیلی وقت بود که به فکر انتقال وبلاگم به یکی از سیستم‌های وبلاگ ایستا (Static) بودم. عمده‌ترین دلیلش هم قابلیت خوب Github برای انتشار چنین وبلاگ‌هایی بود. اما بیشتر از یک سال این فکر را عقب انداختم تا دیگر کم کم نگهداری از هاست و دامین وبلاگ آن هم با نوع سرویس دهی شرکت‌های ایرانی‌، برایم خسته کننده شد. وبلاگ‌نویسی قرار نیست تمام فکر و ذکرم را به خودش مشغول کند‌! قرار است یک جای ساده باشد که خیلی راحت بتوان تویش نوشت و منتشر کرد. (الان که دارم می‌نویسم‌، دامین اصلی وبلاگم Shahinism.com لنگ به هواست و نمی‌توانم DNS را به هاست قبلی منتقل کنم)

چرا یک وبلاگ ایستا؟

خوب به طور کلی دلایلش از این قرارند:

  • سرعت‌، سرعت‌، سرعت: دیگر در این نوع از وبلاگ‌، خبری از پایگاه داده نیست. همین‌طور قرار نیست هیچ پردازشی در سمت سرور وبلاگ قرار گیرد. و خوب طبیعتا خیلی خیلی امکاناتی که این ابزار‌ها فراهم می‌کنند را نمی‌توانم داشته باشم. اما حقیقتش در یک وبلاگ‌، به بسیاری از این ابزار‌ها نیاز ندارم. به هر حال این نبودن‌ها‌، یعنی سرعت بیشتر. در مورد من‌، سرعت لود صفحات‌، حدودا سه برابر بیشتر شد.
  • سادگی: فکر نمی‌کنم چیز زیادی در این زمینه برای گفتن باقی گذاشته باشم.
  • امنیت: وقتی تنها با صفحات سادهٔ HTML روبرو هستید. وقتی یک سیستم انتشار قابل اطمینان دارید‌‌، دیگر نباید نگران آپدیت بودن ابزار وبلاگ‌نویسی‌تان و یا هک شدنش باشید. این‌طور نیست؟
  • محدود نبودن پهنای باند: این یکی از آن کابوس‌هایی است که بی‌خبر به سراغ‌تان می‌آید. ولی خوب خوشبختانه روی گیت‌هاب‌، این نگرانی را نداریم ;-)
  • قابلیت بازیابی: خوب این یکی زیاد مربوط به خود سیستم وبلاگ‌نویسی نیست. ولی چون نتیجهٔ کارش را می‌توان با هر سیستم دلخواهی منتشر کرد و من گیت را انتخاب کرده‌ام‌، خیلی راحت می‌توانم در صورت گند زدن‌، بدون هیچ استرسی آن را به حالت قبل برگردانم. این قابلیت روی هاست‌های اشتراکی پولی و گران است و در سرور‌های اختصاصی‌، خیلی پر دردسر‌تر از چیزی که در این‌جا با آن طرفیم ;-)

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

این ایمکس دوست داشتنی (بالانس کردن پرانتز‌ها)

(electric-pair-mode)
(show-paren-mode)

خوب با خط اول‌، به ایمکس می‌گوییم‌، هر وقت ما پرانتزی (که شامل تمام علاماتی است که در بالا اشاره کردیم) باز کردیم‌، خودت به صورت خودکار‌، کاراکتر بستن آن را وارد کن. همین‌طور در خط دوم مجبورش می‌کنیم وقتی روی پرانتزی هستیم‌، اگر جفتی برایش وجود دارد‌، آن را برایمان نمایش دهد (هر دو طرف پرانتز سبز می‌شود معمولا‌. با توجه به تنظیمات پوستهٔ ایمکس)‌. اگر نه‌، سمتی که رویش ایستاده‌ایم را قرمز کن تا بفهمیم تنهاست ;-)

نمونه‌ای از نمایش جفت پرانتز در ایمکس نمونه‌ای از نمایش جفت پرانتز در ایمکس

بخش اول کار که معلوم است. ولی این بخش دوم قابلیت‌های جالب دیگری هم دارد. مثلا می‌توان با(setq show-paren-delay 0) میزان زمانی که طول می‌کشد تا جفت کاراکتر پرانتزمان را نمایش دهد را تعیین کنیم. از قرار به طور پیش‌فرض مقداری Delay تعیین شده که ما با این دستور می‌توانیم صفرش کنیم. من این کار را نکردم چون به نظرم سر موقع نمایش داده می‌شوند.

همین‌طور می‌توان با(setq show-paren-style 'MODE) تعیین کرد که نمایش هر جفت پرانتز چطور باشد. که برای این کار باید عبارت MODE را با یکی از سه گزینهٔ زیر جایگزین کنیم:

  • parenthesis که مد پیش‌فرض است و فقط پرانتز‌های دو طرف را نمایش می‌دهد.
  • expression که علاوه بر پرانتز‌ها‌، متن درونشان هم برجسته می‌شود.
  • mixed که اگر پرانتز‌ها بالانس باشند مثل مد parenthesis عمل می‌کند و گرنه مثل expression.

به همین سادگی می‌توانید آن‌طور که می‌خواهید این رفتار ایمکس را هم کنترل کنید.

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