در ستایش تاریخ و بوردگیم و ...

من عاشق بوردگیمم، و عاشق تاریخ، و تلاقی بوردگیم و تاریخ برای من همیشه جذاب بوده و هست. البته نوع فانتزی شده‌اش، که سنگ بگیر چوب بده و روم را بساز، یا خیلی غرق در جزییات مثل Wargame ها، یا تاریخچه شرکتهای حمل و نقل را هم دوست دارم، اما یک بازی شبیه Freedom: the underground railroad که به تاریخچه برده‌داری میپردازد (و یک بار حتما درباره‌اش مینویسم) و یا بازی مورد بحث امروز، Pax Pamir: Second Edition برای من بیش از آن چیزی که فکرش را بکنید جذاب است. Read On →

ناهمگون : یک

من خیلی آدم ادامه دادن نوشتن نیستم. اینم شاید یه تجربه مشابه دیگه باشه. ایندفعه حتی یک درجه جلوتر بردمش و میخوام یک پادکست هم به صورت موازی راه بندازم. موش تو سوراخ نمیرفت، جارو هم به دمبش می‌بست. اما درباره چی حرف میزنم؟ درباره همه چی! کاملا ناهمگون و درهمه همه چی. اسم این پادکست هم میشه «ناهمگون» چون هم کلمه رو دوست دارم و هم اینکه واقعا ناهمگونه. درباره بوردگیم، برنامه نویسی، زندگی و هر چیزی که پیش بیاد. Read On →

یک

چرا هنوز از من بدت میاد؟ بعد اینهمه زندگی؟ چرا هنوز نتونستم درکت کنم؟ سالها بعد از تمام شدن دوران احمقانه تحصیل دیدمش. وقتی که با یک رؤیای غیرقابل اجرا سراغم آمد. مدتها بحث کردیم، و در آخر هم توانست قانعم کند، هیچوقت نفهمیدم چطور. ایده ساده به نظر می‌آمد، به اشتراک گذاشتن توان پردازشی، مزرعه ای از پردازشگرها، اما نه در کنار هم. هر مشتری به طور بالقوه، میتواند یک سرویس دهنده هم باشد، نه برای کارهای همزمان، که باید سریع باشند و فاصله زمانی زیاد پردازشگر، عملاً باعث بی‌معنی شدن قضیه میشود، برای کارهایی که نیاز به توان پردازشی بالا دارد، هر چند در صفی طولانی. Read On →

تزریق! نسخه به باینری وقت کامپایل #Golang

برای این قسمت تصمیم گرفتم اسم سرخ پوستی بذارم، یه چیزی تو مایه های لطفا بمیر پلن ناین لعنتی!

Read On →

go web server on port 80

Golang یک کتابخانه عالی http داره که کلی قابلیت بهت میده. مثلا http2 و قابلیت ساپورت رنج روی فایل برای دانلود که تقریبا به سادگی آب خوردن پیاده میشه. من معمولا یه وب سرور میذاشتم سر راهش. یعنی پروکسیش میکردم. مثلا nginx و هنوزم خیلی وقتا اینکار رو میکنم. منتها یه وقتایی هست که کلا نمیخوای درگیر وب سرور خارجی بشی. دلیلش هر چی هست :)‌ و میخوای از سرور خود Golang استفاده کنی. Read On →

GPG یک راهنمای نسبتا مفصل

GPG یا PGP چی هست اصلا؟ این یک الگوریتم رمز گذاری شخصی حساب میشه. در حقیقت PGP اون الگوریتمه، و من از برنامه آزاد GPG برای مدیریتش استفاده میکنم. درسته که بگم این این کلید PGP منه، ولی حقیقت اینه که ناخواسته خیلی وقتا متوجه میشم که گفتم این کلید GPG منه، عمدی نیست ولی از لحاظ تکنیکی اگه اهل خورده گرفتن باشی غلط میتونه باشه. من سعی دارم تو این نوشته، توضیح بدم که چطور میشه یه کلید ساخت و مطمئن شد که امنه. Read On →

اولین کامیتهای پروژه Go

شوخ طبعی دولوپرها همیشه جالب بوده برام، چون اصولا ندارن و چیزهایی که براشون شوخی حساب میشه رو کسی جز خودشون براش بامزه حساب نمیشه. این شوخی تیم گو بوده که اولین کامیتهای گو رو اینطوری رقم زده : لینک اولین کامیت برای اونها که ممکنه شوخی رو نگرفته باشن، تاریخ و Author اون چهار تا کامیت اول رو ببینید. Brian Kernighan، کسی که اولین Hello World شناخته شده رو تو کتابش داره، تاریخ هم که خیلی قدیمیه، برمیگرده به قبل از زبان C حتی. Read On →

چند کاربر با یک zsh

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

setup vps

من با ترمینال غریبه نیستم، حقیقت اینه که خیلی هم باهاش راحتم. اینکه بخوام یه برنامه رو تو ترمینال نصب کنم و کانفیگ کنم اصولا ترجیح منه، ولی این یه جفت استثنا هم داره. این یه جفت استثنا، تنظیم dns (باز tinydns خیلی بهتره، از bind متنفرم رسما!) و یکی هم تنظیم mail server برای دریافت و ارسال ایمیل، ارسال معولا راحته، ولی دریافت رو اصلا حسشو ندارم :)) الان اگه شما حسشو دارید، و اینکار براتون راحته، سیستمتون هم به اندازه کافی قدرتمند هست که مثلا یه roundcube راه بندازید روش، همین جا دیگه ادامه ندید :) و خیلی خوشحالم که تا همین قسمتشو خوندید :)) Read On →

کمک به پروژه‌های آزاد - دونیشن

یکی از چیزهایی که توی دنیای نرم‌افزارهای آزاد گاهی نقش حیاتی ایفا میکنه، دونیشن از سمت جامعه کاربری‌ه. منتها این دونیشن گاهی یه سری برداشتهای غلط رو باعث میشه. چند تاشون تو ذهن من هست، مینویسم، اگر چیزی به ذهن شما رسید خوشحال میشم که این پست رو تو گیتهاب ویرایش کنید و دوباره درخواست PR بدید. دونیشن صدقه نیست. اگر از کاری رضایت ندارید، دوستش ندارید، لازمش ندارید و اصولا دلیلی برای دونیت ندارید، دونیت نکنید، ولی وقتی دونیت کردید اون رو به حساب صدقه نذارید، بذارید به حساب دستمزد اون کار. Read On →

گور بدون مرده - ssh-honeypot

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

سلام دنیا، دوباره!

سلام. دوباره برای بار هزار و یکم، و این بار با [hugo] 1 شاید براتون این سوال پیش بیاد که چه بلایی قراره سر وبلاگ قبلیم بیاد، واقعیت اینه که خودم هم همین سوال رو دارم. فعلا جوابی براش ندارم، ولی شاید یه روزی یه سری چیزاش رو برگردونم، شاید، اگه حسش بود و هزار اما و اگر دیگه. تم وبلاگ هم کار دوست خوبم [سیناست] 2 و هنوز داره تکمیل میشه. Read On →