در Epiphany وقتی میخواهیم سربرگ جدیدی ایجاد کنیم این سربرگ دقیقا بعد از سربرگ فعلی باز میشود و به دلیل اینکه عادت به ایجاد سربرگهای زیاد در من به یک بیماری تبدیل شده به فکر چارهای افتادم تا در Firefox نیز سربرگهای مرتبط با یک موضوع در کنار هم باز شوند و نتیجهاش یک جستوجو ساده و افزونهیTabs Open Relative بود.
—
پ.ن. کوتاهترین اما پربارترین نوشتار بنده!!
سربرگ جدید بعد از سربرگ جاری (Firefox)
راهنمای جامع کامپایل برنامههای C و C++
اگر به دنبال یک راهنمای سریع، مختصر و مفید هستید پیشنهاد میکنم ابتدا نوشتار «راهنمای کوچک برنامهنویسی با CODEBLOCK» مطالعه کنید، اما اگر از درد و سر خوشتان میآید پس بفرمایید:
برای کامپایل برنامههای C++ نیاز به یک کامپایلر میباشد. لیست بزرگی از کامپایلرهای موجود برای C++ و دیگر زبانها را میتوانید در این مقاله از ویکیپدیا ببینید. خیلی از اساتید دانشگاهی برای شروع درس برنامه سازی پیشرفته در همان روزهای اول بدون توضیح در مورد کامپایلرها و تنوع آنها به دانشجویان کامپایلرهای Turbo C++ یا Borland C++ و در نهایت Visual Studio را پیشنهاد میکنند.
کمی دست نگه دارید تا بیشتر در مورد کامپایلرها آشنا شویم، سپس انتخاب با خودتان. دوباره به لیست همگردانهای C++ در ویکیپدیا نگاهی بیاندازید.
قبل از هر چیز در مورد دو واژهی مهم توضیح بسیار مختصری بدهم:
- Compiler: كامپایلر برنامه یا مجموعهای از برنامههای كامپیوتری است كه متنی از زبان برنامه نویسی سطح بالا (زبان مبدا) را به زبانی سطح پایین (زبان مقصد)، مثل اسمبلی یا زبان سطح ماشین، تبدیل میكند. خروجی این برنامه ممكن است برای پردازش شدن توسط برنامه دیگری مثل پیونددهنده مناسب باشد یا فایل متنی باشد كه انسان نیز بتواند آنرا بخواند.
- IDE: مخفف عبارت انگلیسی Integrated Development Environment است و عبارت است از محیطی عمدتاً گرافیکی که تمام یا شماری از ابزارهای لازم برای توسعهٔ نرمافزار (بخشهایی یا تمام زنجیره ابزار توسعه) را خود دارد. در IDE دسترسی به ابزارها و اعمال آنها در پروژهٔ جاری تسهیل شدهاست.
۱-تفاوت بین IDE و Compiler در چیست؟
کامپایلرها بر دو نوع اند. کامپایلرهای خط فرمان و کامپایلرهای همراه با IDE. کامپایلرهای خط فرمان هیچ گونه محیط کاربری (GUI) ندارند و تمامی مراحل کامپایل از طریق خط فرمان سیستم عامل انجام میشود. اما در کامپایلرهای همراه با IDE اکثرا کار کامپایل و Link و Builld را ساده کردهاند و تمامی مراحل را به طور خودکار برای کاربر انجام میدهند. برای مثال کاربر کافیست پس از نوشتن برنامه در ویرایشگر کامپایلر، کلید F6 را فشار دهد.
البته یک IDE (محیط توسعهی مجتمع) در اصل یک نرمافزار گرافیکی میباشد که با ابزارهای برنامه نویسی از جمله پیوند دهندهها (Linker)، همگردانها و نرمافزارهای کنترل نسخه (Version Control Software) و … ارتباط برقرار میکند و یک محیط بسیار راحت را برای برنامهنویسان ایجاد میکند.
یک محیط توسعهی مجتمع معمولا امکانات زیر را در اختیار برنامهنویسان قرار میدهد:
- Syntax highlighting
- Code Completion
- GUI design tool
- Code Refactoring
- Source code editor
- Build automation tools
- Debugger
- class hierarchy diagram
- version control system
- Macro Recording
اما به نظر من استفاده از IDE برای تازهواردان برای توسعهی نرمافزار و برنامهنویسی بسیار اشتباه است. بهتر است ابتدا سعی کنید با مفاهیم کامپایلر آشنایی پیدا کنید. خطاها و پارامترهای آن را به خوبی بشناسید و چند هفته (چند ماهی) از IDE دوری کنید و سعی کنید تمام مراحل کامپایل یک برنامه را به روش های گوناگون به خوبی یاد بگیرید. برای مثال ابتدا سعی کنید از برنامتان یک فایل Object درست کنید سپس با Linker آن را با دیگر کتابخانههای سیستمی پیوند دهید و فایل اجرایی را تولید کنید.
سعی کنید با ساختار فایلهای Makefile و هنچنین کتابخانههای دینامیک و استاتیک آشنا شوید و همهی این مراحل را بدون استفاده از IDE با یک ویرایشگر ساده و خط فرمان اجرا کنید. پس از یادگیری این مفاهیم به سراغ SCM و همچنین VCS یا همان سیستم کنترل نسخه (Version Control System) بروید. پس از اینکه با تمامی این مفاهیم آشنا شدید میتوانید به سراغ یک IDE مناسب بروید و طراحی نرمافزار را با آن تجربه کنید.
در ضمن برای مقایسه و بررسی لیستی از IDEهای مختلف میتوانید از این پیوند استفاده کنید.
۲- برنامه نویسی C++ با مجموعه کامپایلر گنو
من بدون هیچ گونه تعصب و غرض ورزی شخصی انتخاب کامپایلر مناسب را به عدهی خودتان میگذارم اما بنابر تجربه قصد دارم از این قسمت به بعد به معرفی کامپایلر مجموعهی GNU (بخوانید گنو) بپردازم.
GCC از ابتدا مخفف Gnu C Compiler بود ولی از زمانی که توانست زبانهای دیگری غیر از C از قبیل C++,Ada,Java,Objective C و Fortran را کامپایل کند به Gnu Compiler Collection تغییر نام داد. پدید آورنده اصلی GCC ریچارد استالمن است کسی که بنیانگذار پروژه Gnu محسوب می شود. نخستین نسخه GCC در سال 1987 انتشار یافت که یک پیشرفت مهم محسوب می شد زیرا محصول جدید اولین کامپایلر بهینه سازی شده قابل حمل ANSI C به عنوان یک نرم افزار آزاد محسوب می شد. در سال 1992 نسخه 2.0 کامپایلر GCC عرضه شد. نسخه جدید قابلیت کامپایل کدهای ++C را نیز داشت. در سال 1997 یک انشعاب آزمایشی در GCC به نام EGCC به منظور بهینه سازی کامپیایلر و پشتیبانی کامل تر از ++C ایجاد شد. در ادامه EGCC به عنوان نسل بعدی کامپایلر GCC پذیرفته شد و تکامل آن باعث انتشار نسخه سوم GCC در سال 2004 گردید. چهارمین نسخه از کامپایلر GCC در سال 2005 عرضه شد.
۲.۱ -کامپایل برنامههای C و C++ در سیستمعامل Linux
در صورتی که از سیستمعامل لینوکس مبتنی بر توزیع Debian استفاده میکنید وارد خط فرمان سیستم عاملتان شوید.
برای اطمینان از نصب کامپایلر GNU C++ فرمان زیر را در خط فرمان وارد کنید:
$ g++ –version
g++ (GCC) 4.2.3 (Ubuntu 4.2.3-2ubuntu7)
Copyright (C) 2007 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
پیغام بالا به منزله نصب بودن g++ بر روی سیستمعامل میباشد. در صورتی که g++ بر روی Linux شما نصب نمیباشد فرمان زیر را اجرا کنید:
$ sudo apt-get install g++ build-essential
حال توسط یک ویرایشگر متنی در Linux برنامهی زیر را بنویسید. بهتر است برای نوشتن برنامهها استفاده از ویرایشگر Vim را یاد بگیرید. برای اطلاعات بیشتر به این مقاله مراجعه کنید.
۱. کامپایل برنامههای C
#include <stdio.h>
int main(){
printf(”Hello World!\n”);
return 0;
}
برنامهی بالا را با نام hello.c ذخیره کرده و با فرمان زیر کامپایل کنید:
$ gcc hello.c -o hello
اگر هیچ خطایی از فرمان بالا صادر نشد و هیچ پیغامی صادر نشد فرمان زیر را اجرا کنید تا برنامه ی hello اجرا شود:
$ ./hello
پیغام Hello World! در پایانه چاپ میشود.
۲. همگردانی برنامههای ++C
برنامهی زیر نوشته و با نام hello.cpp ذخیره کنید:
#include <iostream>
int main(){
std::cout << “Hello World!” << std::endl;
return 0;
}
برنامهی بالا را با فرمان زیر کامپایل کنید:
$ g++ hello.cpp -o hellocpp
حال با فرمان زیر میتوانید برنامهی کامپایل شده را اجرا کنید:
$ ./hellocpp
توضیحات:
۱. کامپایلر زبان C، برنامهی gcc میباشد.
2. کامپایلر زبان C++ برنامهی g++ میباشد.
۳. واضح است که بیان hello.c در فرمان gcc یا g++ به معنای کامپایل hello.c میباشد. در صورتی که همراه با این پرونده نیاز به کامپایل پروندههای دیگری از جمله کلاسها و توابع دیگر میباشید. نام آنها را به صورت پارامتر لیست کنید.
فرض کنید برنامهی شما از فایلهای main.cpp math.h math.cpp تشکلیل شده باشد برای کامپایل این برنامه باید از خط فرمان زیر استفاده کنید:
$ g++ main.cpp math.cpp -o main
۴. در فرمان بالا کامپایلر ابتدا برنامهی شما را به پروندهی Object تبدیل میکند و سپس آن را توسط پیوند دهنده (Linker) به پروندهی اجرایی تبدیل میکند. که در حقیقت کامپایلر مرحلهی میانی را به صورت خودکار برای شما انجام میدهد. برای تبدیل یک برنامه به پروندهی Object فرمان زیر را اجرا کنید:
$ g++ -c main.cpp
۶- Wall: این option به معنی all warnings است و تمامی اخطار ها را به شما نشان می دهد. توجه کنیدکه اخطار با خطا فرق داره! مثلا اگر شما به جای استفاده از == از = استفاده کرده باشید یا متغیری از نوع لوکال رو مقدار دهی اولیه(initiaze)نکرده باشید یا موارد مشابه اون رو به شما گزارش می دهد. توصیه می شود که همیشه از این option استفاده کنید. چون واقعا سرعت شما را در debug کردن افزایش می دهد.
$ g++ -Wall main.cpp
۷- با فرمان زیر میتوانید برنامتان را به کد Assembly تبدیل کنید.
$ g++ -S main.cpp
۲.۲- کامپایل برنامههای C و C++ در Microsoft Windows
مجموعهی کامپایلرهای gnu در ابتدا برای سیستمعامل GNU/Linux نوشته شد اما پس مدتی پروژهی Cygwin شروع به port کردن کامپایلر gnu به سیستمعامل Windows نمود. هدف پروژهی Cygwin از همان ابتدا پیادهسازی تمامی System Callهای Unix در Windows، بر اساس استاندارد Posix بود و تا به حال نرمافزارهای بسیاری در Linux با استفاده از Cygwin به نسخهی Windowsی تبدیل شده اند. برای مثال نرمافزارهای OpenOffice.org و Mozilla Firefox و sshd و TeX و Apache و … با استفاده از Cygwin از نسخهی linuxی به نسخهی windowsی تبدیل شده اند.
MinGW از نسخهی1.3.3 نرمافزار Cygwing جدا (fork) شد و به دلیل اینکه MinGW از Win32-API استفاده میکند، نمیتواند تمام استانداردهای Posix را پیادهسازی کند. وقتی MinGW را با MySYS ترکیب کنیم یک محیط بسیار راحت شبیه محیط های Unix برای کار با خط فرمان ایجاد میشود و به دلیل داشتن این ویژگی کار با MinGW راحتتر از Cygwign میباشد.
دو راه برای نصب MinGW وجود دارد.
۱. میتوانید آن را از پایگاه رسمیاش دریافت کرده و نصب کنید.
۲. MinGW به همراه بستهی نرمافزاری CodeBlock نصب میشود.CodeBlock یک IDE قدزتمند برای C++ میباشد و به دلیل آنکه در آینده به این IDE نیاز پیدا میکنیم بهتر است از روش دوم استفاده کنیم.
نسخهی CodeBlcok به همراه MinGW را از اینجا دریافت و نصب کرده و سپس MySYS را از این پیوند دریافت و نصب کنید. پس از اینکه نصب MySYS تمام میشود یک پنجرهی cmd باز میشود چندین سوال میپرسد.
ابتدا از شما میپرسد که آیا به ادامهی نصب نرمافزار راضی هستید؟ کلید y را فشار داده و سپس Enter را بزنید.
سوال بعد میپرسد که آیا شما MinGW را نصب کردهاید؟ کلید y را فشار داده و سپس Enter را بزنید.
محل نصب بستهی نرمافزاری MinGW را میپرسد. جواب این سوال آدرسی است به صورت زیر:
C:\Program Files\CodeBlocks\MinGW
پس از طی مراحل بالا یک Shortcut روی Desktop شما به نام MYSYS ایجاد میشود. با اجرای MYSYS شما وارد یک محیط خط فرمان شبیه خط فرمان Linux میشوید و میتوانید همانند قسمت ۲.۱ همین راهنما برنامههای C و C++ خود را کامپایل و اجرا کنید.
حال پس از مدتی که با فرمانها و هشدارهای کامپایلرهای GCC و g++ آشنا شدید میتوانید یک IDE مناسب به سلیقتان نصب کرده و برنامههایتان را در آن نوشته و کامپایل کنید. هم اکنون محیط توسعه مجتمع CodeBlock روس سیستم شما نصب میباشد. میتوانید با اجرای این IDE و کار با آن از برنامهنویسی لذت ببرید.
در برای مقایسهی IDEهای موجود در دنیای برنامهنویسی میتوانید به این آدرس در ویکیپدیا مراجعه کنید.
در آخر عرض کنم که یکی از اهداف من در این مقاله آشنا کردن دانشجویان با ویکیپدیا بود (دانشنامهای آزاد که هر کسی میتواند آن را ویرایش کند).
سعی کنید از ویکیپدیا که یک دانشنامهی آزاد میباشد استفاده و حتی به گسترش آن نیز کمک کنید.
KDE Bug 4.2 Release Party
دیشب اصفهانلاگ مجلس شیرینی خوران بود. بسی لذت بردیم. روزبه جان بازم از این کارا بکن.
طبق امار و بررسی هایی که انجام دادم و با توجه به فعالیت به شدت زیاد KDE کارها، ما حداقل شاهد چنین جشن هایی در هر ماه از سال در اصفهان لاگ خواهیم بود. :دی
راستی گذشته از اینها واقعا با دیدن KDE 4.2 بسیار خوشحال شدم که تیم توسعهی KDE اینقدر با سرعت به جلو پیش میروند.
مسعود علینقیان هم که بعد مدتها برگشته بود اصفهان، سمیناری با نام آموزش زبان و لینوکس ارائه داد.
برای یک بار دیگه هم که شده از به دلایلی از روزبه جان تشکر میشود. روزبه برای انتشار بعدی منتظریم :دی
پ.ن. جان من به تیتر این پست گیر ندید. چیز دیگهای به ذهنم نرسید
ابر برچسبها و مقایسهی سخنرانیهای بوش و اوباما
بلاخره از دست امتحانات فارغ شدیم.
تو این مدت هم دو تا از سخنرانیهای مهم اوباما را از دست دادیم. که الان یه وقتی پیدا کردم بخونمشون. بعد از خوندن اونها تصمیم گرفتم هر دوی این سخنرانی های یکی پس از پیروزی در انتخابات و دیگری در مراسم تحلیف را با نرم افزار wordle با سخرانی بوش در سال 2005 در مراسم تحلیف مقایسه کنم.
تصاویری که مشاهده میکنید نتایج استفاده از نرمافزار wordle.net میباشد. این نرمافزار یک متن یا آدرس اینترنتی، فید ( خوراک ) سایت را دریافت کرده و کلماتی که بیشترین تکرار را داشته باشند با کلمات وزندار به صورت نمودار تهیهمی کند.
سخرانی اوباما بعد از پیروزی (Obama victory speech)


