الان این خبر خوب رو دیدم که ای آی ویوید ارائه دهنده دیتاسنتر و هاستینگ و سرورمجازی و بقیه تکنولوژیهای زیرساختی مورد علاقه من، که عضو رایپ است، خدمات ثبت رو در این منطقه به سرویسهاش اضافه کرده. بهشون تبریک می گم و توصیه می کنم اگر دنبال کولوکیشن یا وی پی اس یا هاستینگ و اینجور چیزها هستین ، به این شرکت سوئدی هم سری بزنین چون طبق تجربه ای که من باهاشون داشتم سرویسهاشون خوبه و امکانات معقولی رو با قیمت خوب می دن.
چرا گنو لینوکس رو دوست دارم: دانلود کردن خودکار هر فصل جدید به محض انتشار
سعید پرسیده:
سلام جادی جان.
یه سوال داشتم ازت.
من چند مدته دارم آموزش سی شارپ رو یاد میگیرم از طریق سایت webtarget.ir
و اینجوریه که هر از چند مدت یه آموزش میزاره و من دنبال میکنم. میخ,استم بدونم راهی هست که من بدون اینکه مراجعه کنم به سایت و هر دفعه فایل های پی دی اف رو دانلود کنم بتونم با یه اسکریپت یا یه کد توی ترمینال تمام آموزهای سی شارپ رو توی یه فولدر دانلود کنم؟
ضمنا اینم آدرس یکی از فایل های پی دی اف آموزش سی شارپ هست و جاهایی که هر دفعه تغییر میکنه رو توی لینک دوم با ستاره برات مشخص میکنم.
http://dl.webtarget.ir/027-cSharpTime/session-33/cSharpTimeSession-33.pdf
http://dl.webtarget.ir/027-cSharpTime/session-**/cSharpTimeSession-**.pdf
خب.. سوال های اینجوری مثل یک پازل یا جدول بامزه هستن که جلوی تلویزیون لم می دیم و حلشون می کنیم. البته از نظر عقلی این سایت باید حتما RSS داشته باشه که بشه به سادگی دنبالش کرد ولی خب… ایده شما چیه؟ ایده من اینه که کافیه یکی از این فایل ها توی یک دایرکتوری باشه و ما روزی یکبار از اون دایرکتوری ls بگیریم و در آخرین فایل دانلود شده (بالاترین عدد در اسم ها) نگاه کنیم و عدد فایل رو جدا کنیم و بهش یکی اضافه کنیم و دانلودش کنیم. اگر فایل جدیدی بود دانلود می شه و اگر نبود چیزی دانلود نمی شه. فردا هم روز از نو روزی از نو.
برنامه ساده می شه این:
#!/usr/bin/python
import os, re
# یک ال.اس. می گیرم از فایل های مشابه اون کتاب و سورت و خط آخر رو جدا می کنم
f = os.popen('ls -1 cSharp*pdf | sort | tail -1')
lastdl = f.read()
# متغیر حاوی بخشی از اسم فایل است که عدد سریال توش قرار داره + ۱
lastNum = str(int(re.search ('cSharpTimeSession-(\d+).pdf', lastdl).group(1))+1)
# یک کامند می سازم که با دبلیوگِت شماره بعدی رو دانلود می کنه
dlCommand = "wget http://dl.webtarget.ir/027-cSharpTime/session-" \
+ lastNum + "/cSharpTimeSession-" \
+ lastNum + ".pdf"
# اجراش می کنم
f = os.popen(dlCommand)
و البته اگر بخوایم به حالت های خاص جواب بدیم و مثلا خودمون اگر هیچ فایلی نبود به اولین فایل یک عدد بدیم (ظاهرا در سایتشون اولین نسخه شماره ۰۴ است) یا اگر زیر ۹ بودیم یک صفر اولش اضافه کنیم و … برنامه می شه این:
#!/usr/bin/python
import os, re
try:
f = os.popen('ls -1 cSharp*pdf | sort | tail -1')
lastdl = f.read()
lastNum = int(re.search ('cSharpTimeSession-(\d+).pdf', lastdl).group(1))
except:
lastNum = 3 #first file there is 4. so we'll assume that the current one is 3
if lastNum < 9:
lastNum = "0" + str(lastNum+1)
else:
lastNum = str (lastNum + 1)
dlCommand = "wget http://dl.webtarget.ir/027-cSharpTime/session-" \
+ lastNum + "/cSharpTimeSession-" \
+ lastNum + ".pdf"
f = os.popen(dlCommand)
منطقا این رو باید در یک کرون بذاریم یا سری اول با تکنیک watch python ./autodlcSharpbook.py دانلودش کنم که همه شماره ها رو بگیره یا مثلا اگر خروجی دستور موفقیت آمیز بود یک ایمیل بزنیم به صاحب جریان که فایل بهش اتچ باشه یا چنین چیزهایی. اونش با شما و سلیقههای شخصیتون.
پ.ن. اینم من حین نوشتن این برنامه. اصلا دلیلی که الان نوشتم این بود که دو تا مانیتور داشتم. فردا باید مانیتورم رو تحویل بدم ولی باید درخواست یک مانیتور اضافی بکنم. به نظرم هیچ چیز به اندازه دو - یا بیشتر - مانیتور کامپیوتر رو برای یک گیک لذت بخش نمی کنه. احتمالا عددی به اسم w وجود داره که اینطوری تعریف می شه «تعداد مانیتوری که یک سیستم ویندوزی باید داشته باشه تا یک علاقمند لینوکس با لذت پشتش بشینه و کار کنه»

