مشینی ترجمہ۔ انگریزی متن ہی مستند ہے۔ English

دوسرا آدھا حصہ

چیزیں جو میں نے اس لیے بنائیں کہ میں چاہتا تھا وہ موجود ہوں۔

PANTHEON اصل کام ہے۔ یہ وہ ہے جو یہی جبلتیں تب پیدا کرتی ہیں جب نتیجے کی قیمت کوئی ادا نہیں کر رہا ہوتا: ڈیسک ٹاپ پر ایک حقیقی آسمان، بغیر dependencies کے ایک ایفیمیرس، اور ایک ٹرمینل جو ڈرا کر سکتا ہے۔ نظم و ضبط وہی ہے؛ صرف داؤ بدلتا ہے۔

GNOME Shell · GPL-2.0 · ★3

TerraFirma: آپ کے وال پیپر پر ایک حقیقی آسمان۔

آسمان کی اینیمیشن نہیں۔ اصل آسمان، جو آپ کے عرض بلد، طول بلد اور گھڑی کے مطابق ephemeris سے حساب کیا گیا ہے۔

ایک GNOME ڈیسک ٹاپ جس کا وال پیپر حساب سے بنایا گیا رات کا آسمان ہے: Pegasus، Aquarius، Aries اور Taurus کے جھرمٹوں کی شکلیں ان کے ناموں کے ساتھ، آر پار پھیلی ہوئی کہکشاں، Saturn اپنے نام کے ساتھ چمکتا ہوا، اور افق کی قوس پر SE اور SW کے نشان۔ ڈاک اور Home اور Trash کے آئیکن بھی تصویر میں ہیں۔
ڈیسک ٹاپ، بغیر کسی ترمیم کے۔ ڈاک اور آئیکنز جان بوجھ کر تصویر میں رکھے گئے ہیں: یہ وال پیپر ہے، کوئی ونڈو نہیں جو وال پیپر ہونے کا دکھاوا کر رہی ہو۔ ہر شکل، ملکی وے اور افق اسی مقام اور اسی منٹ کے لیے حساب کیے گئے ہیں۔
زحل ایک چھوٹی نارنجی ٹکیہ کی صورت میں دکھایا گیا ہے جس کے گرد اس کے حلقے کا بیضوی خاکہ بنا ہے، اس پر Saturn کا لیبل ہے، اور پس منظر میں برجوں کی لکیریں ہیں۔
انیس arcseconds پر زحل، حلقے اصل حلقوں کی جیومیٹری کے مطابق کھلے اور جھکے ہوئے۔ یہ ہر پندرہ سال بعد بند ہو کر ایک لکیر بن جاتے ہیں؛ یہ انہیں جزوی طور پر کھلا دکھاتا ہے، کیونکہ وہ اس وقت وہیں ہیں۔

hot loop جان بوجھ کر قابلِ پیمائش ہے

پروجیکشن اور فضا کا حساب skymath.js میں ہے، جو GNOME Shell سے کچھ بھی import نہیں کرتی۔ جو فائل صرف ایک سیشن کے اندر چل سکتی ہو، اس کے بارے میں صرف اندازہ لگایا جا سکتا ہے؛ جو الگ سے چل سکے، اس کا وقت ناپا جا سکتا ہے۔ یہ حد اسی منطق پر ہے جس پر وہ purity lint ہے جو PANTHEON کے core کو اس کی app layer سے الگ رکھتا ہے۔

ستاروں کا کیٹلاگ اور ephemeris فریقِ ثالث کے ہیں اور NOTICE.md میں ان کا حوالہ دیا گیا ہے۔ اسے کوئی تاریخ دیں، پھر اوپر دیکھیں، اس قسم کے سافٹ ویئر کے لیے یہی واحد امتحان ہے جو معنی رکھتا ہے۔

افق کی ایک چوڑی، پتلی پٹی جس میں افقی قوس پر قطب نما کی سمت SE نشان زد ہے، اور اس کے ذرا اوپر برج Piscis Austrinus اور اس کا ستارہ Fomalhaut لیبل کیے گئے ہیں۔
افق، اپنی قطب نما سمتوں کے ساتھ، تاکہ آپ مڑ کر جانچ سکیں۔

