مار خوش خط و خال در ردایِ جاوا اسکریپت

نوشته شده توسط رامین در ۱۹ شهریور ۱۳۹۳

یکی از مشکلاتِ اصلی آدم‌هایی که برنامه‌نویسیِ سمتِ سرور و یا تحتِ کنسول می‌کنند این است که گهگاه بنا به دلایلی یک‌دفعه مجبور می‌شوند بروند سراغِ چیزهایی مثلِ اینترفیس، اینجاست که برنامه نویس احساس می‌کند واردِ سرزمینِ عجایب شده و با نمایش دادنِ یک Alert با جاوا اسکریپت چنان ذوقی می‌کند گه انگاری مرزهایِ علم و دانشِ بشری را به‌کلی جابجا کرده و بابی جدید در علوم یومیه گشوده. این موضوع وقتی هیجان‌انگیز تر می‌شود که برنامه‌نویس پایتون با آشنایی خیلی کم با جاوا اسکریپت بخواهد یک چیزی شبیه به این در بیاورد (قبل از ادامه کلیک کنید!)
کافی است کدِ صفحه را ببینید تا متوجه شوید که این قسمت با زبانِ پایتون  نوشته‌شده است.
تعجب کردید؟ درآوردن چنین چیزی با jquery-ui خیلی پیچیده است برایِ شخصِ من ولی همین را با کیفیتی مشابه می‌توانم با چند خطِ پایتون شبیه‌سازی کنیم. ولی رازِ داستان چیست؟

wallpaper_rayman_raving_rabbids_2_04_800

ادامه مطلب …

تقویم پایتون با مناسبت‌ها! زشت ولی کارا

نوشته شده توسط رامین در ۳ شهریور ۱۳۹۳

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

Screenshot - ۱۴۰۸۲۵ - ۱۰:۲۴:۳۲

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

شکل‌دهی رویدادها و چیزهایی شبیه به آن را هم از تقویم گنوم برداشتم که یک کار فوق‌العاده از امید است و اگر فکر می‌کنید این کد پایتونی بدرد می‌خورد می‌توانید بروید به فاندلی و به تقویم امید کمک کنید و حتی اگر فکر می‌کنید تقویمی که نوشتم بدرد نمی‌خورد بازهم می‌توانید به لجِ من بروید به سایتِ فاندلی و دوباره از امید حمایت کنید.
اگر حس می‌کنید این تقویم جایِ کار دارد پس آن را توسعه دهید.
اگر فکر می‌کنید این تقویم را می‌توانید به‌عنوان پروژه‌ی دانشجویی به استاد تحویل دهید و یا در پروژه‌ای شبه تجاری از آن استفاده کنید در دزدیدنِ کدِ آن آزادید.
خلاصه ان که دوباره تأکید می‌کنم این‌یک کد خوب نیست! این کدی است که کار می‌کند (تقریباً)
پ ن: بعضی جاها رویدادهای هجری درست نیست!
https://github.com/RaminNietzsche/pakman

github

رفتن به صفحه‌ی پروژه(!) در گیت‌هاب

روزی که نیچه از کنفوسیوس کارت زرد می‌گیرد

نوشته شده توسط رامین در ۲ دی ۱۳۹۲

گروهِ «مونتی پایتون» را دو دسته از افراد می‌شناسند، یک دسته آن‌هایی هستند که دوران طلایی این گروه را به یاد دارند و یا در دانشکده‌های بازیگری و امثالهم نامی از آن‌ها می‌شنوند و دیگر دسته آن‌هایی که به واسطه‌یِ زبان برنامه نویسیِ پایت ون با این گروه آشنا شده‌اند و بالطبع آشنایی از نوعِ دوم تنها به نامی خلاصه می‌شود و شاید دیدنِ تصویری در گو گل.
فیلمِ زیر کاری است از گروهِ مونتی پایتون برایِ المپیکِ ۱۹۷۲ که در آن دو تیمِ آلمان و یونان با هم فوتبال بازی می‌کنند و این بازی نه بینِ فوتبالیست‌هایِ دو کشور بلکه بینِ فلاسفه‌یِ این دو تمدن است هرچند که فرانتس بکن‌باوئر را می‌توانید با لباسِ ورزشی در ترکیبِ تیمِ فلاسفه‌یِ آلمان ببینید که متعجب و گیح در زمین قدم میزند.
دیدنِ این مسابقه حالی از لطف نیست مخصوصا اگر اندک علاقه‌ای به فلسفه دارید.

