Underworlds Scriptorium Fabula.

یہ صفحہ انگریزی سے اردو میں groq کی مدد سے ترجمہ کیا گیا ہے۔

میری آخری فابولا کی اشاعت کے بعد سے میری پیش رفت۔ نئے ہوسٹنگ پر منتقلی۔ میل سرور، بیک اپ، اور سرور ریسورس نوٹیفکیشن سسٹم کی ترتیب۔ programmer-underworlds کی مقامی زبان میں منتقلی (Localization)۔

میری طرف سے سلام۔ اس وقت 26 اپریل 2026، مرکزی معیاری وقت کے مطابق رات کے 01:37 بجے ہیں، اور میں نے فیصلہ کیا ہے کہ اب وقت آگیا ہے کہ میں اپنے خیالات کو پرواز دوں اور فروری میں اپنی آخری فابولا کی اشاعت کے بعد سے اپنے کاموں کی تفصیل بیان کروں۔ اپنا پسندیدہ مشروب لیں جو آپ یوٹیوب دیکھتے وقت پینا پسند کرتے ہیں اور چلیے شروع کرتے ہیں... :)

میں اس مضمون کو ایک سوچی سمجھی رپورٹ کے بجائے خیالات کے آزادانہ بہاؤ کی شکل میں لکھنا چاہتا ہوں۔ :) میں نے اپنے پروجیکٹ کے مختلف حصوں پر سخت محنت کی ہے جن کے بارے میں نیچے لکھوں گا اور یہ کافی شدید کام تھا۔ غالباً میں یہ مضمون چند نشستوں میں مکمل کروں گا۔

ایک بڑا اور ذمہ دارانہ فیصلہ نئے ہوسٹنگ پر منتقل ہونا تھا، کیونکہ گوگل کلاؤڈ (Google Cloud) پر پچھلا مفت ہوسٹنگ اب میری ضروریات اور پروجیکٹ کے تقاضوں کو پورا نہیں کر رہا تھا اور ایک دن وہ اچانک ہینگ ہو گیا۔ میرا اندازہ تھا کہ ریم (RAM) کافی نہیں تھی کیونکہ گوگل کے مفت ہوسٹنگ پر صرف 2 جی بی ریم دستیاب تھی۔ اس کے اگلے ہی دن میں نے متبادل اور سستے امکانات کا مطالعہ شروع کیا۔ اور مجھے Contabo ہوسٹنگ ملی، جس نے میرے خیال میں (گوگل کے متبادلات کے مقابلے میں) کافی اچھی شرائط فراہم کیں۔ اور پھر کام شروع ہوا... میں نے پچھلے ہوسٹنگ سے موجودہ سیٹنگز کو نئے ہوسٹنگ پر منتقل کرنا شروع کیا اور تقریباً ایک ہفتے میں اسے کامیابی سے مکمل کر لیا۔

اگلے قدم کے طور پر میں طویل عرصے سے سوچ رہا تھا کہ مجھے کنفیگریشن کا بیک اپ لینا چاہیے، کیونکہ کنفیگریشن کا ایک بڑا حصہ ChatGPT کی مدد سے بنایا گیا تھا اور اسے دوبارہ ترتیب دینے میں بہت وقت لگ جاتا۔ میں نے rsync کے بارے میں سوچا تھا، لیکن چیٹ (LLM) نے restic کا مشورہ دیا اور مجھے یہ بات پسند آئی کہ restic انکریمنٹل بیک اپ (incremental backups) کرتا ہے۔ انکریمنٹل بیک اپ مکمل بیک اپ کے مقابلے میں بہت زیادہ تیز ہوتے ہیں اور تقریباً git ریپوزٹری کی طرح کام کرتے ہیں، جس سے ضرورت پڑنے پر پچھلے ورژن پر واپس جانا ممکن ہوتا ہے۔ میں نے تیزی سے اپنے سرور کے بیک اپ کے لیے restic کو منسلک کر دیا اور نتیجے سے بہت خوش ہوا۔ اب اپنے سسٹم کے مکمل بیک اپ کے لیے میں صرف اپنے Contabo VPS پر لاگ ان کرتا ہوں اور ایک اسکرپٹ چلاتا ہوں جو تمام کنفیگریشنز کا میرے مقامی کمپیوٹر پر بیک اپ لے لیتا ہے۔