سخنرانی بوش در مراسم تحلیف(Bush’s inauguration speech)

تفاوت آشکاری بین سخنرانی بوش با دو سخنرانی اوباما وجود دارد و جالبتر آنکه کلمهی Freedom در سخنرانی بوش به طور وحشتناکی تکرار شده است.
چون اینجا جای صحبت در مورد جنبههای سیاسی این رخداد نیست به این بهانه به معرفی tag cloud میپردازم:
تعریف:
ابر برچسب مجموعهای از برچسبهای وزن دار میباشد. نمونهای از یک tag cloud حاوی 30 الی 150 برچسب میباشد. وزن هر برچسب توسط اندازهی رسم الخط (Font) و نشانههای بصری تعیین میشود. در ضمن، هیستوگرامها و نمودارهای کلوچهای (pie charts) بیشترین استفاده را در نمایش تقریبی دهها وزن مختلف دارند. از اینرو، tag cloudها قادر به نمایش وزنههای بسیار بیشتری -گرچه با دقت کمتر- میباشند. همچنین، برچسبها دارای خصوصیت محاورهای هستند: تگهای ابرمتنی به کاربر اجازهی واکشی اطلاعات را نیز میدهند.
تاریخچه:
اولین با از tag cloud ها در یک سایت پر بازدید به نام Flickr که در زمنیهی اشتراک عکس فعالیت داشت، استفاده شد. بعد از آن، استفاده از tag cloud در دیگر سایت های وب۲ مانند Del.ici.us و Technorati و … رواج یافت.
نقشهها نیز از این ایده برای نشان دادن روابط اندازهای بین اقلامی مانند اهمیت شهرها، بهره بردند.
ترجمهای آزاد از ویکیپدیا:
http://en.wikipedia.org/wiki/Tag_cloud
پ.ن.
1-نرمافزار http://wordle.net با جاوا نوشته شده. قبل از استفاده از این نرمافزار باید مرورگر خود را به پلاگین اپلت جاوا مجهز کنید.
2- راستی پرتره رسمی باراک اوباما رئیس جمهور ایالات متحده آمریکا به عنوان تصویر برگزیدهی هفتهی ویکیپدیای فارسی انتخاب شد.
رابط برنامه نویسی Google Reader به طور غیر رسمی منتشر شد
من همیشه از این گلایه میکردم که چرا Google رابط برنامه نویسی Google Readerش را منتشر نمی کنه (منظورم همون API هست). یه مدت بود که با این
Google Reader سر جنگ داشتم. سعی میکردم تا اونجایی که میتونم ازش دوری کنم و معتادش نشم. یه مدت از Bloglines استفاده میکردم و به دلیل سیاست بسیار خوبی که در زمینهی API داشت از استفادهی اون لذت میبردم.
به راحتی میتونستم با استفاده از نرمافزارهای third-party موجود به خوراکهام به صورت Offline دسترسی داشته باشم. اما از وقتی که به لینوک مهاجرت کردم با یک مشکل اساسی مواجه شدم و آن نبود نرمافزار مناسبی برای برای چک کردن خوراکهام بود. راستی یادم رفت بگم، تا زمانی که توی Windows بودم از GreateNews استفاده میکردم که امکانات بسیار خوبی برای Synchronize کردن خوراکها با Bloglines داشت.
خلاصه از وقتی اومدم به دنیای زیبای GNU/Linux مجبور شدم از همون Google Reader قدرتمندی با امکانات قدرمتند اون در به اشتراک گذاری خوراکها استفاده کنم. البته یک مدتی هم به سرم زده بود بشینم یک خوراکخوان اختصاصی برای Bloglines بنویسم.
یک مدت گذشت و ما هم با همین وضع کنار آمدیم تا اینکه چند روز پیش این خبر به گوشم خورد:
Niall Kennedy اخیرا جزيیات رابط برنامهنویسی Google Reader را به صورت غیر رسمی منتشر کرد. البته این API رسمی نمیباشد و توسط Google پشتیبانی نمیشود. نکتهی قابل توجه اینجاست که Kennedy اعلام کرده که او تصدیقنامهای از Google به خاطر گزارش این API به صورت دقیق دریافت کرده.
همچنین Kennedy اعلام کرده که Jason Shellan، مدیر پروژهی تیم Google Reader گفته که به زودی Google رابط برنامهنویسی Google Reader را به طور رسمی اعلام خواهد کرد.
واقعا جای تاسف هست که Google باید بعد از اینکه APIش توسط دیگران فاش بشه قبلا اون را به صورت رسمی منتشر نکرده. شاید این واقعه برای من به یک کابوس تبدیل شده بود. همیشه از اینکه google reader رابط برنامهنویسیش را اعلام نمیکرد در عذاب بودم.
از این پس باید شاهد تحول بسیار بزرگی در زمینهی خوراک خوان های تحت و روی میزی در سال جدید باشیم. مطمئنا third-party های قدرتمندی در این زمینه به فعالیت میپردازند. از مزایای استفاده ازاین API در ساخت Feed Aggregatorها این هست که:
- گوگل و تیم مهندسی آن و همچنین serverهای قدرتمند آن دارای توانایی بالایی در عملیات واکشی feed ها (parse) و همچنین دریافت فرمهای متفاوت feed از جمله XML و RSS 1.0 , RSS 2.0 , Atom 0.3 , Atom 10 و … میباشد. عملیاتی چون validation خوراک ها نیز از معضلات موجود در سر راه برنامه نویسان میباشد که همگی این فرایند ها در google reader انجام می شود. و برنامه نویسان نیازی به تمرکز بر روی واکشی خوراک ها با فرمت های مختلف را ندارند زیرا این API تنها یک خروجی دارد.
- کاهش هزینهها در پهنای باند مصرفی: در استفاده از این API دیگر نیازی به بررسی کردن آدرس خوراک های مختلف را نداریم. علی الخصوص اینکه با هر بار بررسی آدرس خوراکها تنها تعداد معدودی از خوراک ها به روز شدهاند و در نتیجه مصرف پهنای باند کاربر به شدت پایین خواهد آمد.
- استفاده از امکانات Web 2.0: همان طور که میدانید یکی از دلایل محبوبیت خوراک خوان Google Reader، امکانات اشتراکی آن میباشد. که باز هم میتوان از طریق این API میتوان به اقلام اشتراکی نیز دسترسی داشت.
- بازدهی بیشتر در کامپیوترهای قدیمی: به علت استفادهی شدید از JavaScript و تکنولوژی Ajax در این خوراک خوان. باعث سنگین شدن بیش از حد آن شده به طوری که عملا با استفادهی منابع زیادی از سیستم باعث کند شدن فعالیت سیستم عامل میشود. اما در صورت استفاده از نرمافزارهای third-pary در کامپیوتر های قدیمی میتوان از استفادهی بیش از حد منابع سیستمی جلوگیری کرد.
- طراحی خوراکخوان برای تلفن همراه: از این بعد میتوان شاهد سیل عظیمی از نرمافزارهای خوراک خوان برای تلفنهای همراه بود.
اطلاعات بیشتر:
Linux 2.6.27 has been released
این جوری که فهمیدم بعد از این که یک نرمافزار شروع به نوشتن اطلاعات روی disk میکنه این اطلاعات با کمی تاخیر نوشته مبشه. یعنی قبل از نوشته شدن روی disk روی RAM ذخیره میشه. یکی از مزایای این روش ذخیره سازی این هست که disk سخت نیاز کم تری به disk fragmentation پیدا میکنه.
دوم اینکه یک FileSystem دیگه به نام UBIFS و OMFS برای flash deviceها که توسط Nokia توسعه یافته، به FileSystem های دیگر Linux اضافه شد.
توضیح اینکه این FileSystem بر خلاف بقیهی فایل سیستم ها با حافظههای بلوکی کار نمی کند بلکه تنها برای حافظههای flash ساخته شده است.
به اضافهی خیلی از تغییرات سخت افزاری دیگه که در حیطهی کاری من نبود منم بررسی نکردم.اطلاعات بیشتر
تغییر اندازهی عکسها با یک اشاره
اما یک مطلب را همیشه درنظر دارم و اون اینه که تو GNU/Linux برای هر کاری حداقل n راه و حداکثر n^n راه وجود داره!) پست دست به کار شدیم و توی google به جستوجوی روش های دیگه. اما نتیجه:
1- Nautilus Image Convertor
یک برنامه ی 24 کیلو بایتی! باورتون میشه! برای دوستان GNU/Linuxی که جز بدیهیات هست. بله با همین برنامه ی کم حجم به راحتی عکسهام را select کردم و کلیک سمت راست و resize و انتخاب اندازه ی عکس و تمام!
برای نصب روی توزیعهای مبتنی بر Debian:
sudo apt-get install nautilus-image-converter

