آرشیو بر اساس دسته بندی ِ ‘ گنولینوکس ’ :

خداحافظ اینترنت

{ پست شده در ۱۳ دی ۱۳۹۰ توسط صادق }

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

و این فردا نزدیک و نزدیک‌تر شد. تا امروز.

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

بدرود اینترنت.

 

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

تغییر اندازه پارتیشن دائمی در توزیع‌های زنده

{ پست شده در ۰۷ آذر ۱۳۹۰ توسط صادق }
برچسب ها : , , , ,
مربوط به : رایانه, گنولینوکس

یکی از چیزای خوب توی لینوکس امکان ساده درست کردن یه فلش قابل بوت و همراه داشتن اون برای استفاده‌های گوناگونه.
وقتی از فلش بوت می‌کنید سرعت دیسک زنده به نسخه‌های نصب شده خیلی نزدیک می‌شه و از همه مهمتر اینکه می‌تونید یه پارتیشن تعیین کنید که اطلاعات خاص شما (مثلا پوشه خانگی شما) روی اون ذخیره بشه و با هر بار بوت از روی اون فلش‌دیسک به اون اطلاعات دسترسی داشته باشید.
من هم با استفاده از ابزاری که در سایت پن‌درایو لینوکس( http://www.pendrivelinux.com ) معرفی می‌کنه و  ارائه می‌ده یه فلش بوت از روی دیسک نصب mint ساختم. موقع ساخت فقط ۱۲۴ مگ برای اون در نظر گرفتم. و حالا این فضا پر شده و حتی در روند عادی بوت اختلال ایجاد کرده.
اگه شما هم مثل من دچار مشکل شدید، اولین قدم اینه که موقع بوت پارامتر persist را از خط بوت حذف کنید. با اینکار انگار نه انگار که شما پارتیشن persist روی فلش‌مموری درست کردین. لینوکستون به صورت کاملا تمیز مثل زمانی که از روی سی‌دی بوت کردین بالا میاد.
یه راه دیگه هم هست و اون تغییر اندازه این پارتیشه. برای این کار اول با استفاده از دستور dd اندازه اون فایل را بزرگ می‌کنیم.
مثلا برای اینکه یک گیگ به فضای دیسک اضافه کنیم این دستور را وارد می‌کنیم:

% dd if=/dev/zero bs=1M count=1024 >> casper-rw

بعد باید فایل سیستم را درستش کنیم که با این اندازه جدید سازگار بشه:

% resize2fs casper-rw

خرج خونه

{ پست شده در ۰۳ آذر ۱۳۹۰ توسط صادق }

همیشه برای اینکه بدونم پولم را خرج چی کردم مشکل داشتم.
به همین دلیل بود که سال گذشته یه برنامه خیلی ساده و کوچولو نوشتم که توی اون خرج‌هام را یادداشت می‌کردم.
دوستان می‌دونند که حافظه خوبی ندارم، پس برنامه را سبک نوشتم که با حداقل هزینه بتونم با موبایل و استفاده از اینترنت gprs موبایل کار ثبت خرج‌هام را انجام بدم.
بعد از اون دیگه وقت نکردم به برنامه امکانات اضافه کنم مثلا برنامه باید:
۱. سیستم احراز هویت داشته باشه.
۲. گزارش عملکرد مثلا ماه و هفته گذشته داشته باشه.
و …
چند وقتی بود که ازش استفاده نمی‌کردم، امروز یادم اومد و برنامه را گذاشتم روی github که هر کسی خواست بتونه استفاده کنه:
https://github.com/sadeqn/home-costs
کمک کنید این برنامه بهتر بشه.

این برنامه با گواهی حق استفاده gpl3 منتشر شده.

 

پ.ن. یه اشکال توی کد sql نصب رفع شد. این باگ باعث می‌شد بعد از ایجاد جداول و viewها برنامه به درستی اجرا نشه.
پ.ن. یه سیستم ساده احراز هویت بهش اضافه شد. کاربر دیفالت و رمزش را در فایل readme بخونید.

پ.ن. یه خورده ساختار کد را بهتر کردم و الان نزدیک‌تر شده به ساختار MVC. البته هنوز کلی کار داره. ‌آخرین نسخه را از مخزن git hub‌ می‌تونید بگیرید.

استخدام برنامه‌نویس php

{ پست شده در ۲۹ خرداد ۱۳۹۰ توسط صادق }

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

شرکت درخشان صنعت ( www.dsi.ir ) برنامه‌نویس php استخدام می‌کند
مهارت‌های لازم:
* تسلط کامل به PHP و آشنایی با مبانی شی‌گرایی
* آشنایی با بانک اطلاعات MySQL

شرایط کاری:
* ساعت کار ۸:۰۰ لغایت ۱۷:۳۰، شنبه تا چهارشنبه
* محیط کاری چالشی

نشانی محل کار در غرب تهران است.

در صورت تمایل اطلاعات خود را به همراه رزومه در فرم http://job.ebtekar.info وارد و ارسال نمایید

این موقعیت شغلی برای کسانی که از لینوکس خوششون میاد می‌تونه جذاب باشه. ما در قسمت نرم‌افزار شرکت روی یه وب‌اپلیکیشن کار می‌کنیم که بازار هدفش مشتریان متوسط و بزرگ (مثل بانک‌ها) هستند.

تا یادم نرفته این را هم بگم که اهل php نیستید ولی توانایی خاصی تو تولید نرم‌افزار (غیر از php) دارین حتما کامنت بزارین یا تماس بگیرید.

فعال و غیرفعال کردن کاربر در لینوکس

{ پست شده در ۲۶ دی ۱۳۸۹ توسط صادق }
دیدگاه‌ها خاموش

در صورتی که نیاز دارید دسترسی یک کاربر خاص به لینوکس را غیرفعال کنید کافی‌است دستور زیر را اجرا کنید:

passwd USERNAME -l

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

passwd USERNAME -u

این دستور یک ! به ابتدای کلمه عبور کاربر مورد نظر در فایل /etc/shadow اضافه می‌‌کند یا آن را حذف می‌کند.

در صورتی که بخواهید این کار به صورت خودکار و در زمان‌های خاص انجام شود می‌توانید از crontab‌ یا at‌ استفاده کنید. crontab برای کارهای تکراری و at برای انجام کار در تاریخ/زمان مشخص!
به همین سادگی به همین خوشمزگی!

تجزیه GIF متحرک به فریم‌های تشکیل‌دهنده آن

{ پست شده در ۱۳ آذر ۱۳۸۹ توسط صادق }

بعد از نصب مجموعه ImageMagick کار خیلی ساده است:

convert +adjoin -coalesce src.gif frame%02d.gif

و البته برعکسش هم میشه:

convert -verbose -delay 20 -loop 0 frame*.gif output.gif

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

استفاده از دامنه با نام فارسی

{ پست شده در ۱۷ اسفند ۱۳۸۸ توسط صادق }
برچسب ها : , , ,
مربوط به : رایانه, شبکه, گنولینوکس

چند ساله که داره روی اسم دامنه‌هایی با الفبایی غیرلاتین کار می‌شه. نتیجه کار یه استاندارد هست به نام IDN که خلاصه International Domain Name است. در این استاندارد نام از یه رشته غیرلاتین به کد Punycode تبدیل می‌شود.

برای دامنه‌های ایران IRNIC مسوول ثبت و نگهداری و مدیریت است. این مجموعه برای ایجاد یک دامنه فارسی به نام .ایران فعالیت کردند و الان این دامنه قابل استفاده است. مثلا اگه شما روی نشانی http://یزدانپرست.ایران.ir کلیک کنید، وارد وبلاگ خودخودمان می‌شوید. یا نشانی http://سمپاد.ایران.ir شما را به وب‌سایت انجمن دانش‌آموختگان استعدادهای درخشان می‌بره.
در هر این نام‌ها هنوز مشکلی دارند و اون اینکه هنوز لازمه که .ir به نام دامنه ,ایران اضافه بشه که به نظر جالب نمی‌یاد.
اگه شما مسوول یه isp باشید یا روی سرورهای سازمانی که توش کار می‌کنید نظارت داشته باشید می‌تونید این مشکل را با یه حقه دور بزنید.
برای اینکار لازمه که اول از همه BIND9 که معروف‌ترین DNS Server دنیا است را روی سرور اینترنت نصب کنید. بعد دو تا زون برای .ایران و .ایران اضافه کنید. (اشتباه نکنید یکیش با ی فارسی است و دیگری ی عربی! چون punnycodeها برای اونها فرق می‌کنه)
بعد به BIND9 بگین که درخواست برای تبدیل نام به آی‌پی برای این Zoneها را به سرور ns.nic.ir ارسال کنه.
توی Ubuntu برای اینکار کافیه یه فایل با این محتویات بسازید:

zone "xn--mgba3a4fra" {
        type forward;
        forwarders {194.225.70.89; 137.189.6.21; 198.6.1.162;};
};

zone "xn--mgba3a4f16a" {
        type forward;
        forwarders {194.225.70.89; 137.189.6.21; 198.6.1.162;};
};

و بعد داخل فایل named.conf این خط را اضافه کنید
فراموش نشه که بعد از راه‌اندازی مجدد BIND کلاینت‌ها را جوری تنظیم کنید که از این سرور به عنوان DNS سرور استفاده کنند.

برای امتحان می‌تونید به نشانی http://صادق.ایران بروید. اگه باز شد، شما کار را درست انجام دادین! فراموش نکنید حتما از فایرفاکس یا مرورگری که از IDN پشتیبانی می‌کنه برای تست استفاده کنید!

و تو چه دانی که cURL‌ چیست؟

{ پست شده در ۱۶ بهمن ۱۳۸۸ توسط صادق }
برچسب ها : , , , ,
مربوط به : رایانه, گنولینوکس

گنو/لینوکس مجموعه‌ای از ابزارهای خیلی کوچولو اما بسیار پرقدرت است. این ابزارها به سادگی با هم ترکیب می‌شوند و نتیجه‌اش این میشه که کارهای خیلی پیچیده را می‌شه به سادگی انجام داد.
یکی از این ابزاهای خیلی خوب curl‌ است. در معرفی curl آمده: ابزاری است برای ارسال داده «از» یا «به» سرور با پروتکل‌هایی که پشتیبانی میکنه (مثلا http, https, ftp, telnet‌ و …) این ابزار به نحوی طراحی شده است که بدون نیاز به ارتباط با کاربر وظیفه‌ش را انجام بده.

یک مثال:
سایتی به نام identi.ca که یک پیاده‌سازی از ابزار StatusNet برای Microbloggin (مشابه توییتر) است به شما این اجازه را می‌ده که با استفاده از API پست خودتون را ارسال/دریافت کنید.
روش ارسال به این نحو است که باید محتوی توییت خودتون را به نشانی http://identi.ca/api/statuses/update.xml پست کنید. البته شناسه کاربری و کلمه عبور باید از طریق http authentication به سرور اعلام کنید.
برای این کار یک دستور curl کافیه:

curl http://identi.ca/api/statuses/update.xml  -u USERNAME:PASSWORD -d "status=This is a test Dent from Shell" 

به همین سادگی.
اگه دوست داشته باشید می‌تونید مثلا این دستور را با یه دستور دیگه قاطی کنید که نتیجه اون دستور را dent کنه. مثلا من یه اعلام ساعت با استفاده از دستور date درست کردم که با استفاده از cron سر هر ساعت گذشت زمان را به من یادآوری می‌کنه:

curl http://identi.ca/api/statuses/update.xml  -u USERNAME:PASSWORD -d "status=Now: `date +\"%Y-%m-%d %H:%M\"`"

خوبه نه؟

درختواره در لینوکس

{ پست شده در ۱۱ بهمن ۱۳۸۸ توسط صادق }
برچسب ها : , ,
مربوط به : رایانه, گنولینوکس

کسایی که از سیستم عامل DOS استفاده کردن می‌دونند که یه دستور داشت به نام tree. کار این دستور این بود که لیست فایل‌ها و فولدرها را به صورت درختی نمایش می داد. توی لینوکس برای درست کردن اینجور چیزی دو راه وجود داره:
۱. استفاده از این دستور:

find . -print | sed -e 's;[^/]*/;|____;g;s;____|; |;g'

خروجی دستور شبیه‌سازی tree

یک خط دستور برای ایجاد خروجی شبیه به خروجی دستور tree در dos


۲. نصب بسته tree برای نصب بسته tree در توزیع‌های debian base‌ مثل ubuntu می‌توانید از این دستور استفاده کنید:

apt-get install tree

خروجی دستور tree در ubuntu


هر دوش به خوبی کار می‌کنه. اما من دومی را به دلیل داشتن کلی امکانات اضافی (مثلا نمایش رنگی، نمایش حجم فایل‌ها و …) ترجیح می‌دم

مشکل ویندوز و samba

{ پست شده در ۰۹ بهمن ۱۳۸۸ توسط صادق }
برچسب ها : , , , , ,
مربوط به : رایانه, گنولینوکس

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

راه حل استفاده از دستور net use است در ویندوز

مثلا من با کاربر sadeq به سرور وارد می‌شم. به همین دلیل به فایل‌های خانگی خودم که توی فولدر \\server\sadeq است دسترسی دارم. بعد یه کاری پیش میاد یکی از دوستان که از نام کاربری elec استفاده می‌کنه می‌خواهد از روی کامپیوتر من یه فایل روی سرور بریزه. وقتی می‌زنه \\server\elec پیام خطا میگیره که دسترسی نداره.
راه حل مشکل اینه که این دستور اجرا بشه:

net use \\server\elec *

با این دستور، رمز کاربر مالک elec پرسیده می‌شه و اگه درست باشه اتصال به سرور برای این منبع ایجاد می‌شه و من می‌تونم با زدن نشونی \\server\elec به فایل‌های کاربر elec دسترسی پیدا کنم.