فوت کوزه گری!

اسفند ۱۳م, ۱۳۸۸

گاهی یک فوت کوزه گری رو دونستن میتونه کلی بدادت برسه و از کلی دردسر نجاتت بده! یه قابلیت که توی فایلهای PHP هست اینه که اگه فایل PHP شما قرار نیست که ادامه داشته باشه یعنی قرار نیست بعد از اینکه کد تموم شد،‌ادامه فایل به صورت HTML باشه، اونوقت میتونید از گذاشتن علامت ?> در انتهای کد خودداری کنید. راستشو بخواید اول که این قابلیت رو دیدم کلا نفهمیدم به چه دردی میخوره یا اگه بیشتر راستشو بخواید به خودم گفتم این قابلیت اصلا احمقانه و به درد نخوره (نتیجه اخلاقی این پست اینه که زود قضاوت نکنید! )‌ ولی امشب فهمیدم که نخیر! اینطورا هم نیست!
قضیه اینطوریه که یه کدی دارم مینویسم که قراره یه تصویر رو از یه فایل بخونه و به خروجی بده (تابع readfile() از اون توابعیه که بعضیا کمتر میشناسنش!!)‌ همه چی درست بود (البته در ظاهر)‌ اما فایرفاکس خروجی رو نشون نمیداد. نتیجه رو که بررسی میکردم متوجه شدم که Content-Type هم درست ارسال میشه، ولی نمایش داده نمیشه. بارها و بارها کد رو بررسی کردم و هرچه بیشتر چک کردم کمتر نتیجه گرفتم.
تا بالاخره خروجی رو با یه ویرایشگر باینری (HexEditor ) چک کردم. نتیجه دو تا کاراکتر Space در ابتدای فایل تصویر بود. صفحات دیگه رو هم چک کردم. اونجا ها هم این دو تا کاراکتر اضافه بود، ولی خوب html مشکلی نداره با این فااصله های اضافی. فایلهای include شده رو یکی یکی بررسی کردم و آخر سر هم خرابکار، پروژه jDate خودم بود. توی یکی از فایلها بعد از پایان کد و تگ پایان PHP (یا همون ?> ) دو تا فاصله خورده بود. این فایل بعد از آغاز session و ارسال header ها استفاده شده بود و به همین دلیل مشکل خودشو توی اونها نشون نداده بود. جالبتر اینکه یه فایل دیگه هم پیدا کردم که دقیقا این مشکل رو داشت و یه Enter اضافه داشت، که خیلی پیش میاد تو یه ویرایشگر این اتفاق بیفته. تو همه فایلهای دوره ویندوزم هم این مشکل کم و بیش بود :) نتیجه گیری اینکه من از این به بعد کل فایلهایی که با کد PHP تموم میشن رو وقتی بنویسم، خصوصا فایلهایی که قرار نیست خروجی داشته باشن مثل همین کتابخونه ها، به همین صورت و بدون بستن کد PHP مینویسم، توصیه میکنم شما هم همین کارو بکنید. به دردسرش نمیرزه،‌این یه دفعه دقیقا ۴۵ دقیقه وقتمو گرفت!!
نکته دوم هم اینکه این پست اولین پست من با عینکه! دو سه روز پیش عینکی شدم!! :)