ہاٹ لوپ کو باہر کیوں منتقل کرنا پڑا → · GitHub پر TerraFirma ↗

الگ کیے گئے، اور شائع کیے گئے

اس سے نکلنے والے تین پیکیجز۔

وہی طریقہ جو PANTHEON کے چھ کے ساتھ اپنایا: چیز بنائیں، وہ حصہ تلاش کریں جو واقعی دوبارہ قابلِ استعمال ہو، اسے الگ کریں، اور اسے اس کی اپنی شرائط پر شائع کریں۔ تینوں MIT ہیں اور ابھی انسٹال کیے جا سکتے ہیں۔

مونا لیزا ٹرمینل میں رنگین Unicode بریل حروف کے طور پر رینڈر کی گئی۔ ہر حرف کے سیل میں نقطوں کا 2x4 گرڈ ہے؛ چہرہ، ہاتھ اور اس کے پیچھے دھندلا منظر سب پہچانے جا سکتے ہیں، اور ہر سیل کے اندر بریل نقطوں کی بناوٹ نظر آتی ہے۔
مونا لیزا، ٹرمینل میں Unicode بریل سے بنائی گئی، 93 کالم چوڑی۔ ہر سیل 2×4 نقطوں کا ایک گرڈ ہے جس کا اپنا فورگراؤنڈ اور بیک گراؤنڈ رنگ ہے۔

braillecanvas v0.4.0 · MIT

Braille فی character cell 2×4 نقطے address کرتا ہے، اس لیے 80×24 کا terminal دراصل 160×96 کا canvas ہے۔ یہی rendering اور ASCII art کا فرق ہے۔

دلچسپ حصہ رنگ ہے۔ ہر سیل دو رنگ رکھتا ہے، ایک روشن نقطوں کے لیے، ایک خالی جگہوں کے لیے، تاکہ کسی کنارے پر پھیلا ہوا سیل، جیسے آسمان کے مقابل جلد، اس کنارے کو برقرار رکھے بجائے اس کے کہ اسے اوسط کر کے گدلا کر دے۔ اس تصویر پر فی نقطہ اوسط رنگ کی غلطی 45.7 سے 21.3 تک گر جاتی ہے۔

ہر cell میں کون سے نقطے روشن ہوں، یہ چننا، بجائے اس کے کہ pattern ایک مقررہ dither grid سے لیا جائے، texture سے خالی cells کو 35.1% سے 1.6% تک کم کر دیتا ہے۔

اس کی اپنی README میں بیان کردہ دو حدود: تقریباً 90 کالمز سے کم پر تصاویر کام کرنا چھوڑ دیتی ہیں، اور مونوکروم یہ تصویر بالکل رینڈر نہیں کر سکتا، اس کا چہرہ 159 luminance ناپتا ہے جبکہ اس کے پیچھے آسمان 192، اس لیے 1-bit رینڈر اپنی ساخت کے لحاظ سے ہی ایک سلوئٹ ہوتا ہے۔

npm i braillecanvas · npm ↗ · سورس ↗

skymaths v0.1.2 · MIT

بغیر dependencies کے فلکیاتی مقامات کا حساب: سورج، چاند، سیارے، شفق، طلوع و غروب۔ TerraFirma کے ephemeris سے نکالا گیا، پھر درست کیا گیا: جو Espenak–Meeus polynomial یہ استعمال کرتا تھا وہ صرف 1900–1920 کے لیے شائع شدہ ہے اور اسے 1986 پر لاگو کیا جا رہا تھا، جس سے 1950 کے لیے −534 سیکنڈ آ رہے تھے جبکہ ناپی گئی قدر +29 ہے۔ یہ اسے خود اپنے مقابلے کے بجائے ایک شائع شدہ almanac سے جانچ کر پکڑا گیا۔

یہ اسی سائٹ پر چل رہا ہے: ڈارک موڈ میں پس منظر Perseids کی رات، 13 August 2026، کو Cardiff کے اوپر کا آسمان ہے، جو آپ کے براؤزر میں حساب کیا جاتا ہے: 5,044 ستارے اپنے اصل رنگوں میں، چاند کا مرحلہ، اور سیارے وہیں جہاں وہ اس وقت تھے۔ گھومنے کے لیے اسکرول کریں۔

