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

سعید پرسیده:

سلام جادی جان.
یه سوال داشتم ازت.
من چند مدته دارم آموزش سی شارپ رو یاد میگیرم از طریق سایت 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 وجود داره که اینطوری تعریف می شه «تعداد مانیتوری که یک سیستم ویندوزی باید داشته باشه تا یک علاقمند لینوکس با لذت پشتش بشینه و کار کنه»

jadi_while_programming

باگ امنیتی آی او اس ۷

الان تست کردم واقعا کار می کنه. آیفون لاک شده دوستانی که آپگرید کردن به این آی او اس شبیه اندروید رو بردارین و دگمه‌اش رو نگه دارین تا سیری بیاد بگه «کاری داشتین؟». بعد با کمی لهجه خارجی بگین «Turn on airplane mode». از تون می پرسی «مطمئنی؟» که می گین «Yes» و موبایل دوستتون از انواع شبکه ها قطع می شه و دیگه نه زنگ می خوره و نه چیز دیگه. اینکار مستقل از اذیت و آزار و بامزه بازی و کل کل ممکنه توسط دزدهای آیفون هم استفاده بشه که شما نتونین گوشی دزدیده‌شده‌تون رو مکان‌یابی کنین.

برنامه روز آزادی نرم‌افزار در تهران

اگر کمی از آزادی، گنو، لینوکس، … سر در می یارین و دوست دارین یک روز خوب رو کنار بچه‌های همفکر چیز یاد بگیرین و بحث کنین و چیز یاد بدین و در اصفهان هم نیستین و ساکن تهران و حوالی هستین، سری به اینجا بزنین:

TehranSFD

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

گربه بداخلاق، اینترنت گنو می خواد

grumpy_nsa

عکس از تظاهرات «Freedom not fear | آزادی؛ و نه ترس» برلین آلمان گرفته شده. میم گربه بداخلاق توی پوستری که لوگوی پایرت پارتی رو داره درخواست یک اینترنت جدید و آزاد و گنو رو داره چون سازمان امنیت ملی آمریکا اینترنت فعلی رو نابود کرده.

منبع

کیا پایه‌ان یه جزیره بخریم؟

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

ماجرا اینه که این جزیره رو می فروشن – تمیز دست دو، قیمت کف بازار و دور رنگ برای رخ بهتر:

cimage_a4d666ed01-thumbb

قیمت؟ ناقابل ۷۵هزار دلار کانادا. واقعا ناقابل. یعنی اگر ده نفر دور هم جمع بشیم و برای فان نفری ۲۰ میلیون بذاریم صاحب این جزیره می شیم. مساحتش ۱۲هزار متر مربع است، اسمش فعلا جزیره روباهه و با ده دقیقه قایقرانی از نزدیکترین اسکله می شه بهش رسید (حالا اینکه چطوری برسیم به اون اسکله رو یک جوری باید حل کنیم بعدا). بعدا هم اسم رو عوض می کنیم هم براش پرچم طراحی می کنیم.

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

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

شما پایه بودین یکی از ده نفر باشین؟ شکل ادراه اش باید چی می بود؟ چه برنامه ای براش داشتین؟

ایده اصلی از این نوشته اومده که یک گروه اینکار رو کردن و دربارش نوشتن

*عدم* دزدی مطلب توسط تکنولایف

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

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

نموداری در توضیح خودش

chart

منبع

نکته: هر نموداری که روی محورهاش عدد و توضیح و مقایس درست ننوشته باشه رو نباید جدی گرفت.

لگو و مینی فیگور دانشمند زن

legoooo1

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