اگلی باری میری اس دیرینہ خواہش کی تھی کہ اگر میرا سرور ٹھیک کام نہ کر رہا ہو تو مجھے اطلاع ملے۔ مزید تفصیل میں کہوں تو—اگر ڈسک کی جگہ ختم ہو جائے (گوگل پر صرف 10 جی بی تھی، اب 100 ہے) اور اگر میرا programmer-underworlds پروجیکٹ (java process) کسی وجہ سے بند ہو جائے، تو مجھے ای میل پر اطلاع ملے۔ اس کے لیے میں اس نتیجے پر پہنچا کہ میرا اپنا میل سرور ہونا اچھا رہے گا، کیونکہ اب VPS کی کنفیگریشن اس کی اجازت دیتی ہے (4 جی بی ریم اور 4 کور پروسیسر، جبکہ گوگل پر 2 کور تھے)۔ چونکہ میرا اپنا ڈومین پہلے ہی خریدا ہوا ہے، اس لیے میں نے سوچا کہ اب LLM کی مدد سے میل سرور ترتیب دینا کافی آسان ہوگا۔ اور میں درست تھا! :) Mailcow ایک سادہ اور آسان حل ہے جس میں میری ضرورت کی تمام چیزیں (web interface, imap, spamassassin) شامل ہیں۔ ویسے، اگر آپ @programmer-underworlds.dev ڈومین پر اپنا ای میل اکاؤنٹ حاصل کرنا چاہتے ہیں (اس کا ایک عرف @p-u.dev بھی موجود ہے جو فون پر ای میل لکھوانا آسان بناتا ہے)، تو مجھے pasha@p-u.dev پر لکھ کر بتائیں۔ :)

میل سرور ترتیب دینے کے بعد ریسورس مانیٹرنگ سسٹم (ریم کا استعمال، ڈسک کی جگہ، جاوا پروسیس کی جانچ) کی باری تھی، اور ChatGPT کے مشورے پر میں نے monit یوٹیلیٹی کا سہارا لیا۔ یہ ایک کافی آسان ٹول ہے اور میں اس سے مطمئن ہوں۔ مثال کے طور پر، یہاں monit کا صفحہ ہے جو میرے مطلوبہ ریسورسز کی بصری معلومات فراہم کرتا ہے۔

مانیٹ کے ذریعے ٹریک کیے گئے ریسورسز کا صفحہ۔

میں نے جاوا پروسیس (icoupserver, programmer-underworlds) کی ٹریکنگ اور سائٹ کے لیے SSL سرٹیفکیٹ کی باقاعدہ اپ ڈیٹ کی جانچ کا اضافہ کیا ہے۔ اب اگر میں جاوا پروسیس کو بند کرتا ہوں (مثال کے طور پر اپ ڈیٹ کے لیے)، تو مجھے اپنے ای میل پر اس طرح کی اطلاع ملتی ہے:

مانیٹ کی طرف سے ای میل کہ پروگرامر-انڈر ورلڈز سروس بند ہوگئی ہے۔

اب 26 اپریل 2026 کے شام کے 18:29 بجے ہیں اور میں یہ فابولا لکھنا جاری رکھے ہوئے ہوں۔

پھر میں نے خود سے سوال کیا، "اگر میرا میل سرور ہی بند ہو گیا تو میں مانیٹ (monit) سے نوٹیفکیشن کیسے حاصل کروں گا؟" پہلے میں فون پر SMS کے ذریعے اطلاع حاصل کرنا چاہتا تھا، لیکن LLM سے مشورے کے بعد میں قائل ہو گیا کہ Telegram کے ذریعے نوٹیفکیشن حاصل کرنا بہتر ہے، جو میں نے فوری طور پر کر لیا اور یہ بہت آسان تھا۔ LLM کی مدد سے ایک Telegram بوٹ اور میل سرور کی حیثیت کے بارے میں اطلاعات براہ راست میرے ٹیلی گرام اکاؤنٹ پر بھیجنے کے لیے ایک مانیٹ اسکرپٹ بنایا گیا۔

ٹیلی گرام پر مانیٹ سے نوٹیفکیشن کہ میل سرور بند ہے۔

یہ دیکھ کر بہت خوشی ہوئی کہ میرا سرور اب ایک مکمل پروڈکشن لیول سرور کی شکل اختیار کر رہا ہے۔ :)