2- Nautilus Image Script
اما برای دوست داران Kde:
-3 kim
باز هم در نتایج google جا داشت که به جست و جو بپردازم اما به همون اولی کارم را راه انداخت.
گزارش جشن روز آزادی نرمافزار-اصفهان 2008
ساعت 2 بعد از ظهر:
از پیش از ظهر تا ساعت 2 دنبال یکی از کارهای جشن بودم. خسته و کوفته وارد سالن اهل البیت شدم. بهراد و روزبه و امیر و میثم خضرلو و … داشتند یکی یکی روی CDهای جشن برچسب جشن آزادی نرمافزار روی CDها می چسباندند. قضیهی این CDها چیه؟ OpenCD. چی هست؟ یک سری نرمافزار آزاد برای سکوی Windows مثل 7zip و OpenOffice و gimp و… به چه دردی میخورند؟ خوب این نرمافزارها به بچه ها کمک می کنه که تفاوت کیفیت نرمافزارهای آزاد و انحصاری را از نزدیک اون هم بدون درد و سر با نصب روی Microsoft Windows درک کنند. مطمئنا خودشون تفاوت را درک خواهند کرد. خوب بگذریم. چی داشتم می گفتم؟! آهان ما هم بیکار ننشستیم. شروع کردیم به کمک و زدن برچسب ها روی CDها. جا داره همین جا از سجاد بارودکو بابت تمام طراحی های جشن تشکر کنم. از پوسترها و بنرهای تبلیغاتی گرفته تا همین برچسبها و stickerها و غیره.
از شانس بد ما دوربین همرام نبود. حیف شد. چند صحنهی زیبا و قشنگ از همکاری بچه ها را از دست دادم. حدود ساعت 2:45 دقیقه بود که دست از کار کشیدم و رفتم دوربینم را بیارم. تا اومدم برم و آماده بشم و برگردم یه یک ساعتی طول کشید.
ساعت 4 بعد از ظهر:
هنوز از شرکت کنندگان در جشن خبری نیست. انگار ما ایرانیها یاد گرفتیم که همیشه دیرتر از موعد در مراسم حضور پیدا کنیم. شاید اینجوری میخواهیم هوش و ذکاوت و زیرکی خودمان را نشان دهیم.
قبل از شروع مراسم جشن چند تا عکس از نمای بیرونی ساختمان اهلالبت گرفلتم.

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