خیلی سال پیش،‌ وقتی برای اولین بار یک کامپیوتر دیدم،‌بلافاصله فهمیدم که کلا همه زندگی ام عوض شده. شاید قبل تر متوجه شده بودم، وقتی که اول ابتدایی بودم و آتاری را برای اولین بار دیدم و آن بازی هواپیمای معروف را! طوری بود که با اینکه به جای مدرسه در یک دژ نظامی بودیم من از مدرسه فرار میکردم و به این کلوپهای آتاری میرفتم. بچه اول ابتدایی وقتی گردن کلفتهای پنجم مثل سگ میترسیدند از ترکه ناظم و مدیر!! البته همیشه انقدر حواسم جمع بود که گیر نیفتم :)‌ -ریزه میزه بودم، بر خلاف الان، وکلاسها هم که به برکت تئوری فرزند بیشتر کوپن بیشتر ۴۰-۵۰ نفره بودن و یک معلم بیچاره که اگه تا ظهر اسم خودشو یادش میموند شاهکار کرده بود و اصلا نمیفهمید کی هست کی نیست تو این میزای ۴ نفره! البته بگذریم از اون دفعاتی که رفقا زحمت لو دادن رو میکشیدن!
اولین بار،‌برادر بزرگترم در مورد الگوریتم و کشیدن فلوچارت کمی برایم توضیح داد و طوری شده بود که مثل یک مریض روانی شده بودم، برای هر چیزی الگوریتم مینوشتم ،‌هر چیزی!
تا بالاخره برنامه نویسی را شروع کردم،‌به صورت جدی.
کم کم ، غرق شدم. باز هم به صورت جدی.
کم کم معتاد شدم به صورت جدی! و آخر سر متوجه شدم که هیچ لذتی وجود ندارد، شوقی برای یاد گرفتن ندارم،‌ چون خیلی بی معنی شده، چی باید یاد بگیرم؟ اینجا کلیک کن، اونجوری میشه، فلان Api فلان کارو میکنه،‌همینه که هست! اگه اضافه میخوای بشین ببین فلان کمپانی تغییری میده تو اصل این قضیه؟ به یه باگ برخوردی؟ خوب منتظر شو تا پچش بیاد.
آخرش؟ فلان زبان برنامه نویسی رو با بهمان IDE حرفه ای شدی؟ دمت گرم! ولی شرمندتم، کمپانی صاحبش تصمیم گرفته که کلا از بیخ و بن عوضش کنه! اگه میخوای به روز پیش بری همینه که هست!
اونوقت بود که تصمیم گرفتم! شاید همین بیهودگی بود که تصمیم گرفتم دست بردارم از اون چیزی که بهش میگن راحتی! بهش میکن فراوانی نرم افزار، بهش میگن راحتی نصب درایور، بهش میگن بهترین محیط برای بازی (بازی، شوقی که هنوز هم دارم! میترسم دخترم که بزرگتر شد عاقل اندر سفیه نگاهم کنه! کما اینکه الان خیلی ها اینکارو میکنن.) ‌

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

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

واسه خنده، ببینید این اسکریپتو :

#!/bin/sh
for i in *
	do
		if [ "${i##*.}" = "zip" ]
			then
				#echo $i appears to be a Zip.
				ext=cbz
		elif [ "${i##*.}" = "rar" ]
			then
				#echo $i appears to be a RAR.
				ext=cbr
		else
			#echo $i appears to be a not supported.
			continue
		fi

		j=`echo $i | cut -d . -f 1`
		j=$j"."$ext
		mv "$i" "$j"
	done

حرفه ای ها نخندن! (دوست داری بخندی هم بخند، شاید خوشحال هم شدم!) فقط برای تغییر پسوند آرشیوهای کمیکم، کاری که قبلا اینطوری انجام میدادم :

ren *.zip *.cbz
ren *.rar *.cbr

آره، من این سادگی رو نمیخوام. فقط همین!

متفرقه – ۱

بهمن ۱۴م, ۱۳۸۸

قصد نداشتم تا ۷-۸ روز دیگر پست جدیدی بنویسم. اما :(
اول از همه اینکه امروز متوجه شدم که SourceForge هم به جمع تحریم کنندگان ایران پیوست و بعد از شرکت های دیگر مثل گوگل، نوکیا و سان، سایت sf.net دیگر اجازه دانلود فایلهای خود را به کشور ایران نمیدهد. این یعنی فاجعه ! من یکی که تقریبا یکی از دوست داشتنی ترین سایتها را از دست دادم (البته اگر به امید این اینترنت لکنته ایران باشم :دی )‌ دلیل اصلی نوشتن این پست هم همین مطلب بود، که چون خیلی کوتاه بود دو تا مطلب کوتاه دیگر هم مینویسم.

دوم، هرگز از table برای فرمت دهی صفحات استفاده نکنید. دست کم من که اصلا از table برای اینکار استفاده نمیکنم و خواهش میکنم شما هم اینکار را انجام ندهید. خیلی جالب بود، چند وقت پیش برخوردم به سایت http://shouldiusetablesforlayout.com ! ببینیدش (اسم را ببینید و محتوا را).

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

سلام، برای بار هزارم!

آذر ۱۷م, ۱۳۸۸

سلام.

برای بار هزارم، از هزارمین (حالا نه هزار تا 3 یا 4 تا) وبلاگ. هیچوقت حوصله ساختن یه وبلاگ نداشتم، یعنی حتی گاهی هم که اینکارو میکردم، بعدش پشیمون میشدم. چون احساس میکردم دلیلی برای نوشتن نیست.

نمیدونم ایندفعه چی بشه و این به کجا برسه، ولی به هر حال، همینه دیگه :)

اینجا میخوام درباره برنامه نویسی بنویسم، چیزی که بیشتر از ده ساله منو بیچاره کرده. حالا هر چی به ذهنم برسه، هر چی که حسش باشه، و کلا هر چی که بشه.