npm i skymaths · npm ↗ · سورس ↗

کارڈف، 12–13 اگست 2026، 22:45 سے 02:15 BST تک، ہر فریم کا حساب skymaths نے کیا۔ شہابیے اصل Perseid ریڈیئنٹ سے اصل شرح پر نکلتے ہیں؛ ہر ایک کہاں گرتا ہے، یہ بے ترتیب ہے۔ قلعہ اور پہاڑیاں Runway نے بنائی ہیں۔

starwheel v0.2.3 · MIT · ★4

آپ کے ٹرمینل میں ایک لائیو planisphere، آپ کے مقام اور منٹ کے لیے ستاروں کی حقیقی پوزیشنز، braillecanvas پر بنائی گئی۔ میری سب سے زیادہ stars والی repository، اور وہی جس نے مجھے سکھایا کہ شائع شدہ pixels کو ہلانے والا fix دو بار ایک جیسا fix نہیں ہوتا: یہ جان بوجھ کر iterations کو محدود کرتا ہے جہاں اس کا ساتھی clip کرتا ہے۔

npx starwheel · npm ↗ · سورس ↗

braille میں بنایا گیا ایک terminal server monitor: ایک rolling window پر CPU، memory اور load-average کے line charts، اور ہر core کے لیے ایک bar strip۔
وہی کینوس حقیقی /proc ڈیٹا پلاٹ کرتا ہے: CPU، میموری اور load average، ایک rolling window پر۔ چارٹس 90 کالم کی اس حد سے بہت نیچے بھی کام کرتے ہیں جو تصاویر کو درکار ہوتی ہے، کیونکہ وہ پہلے ہی high-contrast ہوتے ہیں۔

اسی صفحے پر، ابھی

آرٹ تخلیق شدہ ہے، اور seed باہر نہیں نکل سکتا۔

اس سائٹ پر آرٹ کا ہر نمونہ: اوپر والا hero، favicon، سوشل کارڈز، اوتار، PANTHEON کے اپنے جنریٹر سے آتا ہے۔ متعین (deterministic) اور seeded: ایک ہی seed ہر بار ایک ہی تصویر دیتا ہے۔

دونوں طرف ایک ہی contract

ایک سرور سائیڈ انجن سوشل کارڈز اور ٹیننٹ سائٹس رینڈر کرتا ہے؛ ایک براؤزر انجن وہ اینیمیٹڈ ورژن بناتا ہے جو آپ دیکھ رہے ہیں۔ اصول ایک ہی ہے: سیڈ اندر، قابلِ تکرار آرٹ باہر۔

ساخت کے لحاظ سے injection سے محفوظ

seed صرف PRNG کو فیڈ کرتا ہے اور کچھ اور نہیں۔ اسے کبھی markup یا style میں interpolate نہیں کیا جاتا۔ ایک ٹیننٹ نام جو دراصل payload ہو، ایک مختلف تصویر بناتا ہے؛ وہ script tag نہیں بناتا۔ باقی سسٹم والی وہی جبلت، سجاوٹ پر لاگو۔

انسٹال کے قابل، صرف پڑھنے کے لیے نہیں

چھ ضمانتیں، الگ کر کے شائع کی گئیں۔

ہر ایک PANTHEON سے ایک واحد قابلِ تصدیق وعدے کے طور پر نکلا، پھر PyPI پر گیا تاکہ اپنے بل پر کھڑا ہو سکے۔ مخالفانہ (adversarial) AI ایجنٹس نے، جو خود چلائے گئے، آزاد نہیں، ان کا سطر بہ سطر جائزہ لیا اور حقیقی نقائص پائے؛ نیچے دیے گئے ورژن ان اصلاحات کے بعد کے ہیں، ہر ایک کی تصدیق registry سے ایک صاف ماحول میں انسٹال کر کے اور جائزہ کار کی اپنی reproduction دوبارہ چلا کر کی گئی، build log پر بھروسہ کر کے نہیں۔

pantheon-guardrails v0.3.2 · Apache-2.0