میثم خضرلو(سمت راست) هم در حال راهنمایی میهمانان برای ثبت نام و دریافت OpenCd و ورود به سالن همایش:

مرحلهی بعدی هم هدیهی OpenCD هست:

خوب این راهرو را طی می کنیم و وارد سالن دیگری می شویم. وسط سالن یک میز مزین به بادکنکهای SFD مشاهده می شود:

خوبه با هم یک سری به اتاق فرمان بزنیم و ببینم آقای شهبازی با همکارانشون در چه حالی هستند:

ساعت 4:07:
آقای فکار با امید و بهراد در حال تنظیم مراسم جشن. اینم یه عکس از روی لیست تنظیم شدهی مراسم امروز:

ساعت 4:27:
از دور همراه تکان دادن دستها. سلام آقای ادیب. نزدیک تر میشویم تا با جزئیات کار ایشان آشنا شوی. آهان، دارند persent مربوط به سمینارشون را آماده می کنند. اقای ادیب منو نگاه کنید: اینم از عکس:

ساعت 4:47:
بعد از شروع مراسم و تلاوت قرآن و معرفی موسسهی اهلالبیت و … نوبت میرسه به سمینار آقای ادیب با محوریت معارفهی گروه کاربران لینوکس اصفهان و تاریخچه و سابقهی آن:

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

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

