من یاغی دربندم

مطالب سعید علیجانی/اهل گنو/اهل شعر/طرفدار دانش آزاد

من یاغی دربندم

مطالب سعید علیجانی/اهل گنو/اهل شعر/طرفدار دانش آزاد

آخرین نظرات

۷ مطلب با کلمه‌ی کلیدی «گنو لینوکس» ثبت شده است

امروز یکی از دوستام ازم یه سوال پرسید که می‌تونم از یه صفحهٔ وب چیزی رو دانلود کنم؟ من هم در جواب بهش گفتم که باشه الان امتحان می‌کنم. پیوندی رو که فرستاده بود، باز کردم. پیوند مربوط به یه مقاله در کتابخانهٔ مرکزی دانشگاه صنعتی شریف بود. یه خورده سایت رو بررسی کردم. رو گزینهٔ مشاهده کلیک کردم. یه پاپ‌آپ نمایش‌دهندهٔ مستندات باز شد. اونجا صفحات مستند مورد نظر رو دیدم، ولی خب گزینه‌ای برای دانلود نداشت، روی صفحهٔ مقاله کلیک راست هم نمی‌شد کرد. برای این که بفهمم چی به چیه، از ابزار Page Inspector فایرفاکس استفاده کردم و سورس قسمت مورد نظر رو باهاش مشاهده کردم. دیدم که مقاله رو به صورت فایل‌های png نمایش میده.


سورس قسمت مورد نظر:

<img id="Photo" style="width: 950px; height: 1335px; display: block; left: 0px; top: 0px; border: 1px solid rgb(204, 204, 204);" src="http://library.sharif.ir:80/parvan/resource/285081/c/13327/get/dsPID=ma1&amp;scale=1.65">


قسمت آخر سورس آدرس عکس قرار داشت

src="http://library.sharif.ir:80/parvan/resource/285081/c/13327/get/dsPID=ma1&amp;scale=1.65"


این آدرس رو در یک تب جدید باز کردم و عکس رو مشاهده کردم.

http://library.sharif.ir:80/parvan/resource/285081/c/13327/get/dsPID=ma1


برای این که مطمئن بشم عکس‌های بعدی هم طبق این الگو هستن، عدد ۱ آخر آدرس رو به ۲ و ۳ تغییر دادم و دیدم درسته. خب حالا وقتشه که کل عکس‌ها رو دانلود کنم. برای این کار تنها کافیه یه اسکریپت خیلی کوچیک bash بنویسم و اجراش کنم تا ۱۳۰ صفحهٔ‌مقاله دانلود بشه و خب این کار رو انجام دادم.


#!/bin/bash

for ((i=1; i<= 130;i++))
do
        wget --output-document=$i.png  http://library.sharif.ir/parvan/resource/285081/c/13327/get/dsPID=ma$i
done


خب این همون حلقهٔ معروف for هست و از برنامهٔ دانلود تحت کامند wget برای دانلود استفاده کردم، سوئیچ «output-document» هم اسم فایل رو مشخص می‌کنه، که من گذاشتم از ۱ تا ۱۳۰ باشه.


بعد از این که ۱۳۰ صفحه دانلود شد، دیدم یه مشکل خیلی بزرگ‌تر هست، دربارهٔ این مشکل بزرگ‌تر در پست بعدی می‌نویسم.

۰ نظر موافقین ۰ مخالفین ۰ ۰۳ فروردين ۹۵ ، ۱۸:۰۷
سعید علیجانی


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




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

آیا شما حاضر هستید که یه غریبه یه سنسور بذاره تو جیبتون و شما رو زیر نظر داشته باشه؟ اگه بگم این سنسور امکان داره تو گوشی‌های تلفن آی‌فون باشه که خیلی از آدم‌ها با خودشون همه‌جا می‌برن، جوابتون چیه؟ بله این امکان هست و احتمالش هم خیلی قویه که یه برادر بزرگ همواره بر آدم‌ها نظارت کنه. تنها راه اثبات این که این اتفاق نمی‌افته اینه که بدونیم تو این گوشی یا تو هر وسیلهٔ دیجیتال چه اتفاقی می‌افته. یعنی برنامه نرم‌افزار آزاد باشه تا کد منبعش رو بشه مطالعه کرد.

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


۰ نظر موافقین ۰ مخالفین ۰ ۲۶ اسفند ۹۴ ، ۱۶:۲۸
سعید علیجانی
چند وقت پیش دنبال یه چی می‌گشتم که دانلودش کنم، به یه صفحهٔ وب رسیدم که علاوه بر اون چیزی که من می‌خواستم کلی لینک دیگه داشت، و من تصمیم گرفتم همهٔ لینک‌های اون صفحه رو دانلود کنم. اما کلیک کردن روی دونه‌دونه لینک‌ ها یا کپی کردن دونه‌دونهٔ اون‌ها کاری حوصله‌سربر بود. تصمیم گرفتم همه‌اش رو یک جا کپی کنم و یک جا دانلود کنم.