میں سمجھتا تھا کہ اب میرے میل سرور کے ویب انٹرفیس اور programmer-underworlds ایپلی کیشن کے لیے الگ ڈومین نام ہونا بہتر ہے تاکہ پورٹ نمبرز کے بغیر پیجز کو کھولا جا سکے۔ ظاہر ہے، میں نے ایگور سیسوئیف (Igor Sysoev) کے بنائے ہوئے ریورس پراکسی پروگرام nginx کے بارے میں طویل عرصے سے سنا ہوا تھا جو پوری صنعت میں استعمال ہوتا ہے۔ LLM کی مدد سے تقریباً 2 دن میں یہ مرحلہ مکمل ہوا اور nginx کی ایک بہترین کنفیگریشن تیار کی گئی، اور اب میرا سرور programmer-underworlds.dev اور mail.programmer-underworlds.dev پر درخواستوں کو کامیابی سے سنبھال رہا ہے۔

اس کے بعد میں نے اپنے پروجیکٹ کو دو حصوں میں تقسیم کر دیا: programmer-underworlds اور icoupserver۔ میں نے گیم لاجک کو ایک الگ پروجیکٹ میں منتقل کرنے کا فیصلہ کیا، کیونکہ اب میں گیم کے بجائے ویب سائٹ کے حصے پر زیادہ کام کر رہا ہوں۔

اس دوران میری یہ خواہش بھی بڑھتی رہی کہ میں اپنے مضامین اپنی والدہ اور روسی زبان بولنے والے دوستوں کے ساتھ شیئر کروں۔ میں جانتا تھا کہ ان میں سے اکثر کے لیے انگریزی میں مضامین پڑھنا آرام دہ نہیں ہوگا اور میں ان پر "دستی" ترجمے کا بوجھ نہیں ڈالنا چاہتا تھا۔ میں چاہتا تھا کہ ان کا مطالعہ آرام دہ اور ان کی اپنی زبان میں ہو۔ اس لیے میں نے روسی (اور چینی، جاپانی اور دیگر) زبان بولنے والوں کے لیے مقامی زبان میں منتقلی کا کام شروع کیا۔ ہمیشہ کی طرح تقریباً 2 ہفتوں میں یہ ہدف حاصل ہو گیا اور اب کئی ممالک کے صارفین اپنی مادری زبان میں فابولاز پڑھنے سے لطف اندوز ہو رہے ہیں۔ اس کے بعد میں نے روسی، چینی، جاپانی اور ہندی زبانوں کے لیے خوبصورت گوتھک فونٹس (Gothic fonts) منسلک کیے۔

ویسے، میرے ایک اچھے دوست زکھار (Zakhar) نے حال ہی میں کچھ یوں کہا، اقتباس: "فونٹ پڑھنے کے قابل نہیں ہے۔ آنکھوں سے خون نکل رہا ہے )"۔ اگر آپ بھی ان کی رائے سے متفق ہیں (اگرچہ میں ذاتی طور پر سمجھتا ہوں کہ یہ فونٹس آنکھوں کے لیے سکون ہیں) تو میں آپ کو بھی اس فابولا کو پڑھنے کا مشورہ دیتا ہوں۔

اور اب میں نے یہ رپورٹ-مضمون لکھنے کے لیے وقت نکال لیا ہے۔ میں ان بہت سی چیزوں کو شیئر کرنا چاہتا تھا جو آخری فابولا لکھنے کے بعد سے پیش آئیں۔ مثال کے طور پر میرا یوٹیوب اکاؤنٹ بلاک ہونا اور یوٹیوب سپورٹ کے ساتھ میری گفتگو تاکہ میں اپنی برسوں پرانی ویڈیوز تک رسائی حاصل کر سکوں (جو میں کھو چکا ہوں) اور اس کے نتیجے میں یوٹیوب نمائندوں کے خلاف پیدا ہونے والی نفرت۔ شاید میں اس مخصوص واقعے کے بارے میں بعد میں لکھوں، لیکن ابھی میں اس مضمون کو باقی زبانوں میں منتقل کر کے دنیا کے ساتھ شیئر کرنا چاہتا ہوں۔

آپ کے وقت اور توجہ کا شکریہ۔ اور ہمیشہ کی طرح...

شہنشاہ حفاظت کرتا ہے۔ (The Emperor Protects)