ایک constitution scorer جو LLM judge صرف زیادہ داؤ والے جوابات پر استعمال کرتا ہے، اور شرط رکھتا ہے کہ وہ judge جنریٹر سے مختلف ماڈل ہو تاکہ دونوں کے blind spots مشترک نہ ہوں۔ پہلے یہ حد سے باہر اسکور کو اوپر کی طرف clamp کر دیتا تھا: {"clarity": 99} لوٹانے والے judge کو پورا 1.0 ملتا اور وہ ہر threshold پاس کر لیتا: ایک guardrail جو fail open ہو رہا تھا۔ اب جو judge exception اٹھائے، رک جائے یا بے معنی نتیجہ لوٹائے، وہ ایک واضح ناکام evaluation ہے جو بطورِ default بلاک کرتی ہے۔

pip install pantheon-guardrails · PyPI ↗ · سورس ↗

pantheon-ssrf-guard v0.2.1 · Apache-2.0

دو تہوں والا SSRF egress guard جو DNS rebinding کے باوجود قائم رہتا ہے: یہ connect کے وقت اس IP کو دوبارہ جانچتا ہے جس تک socket واقعی پہنچا، اس لیے جو host پہلے public IP پر resolve ہو اور پھر loopback یا cloud metadata پر rebind ہو جائے، اسے مسترد کر دیا جاتا ہے۔ Review میں پتا چلا کہ opener پھر بھی file:// URLs پڑھ لیتا تھا، کیونکہ Python بطور default دوسری schemes کے handlers انسٹال کرتا ہے؛ اب boundary پر ایک واضح http/https allowlist ہے، redirects سمیت، اور environment proxies بند رہتی ہیں جب تک آپ خود انہیں نہ مانگیں۔

pip install pantheon-ssrf-guard · PyPI ↗ · سورس ↗

pantheon-tool-sanitizer v0.3.0 · Apache-2.0

غیر معتبر MCP ٹول ٹیکسٹ سے ٹول پروٹوکول مارک اپ اور Unicode اسمگلنگ کو ایجنٹ کے پرامپٹ تک پہنچنے سے پہلے ہٹا دیتا ہے۔ اس کا دائرہ دیانت داری سے متعین ہے: یہ سادہ نثر والی انجیکشن روکنے کا دعویٰ نہیں کرتا، کیونکہ وہ string کا نہیں بلکہ آرکیٹیکچر کا مسئلہ ہے۔ جائزے سے دو اصلاحات: 256 kB کا ایک مخالفانہ ان پٹ 26 سیکنڈ CPU لیتا تھا اور اب سیدھا مسترد کر دیا جاتا ہے، اور "Read\nthe\tfile" اب "Readthefile" نہیں بنتا، کیونکہ لائن بریک لفظ کی حد ہے۔

pip install pantheon-tool-sanitizer · PyPI ↗ · سورس ↗

credit-ledger v0.3.0 · Apache-2.0

Postgres پر تقریباً 150 لائنوں میں overdraft-proof metering: 50 کے بیلنس پر 100 متوازی charges، اور ٹھیک 50 کامیاب ہوتے ہیں۔ webhook replays کے باوجود exactly-once billing، اور row-level security کے ذریعے نافذ علیحدگی۔ شائع شدہ build پہلے ایک منفی charge قبول کر لیتا تھا، جو گاہک کو ادائیگی کر دیتا تھا، اور column کی precision سے کم رقوم بھی، جو کامیابی رپورٹ کرتے ہوئے 0.0000 بل کرتی تھیں۔ اب ایک ہی رقم کا اصول ہر راستے پر لاگو ہوتا ہے، اور پہلے سے موجود ڈیٹابیسز کے لیے ایک ٹیسٹ شدہ migration موجود ہے۔

pip install credit-ledger · PyPI ↗ · سورس ↗

pantheon-ical v0.3.1 · Apache-2.0

بکنگ کیلنڈرز کے لیے round-trip iCal (RFC 5545)، 200 سے کم سطروں میں۔ چھوٹ جانے والا مصروف وقفہ خالی پڑھا جاتا ہے، اس لیے خاموشی ہی خطرناک ناکامی ہے: حد سے بڑا کیلنڈر کاٹنے کے بجائے مسترد کر دیا جاتا ہے، اور جو recurring rule حد سے بڑھ جائے وہ چھوٹی فہرست لوٹانے کے بجائے یہ بات بتا دیتا ہے۔ آخری اصلاح نے نتیجے کے ساتھ ساتھ کام کو بھی محدود کیا: ایک سطر کا مخالفانہ rule مسترد ہونے سے پہلے 76 سیکنڈ میں 34 ملین occurrences بنا دیتا تھا؛ اب یہ 401 پر رک جاتا ہے۔

