چگونه یک شمارنده معکوس بسازید

سیستم عاملی که من ازش استفاده می‌کنم گنو/لینوکس با طعم اوبونتو است. هسته اصلی این سیستم عامل لینوکس است، بسیاری از برنامه‌های مهم اون محصول پروژه گنو و گروهی که اینها رو دور هم چیدن، اسم این ترکیب خاص رو گذاشتن اوبونتو. دقیقا 2007-10-18 00:00:00 GMT+00:00 دیگه، نسخه جدید این سیستم عامل (یعنی ۷.۱ مشهور به « میمون شکمو شجاع ») بیرون می یاد و بدون خواستن پول یا هدر دادن وقت، از همون لحظه شروع می شه به دانلود شدن روی کامپیوتر من و یکهو بهم پیام می ده: به میمون شجاع خوش اومدی. لذت بخشه نه؟

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

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

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

و اون وقت کافیه هر جایی که می‌خواستید شمارنده دیده بشه بنویسید:

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

نمودار زمانی مرورگرهای تحت وب و یادی از مرورگر لینکس

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


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

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


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

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

انگار بد نیست یک برچسب «تاریخچه» هم باز کنم و گاهی درباره گذشته های دور بنویسم (:


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

میز کار گنوم ۱۰ ساله شد

امروز، میز کار گنوم ۱۰ ساله شد. این میز کار محبوب، فراهم کننده محیط پنجره ای و گرافیکی تحت لینوکس است. مثل همیشه لینوکس امکان این را به شما می دهد تا از بین تعداد زیادی گزینه، آنی که ترجیح می دهید را انتخاب کنید. انتخاب من بین میزهای کار، گنوم بوده است.

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


اما در طول این ده سال، پیشرفت بسیار زیاد بوده. حالا گنوم (روی کامپیوتر من) اینگونه است:


یک نوار در بالا حاوی کلیدهای میانبر، منوها، هوای حال حاضر تهران، تاریخ شمسی و میلادی، وضعیت فعالیت حافظه، پردازنده و شبکه کامپیوتر و دیکشنری و برنامه یادداشت برداری و … است. یک ماهی هم دارم که هر وقت اراده کنم یک حرف جذاب می زند (مثلا حالا! گفت: «با مجلسی که ما داریم، هر بار که جک تعریف کنند قانون می شود و هر بار که قانون درست کنند، جک می شود – ویل راجرز» ).

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

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

صفحه گنوم در ویکیپدیا

پروژه گنوم

گوشی گوگل هم لینوکسی خواهد بود

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

شکل این موبایل شبیه اون شکل بالایی است

این موبایل هم مبتنی بر لینوکس است

این موبایل هم مثل iPhone به احتمال زیاد با شرکت های بزرگ مخابراتی قرار داد خواهد داشت و کاملا آزاد نیست

تاریخ ارائه آن خیلی دور است: فصل اول ۲۰۰۸ و این خوب نیست چون ممکن است تا آن موقع خیلی چیزها عوض شده باشد

موبایلی که من می پسندم: نئو از شرکت اوپن موکو

حدود دو ماه قبل به سرم افتاد که گوشی موبایلم رو عوض کنم. اون زمان یک SonyEricson T610 داشتم که ازش راضی بودم ولی دنبال یک چیز جینگولتر با قابلیت های کامپیوتری تر بودم. مثلا امکان باز کردن پی دی اف و اینجور چیزها.

موبایل های اون دوره رو که گشتم، چیز جالبی به چشمم نخورد. حدود یک ماه قبل همون T610 بیچاره هم خراب شد و من شدم مصرف کننده موبایل های دست دوم دوستانی که گوشی های جدید خریده بودن (: انصافا هم گوشی های خوبی هستن این گوشی های قدیمی.

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

iPhone هم که اومد، مشکلات خودش رو داشت. فقط با AT&T کار می کرد، آزاد نبود و کلا به درد ما نمی خورد و مال خارجی ها بود.

اما امروز چیزی که می خوام اومده به بازار: NEO! عالیه. از شرکت OpenMOKO که الان سایتش داون شده و این داون بودن برام بذت بخشه چون نشون می ده که یکهو میلیون ها نفر ریختن توی سایت تا اولین کسانی باشن که این گوشی زیبای جدید رو می بینن یا می خرن:

چقدر زیبا! آدم لذت می بره. ایده ای شبیه به iPhone داره که در نتیجه اون هیچ کلیدی نداره و به جاش صفحه حساس به تماس انگشت است. کرنل لینوکس داره و در نتیجه توانایی اجرای برنامه های بازمتن یا برنامه نویسی براش. صفحه 2.8 اینچی، خواندن میکرو SD، پورت USB و 2.5G GSM.

نسخه فعلی به قیمت ناقابل ۳۰۰ دلار فروخته می شه تا برنامه نویسان بتونن بخرن و براش برنامه بنویسن. نسخه اصلی GTA02 از ماه اکتبر با قیمت ۴۵۰ دلار ارائه خواهد شد. اون نسخه به شبکه Wi-Fi وصل می شه، سنسور سه بعدی حرکت داره و یک شتاب دهنده گرافیکی. GPS هم که جزو اصلی سیستم است.

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

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

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

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

نئو برای اولین بار این قابلیت را برای شما به ارمغان می آورد.

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

چرا گنو/لینوکس برام جالبه ۳

اولین مساله، نکته کاملا به جایی است که دوست خوبم رضا در مطلب قبلی که درباره لینوکس نوشته بودم بهش اشاره کرده بود (سهیل هم نکته دیگه ای رو تذکر داده بود در جواب):

لینوکس هسته سیستم عامل است و گنو (GNU) مجموعه ای ابزارهای دور و بر اون پس درست تر اینه که به جای لینوکس خالی بگیم گنو / لینوکس. منطقا هم هر جا من بگم لینوکس منظورم گنو لینوکس است مگه اینکه تاکید خاصی بکنم که منظورم هسته سیستم عامل (یا همون Kernel) است.

اما امروز چرا لینوکس برام جالب شد ؟. ماجرا بر می گرده به دوست خیلی خوبم سینا و پست آخری که توی وبلاگش گذاشته بود. اونجا می گفت:

اگر نوشتن در وبلاگ باعث بشه دختری که بهش علاقه مند هستین تصویر نادرستی از شما در ذهنش بسازه، و حرف های شما رو بسیار نا مطلوب تفسیر کنه، چکار میکنید؟

من تصمیم گرفتم از امروز 1 آذر که این اتفاق افتاد تا 40 روز ننویسم.

تا چهل روز دیگه‌! چجوری منتظر بمونیم و بگیم نوشتن سینا برامون مهمه ؟ با یک لوگو. لینوکس بهمون کمک می کنه: دستور convert می تونه یک تصویر رو تغییر بده یا چیزی بهش اضافه کنه. پس من اول یک تصویر به این شکل درست می کنم:

درست ؟ حالا کافیه با یک اسکریپت کوچیک bash فاصله این لحظه تا چهل روز بعد از تاریخ پست سینا رو حساب کنم. اسکریپت رو به خاطر شلوغ نشدن اینجا نمی یارم ولی ساده. بعد به لینوکس دستور زیر رو می دم:

convert -draw ’text 40,10 “’$hours’”’ sina.jpg sinawillwrite.jpg

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

1 * * * * root /directory/sina.bash

و حالا هر یکساعت یکبار اون تصویر به روز خواهد شد. کافیه هر کس خواست اون رو به سایتش اضافه کنه:


http://jadi.hacked.in/sinawillwrite.jpg

می بینید ؟ لینوکس (منظورم گنو/لینوکس است) یک ابزار قوی است برای اجرای ایده ها و خوشحال کردن دوستان. برای این است که من دوستش دارم و عضو تهران لاگ هستم.

چرا لینوکس برام جالبه ۲

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

در لینوکس من از OpenOffice که یک نرم افزار آزاد و رایگان است به جای Office مایکروسافت استفاده می کنم. اول فایل اطلاعاتم که به این شکل است

texte - 416 bits

رو کپی و پیست می کنم در نرم افزار SpreadSheet که برابر excel است. بعد به سادگی بهش می گم نمودارم رو بکشه. در قدم بعدی کلید PrintScreen رو می زنم و لینوکس ازم می پرسه از صفحه با چه اسمی عکس بگیره. یک اسم بهش می دم و صفحه با اون اسم در یک فایل ذخیره می شه. بعد gimp رو باز می کنم که مشابه photoshop است ولی آزاد و رایگان و بخشی از مطلب رو که می خوام بذارم توی سایتم رو می برم. حالا کافیه وبلاگم رو باز کنم و به اسپیپ بگم فایل متنی بالا و فایل تصویری رو به مقاله اضافه کنه و در با یک دبل‌کلیک در محل مناسب نشون بده (: بامزه است نه ؟



فقط برای کامل شدن بحث

ساعت پنج است و داونلود تمام شده. این هم نمودار نهایی


چرا لینوکس برام جالبه

دوستی می خواست یک سایت کامل رو دریافت کنه و به دلایلی دچار مشکل شده بود. من گفتم براش دریافت می کنم. توی لینوکس به سادگی می نویسم:

wget www.foo.com -k -c -r -p

که یک قدم به یک قدم به لینوکس می گه سایت فلان رو دریافت کن، لینک هاش رو به شکلی تغییر بده که به شکل محلی هم درست دیده بشه، کار رو ادامه بده، همه لینک ها رو دریافت کن و هر فایل (عکس، تصویر، pdf و …) هم که لازم بود رو بگیر و بریز روی هارد.

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

du /home/jadi/download -s

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

crontab -e

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

*/10 * * * * du /home/jadi/download -s >> /home/jadi/download/result

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

چیزی که من دوست دارم

آزادی های لینوکس است و همفکری و مشارکت افراد در اون. هر کس نیازش رو به شکلی رفع کرده و نتیجه کارش رو به اشتراک با دیگران گذاشته در نتیجه من می تونم این ابزارها و ایده های فوق العاده رو کنار هم بچینم و مشکل ام رو حل کنم.

نکته لینوکس محیط گرافیکی و مشابه های word و office و firefox و photoshop و … همه چیزهای دیگر را هم دارد (:

پی نوشت. مایوم کو ؟!