پائتھن پروگرامنگ لینگویج لیبل والی اشاعتیں دکھا رہا ہے۔ سبھی اشاعتیں دکھائیں
پائتھن پروگرامنگ لینگویج لیبل والی اشاعتیں دکھا رہا ہے۔ سبھی اشاعتیں دکھائیں

اتوار، 29 مارچ، 2015

کلیدساز ۲ تجرباتی نسخہ

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

پیر، 12 اپریل، 2010

ROT13 رمز نگاری

ROT13 رمز نگاری کا ایک کمزور سا معیار ہے جس کا استعمال عام طور پر لطائف کو انکرپٹ کرنے کے لیے استعمال کیا جاتا ہے۔ اس میں ہوتا یہ ہے کہ لفظ کے ہر حرف کو اپنی جگہ سے 13 جگہ آگے کھسکا دیا جاتا ہے۔ یعنی A کی جگہ N لگا دیا جاتا ہے اور M کی جگہ Z۔ اگر کوئی حرف Z سے پہلے 13 حروف سے کم کے فاصلے پر ہو تو Z سے آگے دوبارہ A سے شروع کرتے ہیں۔ مثلاً T کی جگہ G۔

(ROT13 میں ROT مخفف ہے ROTATE کا)

یہ سب مجھے یوں معلوم ہوا کہ پائتھن پروگرامنگ لینگویج سیکھنے کے دوران مشق کے طور پر متن کو ROT13 میں انکوڈ اور ڈیکوڈ کرنے والا ایک پروگرام لکھنا تھا۔ چنانچہ دو چار پروگرام لکھے جو کہ مختلف طریقوں سے یہ کام کرتے ہیں۔ ان میں سے ایک اپنی تعریفیں کروانے کے لیے یہاں پیش کر رہا ہوں (حالانکہ کوئی بڑی چیز نہیں ہے لیکن کسی کو بتانا نہیں)۔ :D


یہ پروگرام کمانڈ لائن پر مبنی ہے چنانچہ اسے ٹرمینل ہی میں چلایا جائے گا۔ کچھ اس طرح سے۔

python rot13.py

چونکہ انگریزی کے حروفِ تہجی کی تعداد 26 ہے، لہٰذا ROT13 میں انکوڈ کیے ہوئے متن کو دوبارہ 13 حرف آگے کھسکانے پر وہی متن واپس حاصل ہوتا ہے۔ اس خصوصیت کی وجہ سے اس کا انکوڈر اور ڈیکوڈر الگ الگ بنانے کی ضرورت نہیں پڑی۔ ایک ہی سادہ پروگرام سے یہ دونوں کام ہو جاتے ہیں۔

اس پروگرام کو چلانے کے لیے آپ کو پائتھن کے "مترجم" یا انٹرپرٹر (interpreter) کی ضرورت پڑے گی جو لینکس میں تو عموماً پہلے ہی سے موجود ہوتا ہے۔ لیکن اگر نہ ہوا یا آپ ونڈوز یا میک استعمال کرتے ہیں تو اسے یہاں سے حاصل کیا جا سکتا ہے:


ROT13 میں انکرپٹ کی گئی کچھ مثالیں تو آپ کو انگریزی کے وکیپیڈیا پر مل جائیں گی۔


مزید کا اگر شوق ہو تو خود ہی ڈھونڈ لیں۔ بلکہ اگر چاہیں تو اپنے پیغامات کو بھی اس پروگرام کی مدد سے انکرپٹ کر کے دوستوں کو تنگ کریں۔ کوئی اضافی پیسے نہیں لگیں گے۔ :)