برای این کار ابتدا از افزونهٔ Web Developer فایرفاکس استفاده کردم و از طریق منوی Information این افزونه، گزینهٔ View Link Information رو انتخاب کردم و یک صفحه برام باز شد که تمام لینک‌هارو آورده بود. تمام متن اون صفحه رو کپی کردم و تو یه فایل به اسم links ریختم.

مسالهٔ بعدی حذف لینک‌های اضافی بود. من تو این صفحه تمام لینک‌های رو می‌خواستم که پسوند .zip داشتن. خب تو ترمینال گنو/لینوکس این کار به راحتی با دستور cat و grep امکان‌پذیره.

cat links | grep .zip > downloads

دستور cat محتویات فایل رو در خروجی قرار میده و grep تمام خط‌هایی که .zip تو اون‌ها هست انتخاب می‌کنه و همهٔ این‌ها تو یه فایل جدید ریخته میشه. خب الان من تمام لینک‌هایی رو که می‌خواستم داخل یک فایل دارم. مرحلهٔ بعدی اینه که یه با استفاده از یه برنامهٔ دانلود این لینک‌ها رو دانلود کنم. من از برنامهٔ axel استفاده می‌کنم. برای همین باید تمام این لینک‌ها رو با axel دریافت کنم. برای همین axel رو به اول هر خط اضافه کردم. اما دستی اضافه نکردم و از دستور فوق‌العاده جذاب sed استفاده کردم.

cat downloads  | sed 's/[ ]/axel /' > download.sh

دستور بالا میگه که محتوای فایل بریز تو یه فایل جدید به اسم downlooad.sh و این که جای اسپیس اول هر خط عبارت axel رو قرار بده. چون من از طریق افزونهٔ Web Developer لینک‌ها رو کپی کردم، اول هر کدوم یه اسپیس قرار گرفته. در کل برنامهٔ sed خیلی خوب و کار راه بینداز هست، در موردش بیشتر بخونید، تا تجربهٔ خوشایندتری رو در گنو/لینوکس داشته باشید. حالا تنها کافیه این فایل رو اجرا کنم و صبر کنم که تمام فایل‌هایی که می‌خواستم دانلود شن.

sh download.sh

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

۲ نظر موافقین ۰ مخالفین ۰ ۲۸ دی ۹۴ ، ۲۰:۳۳
سعید علیجانی
من نیاز به یه برنامه داشتم تا بتونم کلمه‌هایی رو که معنی اون‌ها رو نمی‌دونم به فارسی ترجمه کنم یا برعکس. و دوست داشتم این برنامه کامند لاین باشه تا با سرعت بیشتری معنی کلمه رو در بیارم. یه جست‌وجو کردم و رسیدم به این برنامه.

https://github.com/soimort/translate-shell


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

این هم یه اسکرین‌شات از برنامه


۰ نظر موافقین ۰ مخالفین ۰ ۱۱ فروردين ۹۴ ، ۰۰:۵۷
سعید علیجانی

I

‫نرم‌افزار آزاد یک روش است ، یک روش دموکراتیک ِ تصمیم گرفتن درباره‌ی توسعه . در این روش فقط یک انتخاب وجود ندارد تا به همه بگوییم‬ ‫یک کار را انجام دهند . هیچکس در جامعه‌ی نرم‌افزار آزاد به مردم نمی‌گوید چه کاری انجام دهند‬ ‫؛ هرکس تصمیم‬ ‫خودش را می‌گیرد اما آنچه اتفاق می‌افتد این است : اگر عده‌ ی زیادی بخواهند تا نرم‌افزار در جهت خاصی بهبود پیدا کند ، مردم زیادی روی تغییر‬ ‫دادن آن کار خواهند کرد بنابراین نرم‌افزار در آن جهت پیشرفت خواهد کرد . اگر هیچکس نخواهد نرم‌افزار در آن جهت توسعه پیدا کند ، نرم‌افزار در‬ ‫آن جهت توسعه پیدا نخواهد کرد . بنابراین ما بواسطه‌ی تصمیمی که می‌گیریم ، در توسعه‌ی آن نرم‌افزار سهیم می‌شویم .‬



II

