جادی تی وی ۰۱۰ – بررسی مشکلات اختراع دوباره چرخ با کمک پایتون و اسکرپینگ و ردیس

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

لینک روی یوتیوب و هر کس هر جای دیگه آپلود کنه و لینک بده، باعث خوشحالی و دعای خیر پشت سانسوری‌هاست (:

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

شطرنج مخفی در مسنجر فیسبوک رو فعال کنید

chess

مسنجر فیسبوک چیز فوق العاده‌ای است. من هر وقت بحث تکنولوژی می شه مثالش می زنم و در موردش نظر می دم ولی خب متاسفانه تا حالا وقت نشده تو وبلاگ بهش بپردازیم. توی این مسنجر شما می تونین:

  • چت کنین
  • استیکر و عکس و … بفرستین
  • تماس تصویری بگیرین
  • پول جابجا کنین

و شطرنج بازی کنین. برای اینکار کافیه به سادگی پیامی با این بفرستین:

@fbchess play

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

@fbchess b3 #پیاده ستون بی، به خونه سوم بره
@fbchess Nf3 #اسب به خونه اف سه
...
@fbchess help #راهنما لطفا

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

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

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

این تصویر بود که باعث شد این بخش رو بالاخره شروع کنم:

sarbaz

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

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

sarbaz_real

با بارور کردن همه فانتزی‌هاشون به این تصویر رسیدن که در تظاهرات هم شرکت می کنه:

sarbaz

و هیچ اعتراضی هم نشده که آیا واقعا برای این صحنه یک مرد اپیلاسیون کرده، آرایش کرده، سینه گذاشته، ماتیک زده، دماغ عمل کرده، مو روشن، ابرو برداشته، ابرو رنگ کرده و … لازم بوده؟ یا این هیجان انگیز تره برای دوستان و این یک کانال رسمی است برای تخلیه این نوع هیجان ها. درست مثل هالووین خارج.

لایسنس های نرم افزاری چیستند

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

eula2

وقتی نرم‌افزاری رو نصب می کنین معمولا قبلش یک «توافقنامه» رو امضا می کنین که مرتبط با شرایط استفاده از نرم افزار است. این لایسنس یا اجازه‌نامه به شما چیزهایی مثل این رو می‌گه که

  • کجا،‌ چجوری، چه زمانی، در چه شراطی،‌ چند بار و … اجازه دارین این نرم افزار رو نصب کنین
  • آیا اجازه دارین این برنامه رو برای خودتون یا یکی دیگه کپی کنین
  • آیا اجازه دارین برنامه رو تغییر بدین یا حداقل سورس اون رو ببینین
  • اطلاعاتی که این برنامه ذخیره می کنه از نظر قانونی چه وضعیتی دارن و آیا متعلق به شما هستن یا کس دیگه

در واقع اون YES که معمولا در انتهای متن «توافقنامه مجوز برنامه»‌ یا به شکل خلاصه یولا (EULA) می‌زنیم دقیقا مشخص می‌کنه که استفاده از این نرم‌افزار چه حقوقی رو به ما می‌ده و چه حقوقی رو از ما سلب می‌کنه؛ مثلا خیلی ها می گن «اگر این برنامه به شما صدمه زد، نویسنده برنامه مسوولیتی نداره» یا «من قبول می کنم که هیچ تلاشی برای نفوذ و مهندسی معکوس این برنامه نکنم». این لایسنس فقط و فقط با نوشتن اون توافقنامه در اول و امضا گرفتن از کاربر معتبر می شه یا حتی اگر نیازی به تایید کاربر نباشه، می شه فقط بالای برنامه نوشت که لایسنس این برنامه فلان است و این حقوق محفوظ و فلان حقوق واگذار شده یا حتی لینک داد به یک منبع دقیق‌تر به لایسنس.

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

  1. کاربران باید اجازه داشته باشند که نرم‌افزار مورد نظر را برای هر قصد و منظوری اجرا کنند.
  2. کاربران باید اجازه داشته باشند نرم‌افزار را مطابق با نیازهای خود تغییر دهند. برای رسیدن به این هدف، کدهای منبع نرم‌افزار باید در اختیار کاربر قرار گیرد.
  3. کاربران باید اجازه داشته باشند نرم‌افزار را مجدداً منتشر کرده و در اختیار دیگران قرار دهند. این کار می‌تواند به صورت رایگان و یا در ازای دریافت مبلغی پول صورت گیرد.
  4. اگر کاربری نرم‌افزار را تغییر داد، باید اجازه داشته باشد آن را مجدداً منتشر کرده و در اختیار دیگران قرار دهد. (در مورد نرم‌افزارهای کپی‌لفت، لازم است تا کدهای منبع نرم‌افزار تغییریافته نیز در اختیار کاربران دیگر قرار گیرد)

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

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

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

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

fairwave2

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

داشتم راجع به شبکه های موبایل فکر میکردم و اینکه چه سخت افزار یا نرم افزاری پشتشون هست، نمیشه یک نسخه کوچیکش رو داخل خونه راه انداخت و با همین موبایل ها بهشون و صل شد و بجای بیسم از اینها که برد بهتری هم داره و هر کسی یکی تو جیبش هست استفاده کرد؟

جواب به شکل جالبی «بله» است. البته در کشوری که از نظر قانونی اینکار اشکال نداشته باشه و همه سیستم های مخابراتی الزاما زیر نظر برادربزرگ نباشن (: جالبتر از همه اینه که اتفاقا اینکار خیلی هم سخت نیست. چیزی که شما لازم دارین کمی نرم افزار است و یک آنتن که بتونه به زبون موبایل‌ها حرف بزنه.

GSM_NIB-01-1024x388

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

render-banner

بحث شبکه‌های مخابراتی موبایل مفصل است ولی در کل لازمه بدونیم که برای راه افتادن یک شبکه GSM نیازمند اجزای متنوعی هستیم که اکثرا یکسری حروف اختصاری هستن (: چیزهایی مثل BS، MSC، VLR، HLR و SMSC که آخری سرویس دهنده اسمس است. شرکت‌هایی مثل FairWaves پک‌های ساده ای دارن که می تونین سر یک دکل نصب کنین و کل این سیستم‌های رو به شکل فشرده و عمدتا نرم‌افزاری راه بندازین. نمونه دیگه‌ای از این شرکت‌های ارائه کننده تجهیزات راه اندازی شبکه شخصی NuranWireless است.

70359743_antennae1

اما آیا این شبکه که کلا از یک دونه BSC تشکیل شده مفیده؟ تقریبا نه چون فقط به شما اجازه می‌ده در یک محیط بسیار محدود با همدیگه حرف بزنین. راه حل چیه؟ وصل کردن این شبکه‌ها از طریق سیستم‌های ساده و آزاد و بازمتن VoIP به همدیگه و درست کردن چیزی شبیه به roaming یا اصولا یک تکه کردن شبکه‌های کوچیک با هم (مثلا داشتن یک HLR واحد). با اینکار تمام کسانی که در این حوالی هستن می تونن با همدیگه حرف بزنن و حتی اگر دولت VoIP رو ممنوع و سانسور و غیره نکرده باشه،‌ این امکان به وجود می‌یاد که من و دوستانم در حومه کرج،‌ با چند نفر از فامیل که در حومه نیویورک زندگی می کنن یک شبکه موبایل شخصی داشته باشیم که تماس در اون شبکه رایگان باشه (:

20150307_TQP013_0

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

لینوکس ساکس ۲۰۱۶

ویدئوهای لینوکس ساکس‌ یا مثلا لینوکس چرته دیگه به یکی از روتین‌های سالانه دنیای لینوکس تبدیل شدن. ویدئوهایی که برایان لاندوک توشون هر سال به مشکلات لینوکس اشاره می‌کنه، شوخی می کنه، آدم‌ها رو می خندونه و می گه چرا لینوکس چرته… و البته آخرش هم بر می گرده به اینکه لینوکس بهترین انتخاب است ولی به هرحال این اشکالات رو هم داره.

این ویدئو برای کسانی که لینوکس رو دوست دارن، شدیدا پیشنهاد می‌شه و البته از عنوانش معلومه که کلمات نامناسب برای محیط کار داره.

با تشکر از سعید زبردست برای فرستادن لینک.

انتشار رایگان پی دی اف کتاب‌های مصور قدیمی آموزش کامپیوتر به کودکان

free_children_compuer_book

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

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

نظر کارگروه بازداشت خودسرانه سازمان ملل مورد آسانژ

assange

بالاخره رای‌ای که چند روزی است ازش حرف زده می‌شه اعلام شد. کارگروه سازمان ملل رای داد که حقوق اولیه و آزادی‌های جولین آسانژ توسط دولت‌های انگلستان و سوئد نقض شده. آسانژ این حکم رو «موفقیت چشمگیر» خونده و وزیر امور خارجه انگلستان اون رو «مضحک».

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

بعد از این ماجراها و چند بار بازداشت موقت آسانژ و دادگاه ها و … آسانژ به سفارت اکوادور در انگلیس رفت و اونجا پناه گرفت – در کشورهای دیگه سفارت جای محترمی است و کسی نمی تونه وارد سفارت یک کشور دیگه بشه و یک متهم رو دستگیر کنه. حالا پلیس انگلیس اعلام کرده که نظر کارگروه بازداشت خودسرانه سازمان ملل در این مورد مهم نیست و آسانژ به محض خروج از سفارت دستگیر خواهد شد.

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

مرتبط