بعد از اون هم آقای ناصر (امید) غانمزاده طبق معمول در مورد کسب و کار نرمافزار آزاد/متنباز صحبت کردند. موضوع داغی که همیشه طرفداران نرمافزار های انحصاری در این مبحث متحیرند.



روزبه و امیر هم که آنلاین شدند و روزبه در حال گزارش مراسم جشن به صورت آنلاین در وبلاگش:

سپس در جلسهی پرسوپاسخ آقایان غانمزاده و ادیب و اسلامی فر به سوالات میهمانان پاسخ میدادند.

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

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

دز آخر سر هم از تمام دوستان به ویژه آقای فکار که این چند روزه فشار زیادی به ایشون وارد شده تشکر و قدردانی می کنم. همچنین از دوست خوبمون سجاد بارودکو که به دلیل مشغلهی کار نتونستند در جمع ما حضور پیدا کنند تشکر میکنم.
در این باره:
کمی بی ربط به مراسم امروز
جشن روز آزادی نرمافزار در اصفهان برگزار شد
ایجاد partition Swap برای گوشی Motorola A1200
خوب گوشی Motorola A1200 هم از این قاعده مثتثنی نیست. پس ابتدا سعی می کنیم داخل Memory Card یک Partition مجازی Swap ایجاد کنیم. سپس با استفاده از فرمان swapon اونو فعالش میکنیم.
خوب برای شروع باید بگم که نیاز دارید برنامه ی ekonsole را روی گوشیتون نصب کنید تا به خط فرمان Linux دسترسی پیدا کنید.
حال مراحل زیر را اجرا کنید. (مراحل زیر را در یک رایانهی مجهز به Linux انجام دهید زیرا فرمان mkswap در A1200 موجود نمیباشد.)
dd if=/dev/zero of=/swp bs=1 count=32Mmkswap swp
فایل swp ایجاد شده را به Memory Card گوشیتان منتقل کنید.
سپس وارد برنامهی ekosole شوید و فرمان زیر را اجرا کنید:
swapon /mmc/mmca1/swp
برای حصول اطمینان از اینکه Patition Swap فعال شده یا نه فرمان زیر را اجرا کنید:
cat /proc/meminfo
دقت کنید پس از اجرای این فرمان جلوی swap total عدد 32768 وجود داشته باشد.
حالا میتوانید برنامههای بیشتری را به طور همزمان باز کنید.