دو عامل بسیار موثر در رشد و بهره‌وری جامعه‌ی آزاد ، کمک‌کردن به هم و داشتن روابط دوستانه با دیگران‬‫ است .‬
‫‫تمام جامعه‌ها وابسته به مردمی هستند که به یکدیگر کمک می‌کنند . زندگی کردن با همسایگانی سودمند خواهد بود که وقتی تقاضای کمک‬ می‌کنید به شما کمک خواهند کرد ؛ البته همیشه این‌طور نیست . هیچکس مجبور به کمک‌کردن به شخص دیگری‬ نیست اما ‫اگر شما با مردم دوست باشید آنها اغلب به شما کمک خواهند کرد . بنابراین بهتر است ما به مردم کمک کنیم اگر می‌خواهیم آنها‬ ‫هم به ما کمک کنند .‬

III

‫« من قصد ندارم اجازه دهم جهان مرا به جایی که می‌خواهد برود ، هدایت کند . من به جایی می‌روم که آزادی هست . اگر شما به جای دیگری‬ ‫می‌روید ، من به آنجا نمی‌آیم . من مقداری سختی را برای رسیدن به آزادی تحمل می‌کنم» ..‬

‫این کار به تصمیمی نیاز دارد که می‌گوید آزادی مهم است و باید گسترش داده شود حتی اگر مشکل باشد .‬

‫برای آزادی گاهی باید قربانی داد . باید بهایی پرداخت . اما هر چیزی در برابر آزادی بهای کمی دارد .‬


سه عبارت از مقاله ی نکاتی درباره نرم افزار آزاد

کل مقاله را از لینک زیر دانلود کنید

دانلود مقاله نکاتی درباره نرم افزار آزاد


۰ نظر موافقین ۱ مخالفین ۰ ۰۵ ارديبهشت ۹۳ ، ۱۸:۵۴
سعید علیجانی


من که این ۲۰۴۸ رو بیخیال نمیشم. ۲۰۴۸ هم بیخیال من نمیشه. خیلی بازی خوبیه و به ذهن کلی کمک می کنه امتحانش کنید. مطلب قبلی کلی راجع به این بازی نوشتم و گفتم چجوری میشه بازی کرد


لینک مطلب قبلی : بازی خفن ۲۰۴۸


و اما مطلب اصلی: از طریق لینک زیر می‌تونید پکیج دبیان بازی ۲۰۴۸ رو  دانلود کنید، و از طریق مرورگرتون در سیستم‌عامل گنو/لینوکس (توزیع‌های دبیان، اوبونتو، مینت و ...) این بازی رو انجام بدید.



Download 2048game debian package

و در آخر دوباره تاکید می کنم «زنده باد نرم افزار آزاد»


2048game-offline


۰ نظر موافقین ۰ مخالفین ۰ ۱۱ فروردين ۹۳ ، ۰۳:۵۳
سعید علیجانی


معرفی می کنم: بازی خفن
اسم خفن رو من رو این بازی گذاشتم. چرا که از وقتی که باهاش آشنا شدم(چند روز پیش) بدجوری ذهنمو درگیر خودش کرد. البته خیلی خوب شد که دهنم درگیر این بازی شد. چون باعث فعالیت بیشتر مغزم شد. یک بازی ریاضی و هوش خفن
تو این بازی باید سعی کنیم به کاشی ۲۰۴۸ برسیم. با ترکیب کردن اعداد توان ۲. یعنی باید یکی از چهار جهت اصلی ( بال پایین چپ راست ) انتخاب کنیم و کاشی ها رو به اون سمت هدایت کنیم. اگه شماره ی کاشی ها با هم مساوی باشه با هم ترکیب میشن و تشکیل یه کاشی جدید میدن که حاصل جمع دو کاشی قبلی هست.


2048start


هدف اصلی این جمع کردن ها رسیدن به کاشی شماره ی ۲۰۴۸ هست. یعنی هر کی به اون مرحله برسه برنده شده
لینک های بازی

این‌بازی رو من تو سیستم عامل گنو/لینوکس از طریق مرورگر فایرفاکس انجام می‌دم.

بازی ۲۰۴۸

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


چند تا اسکرین‌شات از بازی‌های خودم


لینوکس مینت دبیان ادیشن گنو/لینوکس، میز کار Xfce، مرورگر فایرفاکس

2048game


لینوکس مینت دبیان ادیشن گنو/لینوکس میز کار ماته، مرورگر فایرفاکس

2048best8192


و در آخر یه لینک مفید : استراتژی برنده شدن در بازی ۲۰۴۸ به قلم جادی


امیدوارم از این بازی لذت ببرید و به قول جادی :« زنده باد نرم افزارهای آزاد که اجازه پیاده شدن سریع چنین ایده‌هایی رو می دن»

۰ نظر موافقین ۰ مخالفین ۰ ۲۹ اسفند ۹۲ ، ۰۱:۱۷
سعید علیجانی