در ترجمه پروژههای آزاد به فارسی سهیم باشید
ترجمه یک نرمافزار به زبان بومی همیشه کار خوبیه چون باعث میشه گروهی که به زبان اصلی نمی تونن از برنامه استفاده کنن، فرصت استفاده از اون رو پیدا کنن. این ترجمه در برنامههایی که آزاد هستن و به شیوه درستی نوشته شدن به روشهای بسیار جالبی انجام می شه که اگر ندیدین پیشنهاد می کنم حتما سری بهش بزنین و نگاهش کنین. ترجمه اینجوری است که فایلهای جدا حاوی جملات و عبارات مورد استفاده در سایت هستن و شما می تونین توسط برنامههای خاص یا بعضی وبسایتها زبان خودتون به یک برنامه رو اضافه کنین و شروع کنین به ترجمه عبارتهاش و نظر دادن در مورد ترجمه بقیه و … به اینکار Internationalization میگن که در یک تکنیک بامزه خلاصه کننده به جاش i18n مینویسیم (۱۸ نشون دهنده تعداد کاراکترهای بین i و n است که برای خلاصه نویسی بیخیال نشوتنشون شدیم). اگر علاقمند هستین در یک پروژه ترجمه مربوط به لینوکس مشارکت کنین یا تجربیاتی در مورد این سیستمهای ترجمه گروهی کسب کنین سری بزنین به یکی از این پروژهها که روی سیستم ترجمه لانچ پد) در حال ترجمه شدن توسط برخی از دوستان هستن و همزمان منتظر کمک شما: آدرس پروژه های اوبونتو برای فارسی سازی، آدرس پروژه های لینوکس مینت برای فارسی سازی، آدرس پروژه های المنتری او اس برای فارسی سازی، آدرس پروژه کرومیوم برای فارسی سازی.
چیزی که عوض داره گله نداره: باگ فلایت مود در اندرویدها
دیروز از باگی نوشتم که می ذاره آی او اس ۷ رو بدون آنلاک کردن، آفلاین کنیم. این اشکال آی او اس ظاهرا یک فیچر در اندروید است که براش رابط کاربری و غیره هم طراحی کردن. کافیه در حالی که گوشی لاک است، دگمه پاور رو نگه دارین:

نکته: البته اینجا سیستم خیلی بازتر است و می شه تغییرش داد. رام محبوب سیانوژن برای این موضوع آپشن قابل کنترل گذاشته ولی از نظر سونی و سامسونگ و بقیه دوستان خیلی هم چیز خوبیه که یکی بتونه برای شوخی موبایل من رو آفلاین کنه!
باگ امنیتی آی او اس ۷
الان تست کردم واقعا کار می کنه. آیفون لاک شده دوستانی که آپگرید کردن به این آی او اس شبیه اندروید رو بردارین و دگمهاش رو نگه دارین تا سیری بیاد بگه «کاری داشتین؟». بعد با کمی لهجه خارجی بگین «Turn on airplane mode». از تون می پرسی «مطمئنی؟» که می گین «Yes» و موبایل دوستتون از انواع شبکه ها قطع می شه و دیگه نه زنگ می خوره و نه چیز دیگه. اینکار مستقل از اذیت و آزار و بامزه بازی و کل کل ممکنه توسط دزدهای آیفون هم استفاده بشه که شما نتونین گوشی دزدیدهشدهتون رو مکانیابی کنین.
برنامه روز آزادی نرمافزار در تهران
اگر کمی از آزادی، گنو، لینوکس، … سر در می یارین و دوست دارین یک روز خوب رو کنار بچههای همفکر چیز یاد بگیرین و بحث کنین و چیز یاد بدین و در اصفهان هم نیستین و ساکن تهران و حوالی هستین، سری به اینجا بزنین:

من بازهم نیستم چون روز کاری است وd من شدیدا درگیر کار ولی برین و امیدوار باشین که پشیمون نخواهید بود.
گربه بداخلاق، اینترنت گنو می خواد

عکس از تظاهرات «Freedom not fear | آزادی؛ و نه ترس» برلین آلمان گرفته شده. میم گربه بداخلاق توی پوستری که لوگوی پایرت پارتی رو داره درخواست یک اینترنت جدید و آزاد و گنو رو داره چون سازمان امنیت ملی آمریکا اینترنت فعلی رو نابود کرده.
کیا پایهان یه جزیره بخریم؟
اگر این مفهوم عجیب که ما حق داریم به یک سطحی از کره زمین ادعای مالیک کنیم و بگیم «این تیکه خاص از این سیاره خاص مال شخص بنده است» و به هر کس هم اعتراض کرد بگیم «اینم سندش» و اگر اعتراض رو ادامه داد بدیم پلیس بندازتش زندان، براتون یک پیشنهاد خوب دارم: خرید یک جزیره.
ماجرا اینه که این جزیره رو می فروشن – تمیز دست دو، قیمت کف بازار و دور رنگ برای رخ بهتر:
![]()
قیمت؟ ناقابل ۷۵هزار دلار کانادا. واقعا ناقابل. یعنی اگر ده نفر دور هم جمع بشیم و برای فان نفری ۲۰ میلیون بذاریم صاحب این جزیره می شیم. مساحتش ۱۲هزار متر مربع است، اسمش فعلا جزیره روباهه و با ده دقیقه قایقرانی از نزدیکترین اسکله می شه بهش رسید (حالا اینکه چطوری برسیم به اون اسکله رو یک جوری باید حل کنیم بعدا). بعدا هم اسم رو عوض می کنیم هم براش پرچم طراحی می کنیم.
خب… نظرتون چیه؟ من شاید اگر واقعا توی کانادا بودم یک ایمیل به پنجاه نفر از دوستام می زدم ببینم کی پایه است جزیره داشته باشیم (: بیست تومن واقعا چیز زیادی نیست. پول یه پراید سفید (:
همین الان هم اگر از نظر قانونی بشه پایه ام. تازه می تونیم بیزنیس های جانبی بزنیم. مثلا مواد جاساز کنیم توش یا قایق بگیریم بریم کانادا با دوستامون و مطمئن هم باشیم که پلیس مرزی حوصله نمی کنه بیاد تا اینجا ما رو بیرون کنه و کم کم هم می تونیم به بهانه رفتن به بقالی به سرزمین اصلی سر بزنیم. ایده های دیگه می تونه درست کردن یک بهشت برای گیمرها باشه (البته بدون اینترنت) یا درست کردن محیط فانتزی جنگ ستارگانی یا یک مجموعه تفریحی خانوادگی یا حتی یک کمپ کمونیستی اشتراکی برای کسایی که دوست دارن تجربه اش کنن (و خودمون که بهمون خوش می گذره).
شما پایه بودین یکی از ده نفر باشین؟ شکل ادراه اش باید چی می بود؟ چه برنامه ای براش داشتین؟
ایده اصلی از این نوشته اومده که یک گروه اینکار رو کردن و دربارش نوشتن