ادامه مطلب …

اپلیکیشن ایدنتیکا برایِ گوشیِ نوکیا ۱۱۰۰

نوشته شده توسط رامین در ۱۹ فروردین ۱۳۹۲

یا از سری پست‌هایِ چرا گنو/لینوکس را دوست دارم! به سبکِ @jadi

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

dsfsdfsdf

و و و! این کپچرِ لعنتی دیگر کجا بود؟ لعنت به این امنیتِ احمقانه!

Screenshot from 2013-04-08 00:45:41

ادامه مطلب …

pakman سریع‌تر از pacman

نوشته شده توسط رامین در ۲۸ اسفند ۱۳۹۱

super-fast-pacman-fb-Facebook-Profile-Timeline-Cover

چند روزی است که از سرِ کنجکاوی و اجبار به سراغِ توزیعِ آرچ رفته‌ام. کنجکاوی‌اش برایِ این بود که مدت‌ها قبل تصمیم داشتم سری به این توزیع بزنم و بسیار از آن شنیده بودم ولی اجبار باعث شد تا این کار را بکنم. در حقیقت بنا به دلایلی مجبور شدم :
بگذریم…
وقتی به سراغِ آرچ می‌روید اولین چیزی که شاید جلبِ نظر کند، وابستگیِ این توزیع به اینترنت است، یعنی شما نیاز دارید که برایِ نصبِ تقریباً هر ابزاری، اول آن‌را از اینترنت دریافت کنید و ایزو ۲۰۰ مگابایتیِ آرچ قرار نیست دنیایی از ابزارها و بسته‌ها را برایِ شما به ارمغان بیاورد و این مزیتِ آرچ است و نه عیبِ آن چون مدل توسعه‌یِ آرچ رولینگ است در نتیجه چیزی که امروز در نصاب قرار دهد ممکن است فردا قدیمی شده باشد و از طرفی آرچ خداوندِگارِ قابلیت برایِ شخصی سازی است و شما در نصبِ هر چیزی مختارید.
همه‌یِ این‌ها را گفتم تا بدانید که آرچ توزیعِ خوبی است و آن چیزی که خوب نیست در واقع شبکه‌یِ به اصطلاح اینترنتِ ماست (که البته بستری است برای لنگر کشتی و دندانِ کوسه و این چیزها و مراقبت می‌کند که خدایی نکرده چیزی به کفِ دریا اصابت نکند!). وقتی آرچ را نصب می کنید باید ساعت‌ها انتظار بکشید تا مثلاً همه‌ی بسته‌هایِ مربوط به libreoffice دانلود شود.
ایده:
بسته‌ها را با axel دانلود کنیم و سپس در جایِ مناسب کپی کنیم.
ایراد:
تعدادِ قابلِ توجهی از بسته‌ها دارایِ حجمِ کمی هستند و همین ساخت کانکشن و ارسالِ درخواست، می‌تواند زمان‌گیرتر باشد.
ایده:
چند فایل را با هم دانلود کنیم!
ایراد:
هنوز چیزی به ذهنِ من نرسیده.
ایده‌یِ جاری که اساسِ pakman است، این است که ما شبیه به IDM همزمان شروع به دانلودِ بیش از یک فایل می‌کنیم. در واقع یک صف داریم که همزمان n ورودیِ اول در حالِ دانلود شدن هستند، به این ترتیب لازم نیست منتظر بمانیم تا یک فایلِ کند و یا بزرگ کامل دانلود شود و بعد به سراغِ دانلودِ بقیه‌یِ فایل‌ها برویم، ما به فایل‌هایِ سریع و کوچک اجازه می‌دهیم که دانلود شوند…

ادامه مطلب …

Life-Code_1.0.0.2

نوشته شده توسط رامین در ۱ اسفند ۱۳۹۱

 

دانلودِ فایل از صفحاتِ مختلفِ یک سایت

نوشته شده توسط رامین در ۲۳ بهمن ۱۳۹۱

امشب بنا به دلایلی تصمیم گرفتم یک تعداد فایل را از سایتِ آپا مشهد دانلود کنم، برایِ این کار یک اسکریپتِ بسیار ساده نوشتم و سعی کردم از دستوراتِ ساده‌تر استفاده کنم و در عینِ حال کامل و کارآمد باشد. شما می‌توانید این اسکریپت را صدها مدلِ دیگر بنویسید و مثلا بجای curl از w3m استفاده کنید و یا بجایِ wget از axel و یا بقیه چیزها.
اسکریپت بسیار ساده است، اول باید ببینیم لینکِ صفحاتی که فایل ها در آنها قرار دارد به چه شکل است:

http://cert.um.ac.ir/index.php?r=articles/view&id=4

خب خیلی راحت می‌توان فهمید که با عوض کردن id می‌توانیم به صفحات مشابه دیگر برویم. بعد باید به دنبال لینکِ فایل‌ها در صفحات بگردیم:

Screenshot from 2013-02-11 23:32:11

معلوم است دیگر، لینک‌ها چیزی شبیه به این است:

/index.php?r=File/getFile&fileName=FFeCjweIoA8PtXT9

حالا می‌خواهییم فایل ها با عنوانِ مرتبط ذخیره شوند، اگر نگاهی به سورسِ صفحات بیاندازیم به سرعت می‌فهمیم از تگ h3 تنها برایِ عنوانِ مقالات استفاده شده ولی گرفتن این تگ چند اضافه دارد که باید حذف شود و من از آسانترین روش موجود استفاده کردم. head و tail در عینِ حال وقتی نامِ فایل را می‌گیریم در خروجی یک amp; داریم که باید حذف شود و برایِ این کار از sed استفاده شده.

 

این اسکریپت بسیار ساده و ابتدایی است و ده‌ها کار جهتِ بهبودِ آن می‌توان انجام داد ولی احتیاجی نیست. چیزی را که درست کار می‌کند بگذارید کارش را بکند!

از سری پست‌هایِ چرا گنو/لینوکس را دوست دارم به سبکِ @Jadi

نوشته شده توسط رامین در ۲۸ دی ۱۳۹۱

ایامِ امتحانات است و بازارِ جزوه دادن/گرفتن‌ها داغ!
یک نفر یک سری جزوه اسکن کرده بود و به صورت عکس از ۱ تا ۱۰۰ برای‌ام فرستاده بود.
خب کار با عکس به هر حال کمی سخت است یعنی اگر pdf بود خیلی بهتر می‌شد. برایِ همین عکس‌ها را می‌برم توی یک پوشه، بعد این اسکریپت را اجرا می‌کنم:

حالا یک جزوه‌یِ pdf جمع و جور و مرتب و تر و تمیز دارم 🙂

مردی که آیفون‌اش او را فروخت

نوشته شده توسط رامین در ۸ دی ۱۳۹۱

شاید خیلی‌ها مک‌آفی را بشناسند‌، مردی که می‌گفت یک راه برایِ جلوگیری از ورودِ ویروس‌ها به سیستم وجود دارد و آن اینکه فلاپی درایو را باز کنید و به هیچ شبکه‌ای متصل نشوید (‌آن موقع‌ها البته سی دی و این‌ها نبود‌!)‌. سال‌ها گذشت و مک‌آفیِ داستانِ ما پیر شد و رفت خودش را بازنشست کرد و در یک گوشه‌ای یک جزیره پیدا کرد و رفت و آنجا زندگی کرد تا این که یک روز پلیس گیر می‌دهد به مک‌آفیِ پیر که تو همسایه‌ات را کشتی و مک‌آفی فرار می‌کند ولی در شبکه‌های مجازی فعال است و برایِ خودش تبلیغ می‌کند که «‌من نکشم‌! من بی‌گناهم‌» و این‌ها و با سایت‌های مختلف مصاحبه می‌کند تا اینکه یک سایتی می‌رود به محلِ اختفا این غول امنیت و بعد از مصاحبه مک‌آفی هوس می‌کند به همه نشان دهد گوشی آیفون s۴ اش می‌تواند عکس هم بگیرد و یک عکسِ دو نفره با آقایِ مصاحبه کن می‌گیرد و میگذارند رویِ سایت‌.

آقایِ مک‌آفی در حالی که دارد به ریشِ همه می‌خندد و فکر می‌کند تا ابد دست هیچ‌کس به او نمی‌رسد مورد هجوم مامورانِ پلیس قرار می‌گیرد و سکته می‌کند‌!

مک‌آفی اینجا بوده:

[map style=”width: 500px; height:400px; margin:20px 20px 20px 20px; border: 1px solid black;” marker=”yes” lat=”15.658167″ lon=”-88.992167″ maptype=”HYBRID” z=”20″]

ادامه مطلب …