چرا هیچکس منو نشناخت. چرا هیچوقت نشد اونجوری که من میخوام باشه. چرا همیشه خورد توی ذوقم. همیشه دلم میخواست از اوج تنهایی و بی کسیام، ی رفیق پیدا بشه برام، که پر رو باشه. که حواسش بهم باشه. که بگه امیر، تو غلط میکنی فلان کارو بکنی مگه من مردم؟ اونم حواسش به من باشه، منم حواسم به اون باشه. ی رفاقتی که سنگ نتونه خرابش کنه. ی چیز محکم. که وقتی از زمین و زمان دلگیرم، وقتی صد برابر بد تر از ی بچه بهونه گیر دو ساله میشم که خودشم نمیدونه از خودش چی میخواد، اون بفهمه. وقتی بهش گفتم برو گمشو، محکم تر بمونه. بفهمه کی دارم ناز میکنم ولی ته قلبم ی چیز دیگست، کی واقعی ام. منو از خودم بهتر بفهمه. منم صد برابر بهتر براش جبران کنم. نزارم آب توی دلش تکون بخوره. به خدا خسته شدم. کاش ی بار میفهمیدم خودمم چی میخوام. اما هیچکس اونجوری نمیشه. دیگه نمیزارم هیچ کسی بیاد سمتم. چون میدونم اخلاق منو فقط خدا میفهمه. البته خدا هم همیشه ساکته. حرف نمیزنه که بدونم اونم داره از دست من گریه میکنه، یا اونم داره به حالم گریه میکنه، یا اون میفهمه منو. شاید حرف نتونه بزنه، فقط بتونه نشون بده. اما اصلا حالم خوب نیست.
❤5👍1
این دنیا ارزش نداره. چقدر این فکت تلخه که آدما قابلیت اینو دارن که ی جوری فراموشت کنن که انگار هیچوقت وجود خارجی نداشتی. من قاعدتا نباید الان زنده میبودم و وجود داشتم وقتی فراموشم کرد و رفت. نمیدونم این چه باگیه که هنوز زندم. هر کسی هر کاری از من خواست انجام دادم. اما من ی کار از خدا خواستم فقط ی کار. اونم انجام نداد. اونم مردن من و رفتنم از این دنیا بود.
💔2❤1
چنتا باگ تیمتاک رو فیکس کردم اما اول منتظر میمونم همشون تایید بشن و لیست نهایی رو اعلام کنم همینجا. با این که حالم اصلا خوب نیست اما این ورژن رو کامل پک میکنم و تمومش میکنم. حواسم به همه ی پیشنهاد ها و باگ هاتون هست.
❤6
زبان برنامه نویسی c++ اصلا با کسی شوخی نداره. c++ اینجوریه که میگی خب، الان من میخوام فلان قابلیت رو به فلان برنامه که زبانش c++ هست اضافه کنم. الگوریتمش رو توی ذهنت پیاده میکنی، شروع میکنی به نوشتنش. همه جا رو حندل میکنی، میزاری کامپایل بشه. بعد از دو ساعت بهت میگه عه، مموری رو مدیریت نکردی. دوباره اونو حندل میکنی، بعد این دفه 3 ساعت صبر میکنی و برنامه ات به درستی کامپایل هم میشه، اما اجرا نمیشه. چرا، چون تو داخل دیتای ی ستون، ی دیتای جدید تعریف کردی و باعث شدی اون ستون داخل ی حلقه ی بینهایت گیر کنه. این دوتا رو باهم مقایسه کنید.
من به جای این که بنویسم
return QString(tr("%1, Name: %2, Users: %3, Country: %4, MOTD: %5").arg(srvtype).arg(srv.name).arg(data(createIndex(index.row(), COLUMN_INDEX_USERCOUNT, index.internalId()), Qt::DisplayRole).toString()).arg(data(createIndex(index.row(), COLUMN_INDEX_COUNTRY, index.internalId()), Qt::DisplayRole).toString()).arg(data(createIndex(index.row(), COLUMN_INDEX_MOTD, index.internalId()), Qt::DisplayRole).toString()));
نوشته بودم
return QString(tr("%1, Name: %2, Users: %3, Country: %4, MOTD: %5").arg(srvtype).arg(data(createIndex(index.row(), COLUMN_INDEX_SERVERNAME, index.internalId()), Qt::DisplayRole).toString()).arg(data(createIndex(index.row(), COLUMN_INDEX_USERCOUNT, index.internalId()), Qt::DisplayRole).toString()).arg(data(createIndex(index.row(), COLUMN_INDEX_COUNTRY, index.internalId()), Qt::DisplayRole).toString()).arg(data(createIndex(index.row(), COLUMN_INDEX_MOTD, index.internalId()), Qt::DisplayRole).toString()));
یعنی دیتای نام رو دوباره داخل ستونی که به خوده نام تعلق داره بازخوانی کرده بودم
برنامه نویسی یکی از رفتارای دخترونه اش اینه که الان این هر دو کدی که من اینجا بهتون نشون دادم جفتشون کاملا درسته و هیچ کدوم خطای کامپایل نمیدن، اما فرقشون اینه که اولی کاملا اوکی اجرا میشه ولی دومی بدونه نشون دادن هیچ خطایی اجرا نمیشه و تو فقطططططط باید حدس بزنی که چیکاااااررررر کردی که کد اجرا نشه چون خوده کد کوچک ترین خطایی نداره. و c++ موقع کامپایل میگه این کد کاملا درسته و کامپایلش میکنه، اما موقع اجرا اجرا نمیشه. و تنها شانس ی برنامه نویس اینه که از کامپیلیشن ارور ها بفهمه مشکل کد از چیه و اگه کامپایل ارور نگیرن، تنها راهشون حدس زدن میشه یا اگه نتونن باید برای تک تک بخش های برنامه debug break point تعریف کنن که بتونن رفتار ران شدن برنامه رو زیر نظر بگیرن. ی بار که داشتم دکمه های افزایش و کاهش میکروفون و اسپیکر تیمتاک اندروید رو حذف میکردم و با اسلایدر هایی که الان داریدشون جایگزین میکردم، ی دونه از همین خطا ها گرفتم. برنامه بدونه هیچ خطایی کامپایل میشد اما به محز این که وارد سرور میشدم برنامه کرش میکرد. کد من هیچ مشکلی نداشت اما 3 روز تول کشید تا من بتونم پیدا کنم توی فایل xml صفحه اصلی برنامه دوتا ستون تعریف کردم ولی در اصل کد به 3 تا ستون نیاز داشت، پس در نتیجه ستون سوم میرفت هوا و برنامه کرش میکرد! اره خلاصه اینجوریاست.
من به جای این که بنویسم
return QString(tr("%1, Name: %2, Users: %3, Country: %4, MOTD: %5").arg(srvtype).arg(srv.name).arg(data(createIndex(index.row(), COLUMN_INDEX_USERCOUNT, index.internalId()), Qt::DisplayRole).toString()).arg(data(createIndex(index.row(), COLUMN_INDEX_COUNTRY, index.internalId()), Qt::DisplayRole).toString()).arg(data(createIndex(index.row(), COLUMN_INDEX_MOTD, index.internalId()), Qt::DisplayRole).toString()));
نوشته بودم
return QString(tr("%1, Name: %2, Users: %3, Country: %4, MOTD: %5").arg(srvtype).arg(data(createIndex(index.row(), COLUMN_INDEX_SERVERNAME, index.internalId()), Qt::DisplayRole).toString()).arg(data(createIndex(index.row(), COLUMN_INDEX_USERCOUNT, index.internalId()), Qt::DisplayRole).toString()).arg(data(createIndex(index.row(), COLUMN_INDEX_COUNTRY, index.internalId()), Qt::DisplayRole).toString()).arg(data(createIndex(index.row(), COLUMN_INDEX_MOTD, index.internalId()), Qt::DisplayRole).toString()));
یعنی دیتای نام رو دوباره داخل ستونی که به خوده نام تعلق داره بازخوانی کرده بودم
برنامه نویسی یکی از رفتارای دخترونه اش اینه که الان این هر دو کدی که من اینجا بهتون نشون دادم جفتشون کاملا درسته و هیچ کدوم خطای کامپایل نمیدن، اما فرقشون اینه که اولی کاملا اوکی اجرا میشه ولی دومی بدونه نشون دادن هیچ خطایی اجرا نمیشه و تو فقطططططط باید حدس بزنی که چیکاااااررررر کردی که کد اجرا نشه چون خوده کد کوچک ترین خطایی نداره. و c++ موقع کامپایل میگه این کد کاملا درسته و کامپایلش میکنه، اما موقع اجرا اجرا نمیشه. و تنها شانس ی برنامه نویس اینه که از کامپیلیشن ارور ها بفهمه مشکل کد از چیه و اگه کامپایل ارور نگیرن، تنها راهشون حدس زدن میشه یا اگه نتونن باید برای تک تک بخش های برنامه debug break point تعریف کنن که بتونن رفتار ران شدن برنامه رو زیر نظر بگیرن. ی بار که داشتم دکمه های افزایش و کاهش میکروفون و اسپیکر تیمتاک اندروید رو حذف میکردم و با اسلایدر هایی که الان داریدشون جایگزین میکردم، ی دونه از همین خطا ها گرفتم. برنامه بدونه هیچ خطایی کامپایل میشد اما به محز این که وارد سرور میشدم برنامه کرش میکرد. کد من هیچ مشکلی نداشت اما 3 روز تول کشید تا من بتونم پیدا کنم توی فایل xml صفحه اصلی برنامه دوتا ستون تعریف کردم ولی در اصل کد به 3 تا ستون نیاز داشت، پس در نتیجه ستون سوم میرفت هوا و برنامه کرش میکرد! اره خلاصه اینجوریاست.
❤6👍1
کلبه چوبی
زبان برنامه نویسی c++ اصلا با کسی شوخی نداره. c++ اینجوریه که میگی خب، الان من میخوام فلان قابلیت رو به فلان برنامه که زبانش c++ هست اضافه کنم. الگوریتمش رو توی ذهنت پیاده میکنی، شروع میکنی به نوشتنش. همه جا رو حندل میکنی، میزاری کامپایل بشه. بعد از دو ساعت…
شاید باورتون نشه اما مشکل از کد من نبود. مشکل از شاخه ی مستر خودشون بود
❤5
امروز، خستگیم موند توی تنم. بعد از این همه کار کردن من روی تیمتاک اندروید، یکی از مشارکت کننده های تیمتاک اومده و ایده ای داده که وقتی اجرایی بشه و وارد پروژه اصلی تیمتاک بشه، هر کاری که من برای تیمتاک اندروید کردم از بین میره و پوچ میشه. چرا، چون اون میخواد تیمتاک مبایل ها رو هم برای IOS و هم برای اندروید رو یکی کنه. یعنی ی کلاینت، ی کد، که روی هم اندروید هم روی ios اجرا میشه و کار میکنه. و اگر اون کلاینت جایگزین تیمتاک اندروید فعلی بشه، این یعنی هر کاری که من کردم هر زحمتی که کشیدم هر کدی که برای تیمتاک اندروید زدم بی استفاده میشه. چرا خدایا. چرا همیشه اینجوری میزنی توی ذوق من خیلی سخته. من تمام وقتم رو گذاشته بودم روی تیمتاک اندروید. اگه به جای این برای خودم ی برنامه مینوشتم الان بهترین برنامه میشد. خسته شدم. به معنای واقعی خسته شدم. فعلا که اون ایده در حد حرف و اجرای اولیه هست و چندین سال تول میکشه به پایداری تیمتاک اندروید که من درست کردم برسه تازه اونم اگه برسه. چون دیگه جاوا نیست زبان برنامه نویسیش. اما به هر حال، از این که تیمتاک های پلتفورم مبایلی رو میخوان جایگزین کنن که با ی بار کد نوشتن دوتا سیستم عامل رو حندل کنن خستگیم موند توی تنم چون من موندم با این همه تایم که گذاشتم برای تیمتاک اندروید.
❤6👎1
کلبه چوبی
امروز، خستگیم موند توی تنم. بعد از این همه کار کردن من روی تیمتاک اندروید، یکی از مشارکت کننده های تیمتاک اومده و ایده ای داده که وقتی اجرایی بشه و وارد پروژه اصلی تیمتاک بشه، هر کاری که من برای تیمتاک اندروید کردم از بین میره و پوچ میشه. چرا، چون اون میخواد…
ایده اش احمقانه است. میگه میخوام تیمتاک های پلتفورم مبایل رو با flutter بنویسم. و flutter naytive نیست. یعنی اون خودشو راحت میکنه که ی کد میزنه که هم روی آیفون هم روی اندروید کار کنه، اما کاربرای بدبخت اینجا اذیت میشن. اگه این اتفاق بی افته، اصلا تعجب نکنید که تیمتاکتون روی گوشی هنگ کنه، گوشی باطریش زود تموم بشه، دسترس پذیری به این قشنگی که من درست کردم نباشه. هیچوقت توقع و اون خواب های قشنگی که توی جاوا که کاملا برای اندروید ساخته شده یعنی کاملا naytiv هست و انقدر سبک استفاده میکنید رو از ی زبان برنامه نویسی به اسم flutter که naytive نیست نداشته باشید! این یک، دوم این که کاش فقط مشکل naytive نبودنش بود. فلاتر مثل پایتونه یعنی برای اجرا شدن به بایت کد ماشین کامپایل نمیشه مثل c++ و پشت صحنه این اتفاق ها می افته. تو میکروفون باز میکنی حرف بزنی صفحه رو بالا پایین میکنی افراد دیگه حرف میزنن و همه ی اینا چون sdk تیمتاک c++ هست اما برنامه اندروید به فلاتر نوشته بشه، این یعنی فلاتر باید با c++ حرف بزنه به کمک ابزاری که اسمش dart هست. یعنی خداحافظ ارتباط مستقیم! برنامه لگ میگیره نمیگم زیاد، اما متوجه تغییرش قطعا میشید و دلتون برای جاوا تنگ میشه. اما من ی ایده بهتر بهش دادم. گفتم تو مگه دردت تنبلی نیست؟ مگه نمیخوای یک بار کد بزنی و همه جا استفاده بشه توی هر پلتفورم و سیستم عاملی؟ خب احمق به جای این که تیمتاک های مبایل رو با فلاتر بنویسی، بیا با qt بنویسیمش چرا میگم فلاتر نه ولی qt? به چند دلیل. 1: هدفی که خودش داره حتی بهتر بهش میرسه. اون میخواد با فلاتر هر دو آیفون و اندروید رو حندل کنه، ولی با qt چون ویندوز و مک و لینوکس هم با qt نوشته شدن پلتفورم تیمتاکشون، qt باعث میشه با یک کد، با یک زبان c++، 5 تا پلتفورم یعنی اندروید، آیفون، ویندوز، مک، و لینوکس رو حندل کنه. چی از این بهتر! 2: اون لگ و سنگینی برنامه که گفتم با فلاتر اتفاق می افته با qt اتفاق نمی افته چون qt نیاز به dart و virtual نداره که با sdk که c++ هست صحبت کنه و کند بشه. qt خودش کامل c++ هست و نیاز به هیچ ابزار مترجمی نداره یعنی تصور کنید qt c++, sdk c++ همشون باهم همگام! یعنی کاری که شما دارید میکنید و کلاینت رو استفاده میکنید کوچک ترین لگ یا کندی ای نخواهد داشت به یاد داشته باشید که c++ سریع ترین زبان برنامه نویسیه! تیمتاک اندروید در اون صورت میشه مثل تیمتاک ویندوز که الان دارید و میبینیدش. من بد میگم بچه ها؟
👍7❤4
بچه ها حالا که این بحث ها پیش اومد ی چیزی رو بگم برای اطلاعات عمومیتون که بدونید. پایتون واقعا کند ترین زبان برنامه نویسیه. ی چیزی بهتون بگم نمیدونم چند درصدتون میدونید اینو. ولی قطعا میدونید که nvda با پایتون نوشته شده. اما به نظرتون چرا انقدر سبکه و سریعه؟ واقعا چرا؟ اگه وارد تسک منیجر سیستمتون بشید، از لیست n بخواید nvda رو پیدا کنید، دوتا nvda میبینید. یکی NVDA application (has UIAccess) و یکی دیگه nvdaHelperRemoteLoader.exe (32 bit). به نظرتون چرا؟ یکیش مغز nvda هست یعنی اون بخشش که با پایتون نوشته شده، و اون یکی nvda helper remote loader که میبینید، اون c++ هست! و اونه که شما اگه دکمه ای میزنید به ویندوز انتقال میده، اونه که اگه پنجره جدیدی باز شد به پایتون nvda خبر میده و شما میتونید با ویندوزتون کار کنید! اونه که باعث میشه صدای موتور سخنگوی شما توی ویندوزتون پخش بشه با nv wave. زیاد حرف نمیزنم اما اگه این بخش nvda با پایتون نوشته شده بود، برنامه هاتون رندوم روزی 3 4 بار کرش میکردن، بعد رم لپتاپتون 30 40 درصد بیشتر اشغال میشد، و اگر ی دکمه روی لپتاپتون میزدید که nvda حرف بزنه، تقریبا 300 میلیثانیه تول میکشید. خواستم بدونید توی هر پروژه ای اگه بحث سرعت بیاد وسط c++ انتخاب میشه و با پایتون ترکیب میشه مثلا توی nvda اینجوری شده که nvda ی صفحه خوان سریعه ولی همه میتونن داخلش مشارکت داشته باشن چون کد مغزش پایتونه و میتونن براش افزونه و اینا بنویسن اما اون بخش مهم و اصلیش که با ویندوز حرف میزنه c++ است! کدوماتون اینو میدونستید و کدوماتون نمیدونستید؟
👍4❤2
تلگرام اندروید رو هم مثال بزنم، بچه هایی که طرفدار تلگرامید، میدونید چرا انقدر سریعه؟ مثل اینستا و واتساپ حس سنگینی نداره؟ چون تلگرام اندروید، با جاوا فقط ی ویو داخل صفحه میسازه و محتویات داخلش رو c++ پر میکنه! یعنی توی تلگرام اندروید، جاوا مثل لیوان میمونه، .و c++ آب داخل اون لیوان! هر چیزی که بخواد سریع ترین باشه باید c++ باشه
❤2👍1👏1
خب بچه ها اومدم سر صبحی یکم اعصابتونو به هم بریزم. این شما و این نسخه ای اولیه از تیمتاک فلاتر، نوشته شده توسط این مشارکت کننده که دیشب گفتم. دوستان توجه داشته باشید که شاید لحجه ی حرف زدن ایسپیکتون عوض بشه داخلش چون خب جاوا نیست و naytive نیست، و شبیح صفحات وب میمونه. و کمی کنده همونطور که دیشب گفتم. اما خب براتون فرستادم که با تیمتاک رسمی جاوا مقایسه کنید و حرفایی که دیشب زدم رو بتونید در اکشن ببینید. ای کاش حداقل qt بود یا کاتلین، فلاتر برای اندروید آخه؟ نمیدونم والا، چی بگم. خودتون نصب کنید و تجربه هاتون رو بگید دیگه.
❤2
بچه ها، اومدم ی بروزرسانی از وضعیت بدم بهتون. بعضیا از این کلاینت جدیده استقبال کردن و نویسنده اش هم میگه من ادامه میدم به نوشتنش و سورس کدش رو هم منتشر میکنم، فقط مونده تصمیم نهایی که تیمتاک فعلی اندروید با این جایگزین بشه یا نه، به تصمیم نهایی سازنده ی کمپانی تیمتاک بستگی داره. اونم هر موقع نظرش رو بگه، همینجا بهتون اطلاع میدم
❤2👍1👎1
دوستان اینم نسخه جدید تیمتاک فلاتر. تغییراتی که نوشته رو بهتون میگم. نوشته اون دکمه more options بالا رو با ی navigation menu جایگزین کرده. نوشته سرعت برنامه رو بالا برده. و برنامه دیگه ریلیسه و دیباگ نیست. و قابلیت شخصی سازی tts ها و اینارو اورده. هنوزی خبری از تصمیم نهایی توسعه دهنده نیست اما اگه تصمیم به جایگزینی این تیمتاک با تیمتاک اندروید باشه، متاسفانه دیگه از دست من کاری ساخته نیست. اگه تیمتاک ویندوز رو هم با این بنویسن دیگه کلا دسترس پذیری تیمتاک ویندوز هم از بین میره. زحماتمون به فنا میره ولی خب فدای سرتون. هرچی حکمت باشه. منم دوست دارم شما از چیزی استفاده کنید که خودتون باهاش راحتید.
❤2
خدا، امروز فقط میخوام با خودت حرف بزنم. تو، کامل ترینی و هیچ بدی ای نداری. فقط ی بدی داری. اونم اینه که حرف نمیزنی. من میدونم توی تمامه بنده هات، من برای هیچ کدومشون مهم نیستم. میشه امروز، یک بار باهام حرف بزنی و فقط بگی تو تنها کسی هستی که دوسم داری، یا توام دوسم نداری؟ امروز باهام حرف بزن. 😭
❤5😭2👍1👎1
بچه ها، قابلیت change gestures که به nvda اضافه کرده بودم امروز صبح وقتی من خواب بودم، تایید شد و به nvda 2026.3 میاد! و تیم مدیریتشون تشکر کردن و گفتن ممنون، قابلیت بسیار قابل استفاده و خوبی بود. برعکس کمپانی تیمتاک که هر چقدر براشون کار کردم، هرچقدر زحمت کشیدم، نمیگم تشکر نکردن چرا توی وبلاگ ۵.۱۹ و ۵.۱۸ که قبل از قتعی های اینترنت های کشور ما بود، توی جفتش اسم منو اوردن و تشکر کردن، اما خیلی اذیت میکنن و انگار براشون اضافی هستی. اما توی nvda هم سریع تر کار راه میندازن، هم به کار هات ارزش میدن. نمیدونم چی بگم ولی به هر حال من امیدوارم جایی قسمت بشه از ویژگی هایی که من اضافه کردم هم استفاده کنید، حتی اگر ی روزی زنده نبودم. من به هر پروژه ای که مورد استفاده ی شما هست، همیشه نگاه کردم و همیشه هر کاری که بلد بودم رو براش انجام دادم. این برام ارزش داره. بالاخره میدونم خدا همیشه هست.
❤6👍2
من نمیدونم چرا، اما همیشه تصوراتی که میکنم، خیلی زود زایع و شکسته میشه و کوبیده میشه توی صورتم. 😭
💔3
کلبه چوبی
خدا، امروز فقط میخوام با خودت حرف بزنم. تو، کامل ترینی و هیچ بدی ای نداری. فقط ی بدی داری. اونم اینه که حرف نمیزنی. من میدونم توی تمامه بنده هات، من برای هیچ کدومشون مهم نیستم. میشه امروز، یک بار باهام حرف بزنی و فقط بگی تو تنها کسی هستی که دوسم داری، یا توام…
خدایا، اون روزم گذشت، اما یادت باشه با من حرف نزدی.
❤1
دوستانی که در nvda آزار میبینن از این که nvda ایموجی روده بُر رو صورت با اشک شادی میخونه. وارد منوی nvda بشید، ساب منوی Preferences رو باز کنید، وارد بخش Punctuation/symbol pronunciation بشید، اونجا توی لیستش چیزی حدود 4 هزار تا علامت هست. بگردید صورت با اشک شادی رو پیدا کنید، تب بزنید، توی کادر replacement صورت با اشک شادی رو حذف کنید و جاش بنویسید روده بُر. یا هر چیزی که میخواید بخونه. توجه کنید که همه ی ایموجی ها اونجا هستن و تمامشون رو میتونید شخصی سازی کنید 😂
❤2🥰1
دوستان، اولین بتای رسمی تیمتاک 5.23 با تمام تغییراتی که تا حالا تایید شده بودن توی گوگل پلی منتشر شد و با زدن گزینه پیوستن به بتا میتونید این آپدیت رو دریافت کنید. هنوز بعضی از چیز ها تایید نشدند که به امید خدا توی بتای بعدی تایید بشند. اگر همینجوری پیش بره نسخه رسمی به زودی منتشر میشه.
❤5