pip install pantheon-ical · PyPI ↗ · سورس ↗

pantheon-rls v0.1.1 · Apache-2.0

ٹیننٹ آئسولیشن ایپلیکیشن کی عادت کے بجائے Postgres کی ضمانت کے طور پر: force-RLS کے ساتھ کم از کم استحقاق والی grants، تاکہ ڈیٹا بیس خود کراس ٹیننٹ reads اور writes سے انکار کر دے۔ ساخت کے لحاظ سے fail-closed، ٹیننٹ context نہ ہو تو صفر rows واپس آتی ہیں، کبھی تمام rows نہیں، اور یہی وہ ناکامی کی صورت ہے جو اس وقت اہم ہوتی ہے جب کوئی بگ رات 3 بجے پروڈکشن تک پہنچ جائے۔

pip install pantheon-rls · PyPI ↗ · سورس ↗

اوپر کی ہر اصلاح اسی طرح آئی: پہلے نقص کو دوبارہ پیدا کریں، علامت کے بجائے boundary کو ٹھیک کریں، پھر ثابت کریں کہ bug واپس ڈالنے پر نیا ٹیسٹ فیل ہوتا ہے۔ جو ٹیسٹ فیل نہیں ہو سکتا وہ ثبوت نہیں ہے۔

یہ کس پر چلتا ہے

اسٹیک عام سا ہے۔ حد عام نہیں۔

Python 3.12، FastAPI، Postgres، Redis، Vite کے ساتھ React، nginx کے پیچھے ایک Dockerfile۔ ان میں سے کوئی بھی قابلِ تعریف فیصلہ نہیں، یہ وہ حصے ہیں جو آپ اس لیے چنتے ہیں کہ آپ کی توجہ کسی ایسی جگہ جا سکے جہاں اس کی اہمیت ہو۔

146 فائلیں · 14,002 لائنیں

pantheon-core: بنیادی تہہ۔ معاہدے کے تحت ڈومین سے آزاد: یہ residents یا bundles سے import نہیں کر سکتا، اور اگر ایسا ہو تو دو آزاد جانچیں CI کو فیل کر دیتی ہیں۔

210 فائلیں · 24,216 لائنیں

ٹیسٹ، Python کی 38,816 سطروں کے مقابل۔ میں implementation ہاتھ سے نہیں لکھتا، اس لیے suite کوئی حفاظتی جال نہیں۔ یہ specification ہے، اور یہی وہ چیز ہے جو میں درحقیقت تصنیف کرتا ہوں۔

پانچ پرتیں، ایک راستہ

architect · runtime · guardrails · substrate · primitives، جبکہ providers جان بوجھ کر stack سے باہر ہے، کیونکہ یہ بیک وقت دو layers کے نیچے بیٹھتا ہے اور contract جھکنے کے بجائے یہ بات کھل کر کہتا ہے۔

اسی حد کی وجہ سے چھ components کو الگ کر کے standalone libraries کے طور پر شائع کیا جا سکا، extraction زیادہ تر ان فائلوں کو منتقل کرنا تھا جنہیں کبھی نیچے کی طرف پہنچنے کی اجازت نہیں دی گئی تھی۔ تفصیلی ورژن، بشمول وہ حصہ جو میں نے غلط کیا →

وہی شخص، وہی اصول، کم داؤ۔

کوئی وال پیپر کا آڈٹ نہیں کرتا۔ یہ اس طرح اس لیے بنے ہیں کہ میں بنانے کا یہی ایک طریقہ جانتا ہوں: اسے ناپو، دوبارہ قابلِ استعمال حصہ الگ کرو، اس کے ساتھ اس کی حدود شائع کرو، اور اعداد کو پروگرام سے باہر کی کسی چیز کے مقابل جانچو۔

میں کیا ڈھونڈ رہا ہوں → تحریریں پڑھیں →