انسان، تکنولوژی و زمان

مفهموم «زمان» به طور مستقل میتونه عنوانی برای ساعت‌ها بحث و گفت‌و‌گو باشه. آیا زمان بُعدی است کاملا مستقل؟ تاثیراتی که کشفیات انیشتین روی مفهوم زمان گذاشت چه بود؟ و بیشمار سوالهایی که میشه مطرح کرد و تبدیلش کرد به میدون مبارزه‌ی بی‌نظیری بین فیزیک‌دان‌ها، فیلسوف‌ها و اصولا هرکسی که کمی به مفاهیم اینچنینی علاقه […]

الگوریتم‌هایی که شما رو اعدام می‌کنن!

تیتر عجیب یک خبر در SienceMag مشتاقم کرد تا کمی بیشتر درمورد نرم‌افزارهای دادگاهی سرچ کنم. تیتر خبر اینه: یک نماینده‌ی ِ مجلس ِ آمریکا خواستار بررسی دقیق‌تری پیرامون الگوریتم‌هایی است که در دادگاه‌های جنایی استفاده می‌شوند اینطور که مشخصه در دادگاه‌های ایالات متحده از نرم‌افزارها برای کارهای مختلفی، مثل تطبیق DNAهای موجود در صحنه‌ی جرم با DNA متهمین، تشخیص و […]

رابطه‌ی عاطفی ما با خونه‌هامون

عکس صرفا تزئینیه و با گوشی در روستای قمصر گرفتم این اولین بارم نیست. در اصل این دومین خونه‌ای بود که تاحالا توش زندگی کردم. خونه‌ی اولمون یک خونه‌ی سازمانی بود که تا هشت سالگیم اونجا بزرگ شدم. خونه‌ای ساده با حیاطی بزرگ و یه باغچه‌ی نسبتا پر گل و گیاه و درخت گل یاسی […]

چرا خواندن کتاب «انسان خردمند» را توصیه می‌کنم؟

بعد از خواندن نوشته‌ای با عنوان «چرا کتاب انسان خردمند را نمی‌خوانم؟» که MAHSA MOJDEHY در صفحه‌ی ویرگولشان منتشر کرده بودند، تصمیم گرفتم جوابیه‌ای کوتاه بنویسم که هم پاسخی به نوشته‌ی ایشان باشد و هم توصیه‌ای به خواندن این کتاب از نگاه بنده. پس توصیه می‌کنم ابتدا نوشته‌ی ایشان و سپس ادامه‌ی این متن را بخوانید. ترجمه‌ی […]

چگونه به شکل امن گذرواژه‌ها را ذخیره کنیم؟

جواب خلاصه: از bcrypt استفاده کنید.   چرا از MD5، SHA-1، SHA256، SHA512، SHA-3 و … استفاده نکنیم؟ تمام الگوریتم‌های نامبرده، توابع هش ِ (به انگلیسی: hash function) همه‌منظوره هستند که طراحی شده‌اند تا حجم عظیمی از داده‌ها را در کم‌ترین زمان ممکن خلاصه‌سازی کنند. [مترجم: به طور مثال، یک رشته‌ی متنی بزرگ را به […]

اهمیت رمزنگاری

مقاله‌ی زیر ترجمه‌ی من از نوشته‌ی بروس اشنایر (Bruce Schneier)، متخصص رمزنگاری، امنیت رایانه و حریم خصوصی و نویسنده‌ی اهل ایالات متحده آمریکا است و در سال ۲۰۱۶ در قالب مقاله‌ای در وب‌سایت شخصی او منتشر شده‌است.   با نفوذ همه‌گیر کامپیوتر‌ها و شبکه‌های کامپیوتری در دنیای امروز، سخت است که در اهمیت رمزنگاری اغراق کنیم. […]

از تغییر نترسیم – به مناسبت خریده‌شدن گیت‌هاب توسط مایکروسافت

امروز روز عجیبیه! خبر خریده‌شدن گیت‌هاب، دوست‌داشتنی‌ترین پلتفرم برای توسعه‌دهندگان و به طور خاص عاشقان ِ نرم‌افزار آزاد، توسط مایکروسافت، به طور رسمی تایید شد. این خبر جدای از نگرانی‌هایی که می‌تونه برای ما بوجود بیاره (که البته به نظر من جای هیج نگرانی‌ای نیست و در ادامه هم بیشتر توضیح میدم) می‌تونه بهونه‌ای باشه […]

جاوااسکریپت: شیء انتخاب‌ها (options object) چیست؟

در جاوااسکریپت، اشیاء ِ انتخاب‌ها (که از این پس به آن‌ها options objects می‌گوییم) یک الگوی ِ معمول برای ِ فرستادن ِ آرگومان‌ها به یک تابع هستند. این مقاله به شرح ِ چگونگی ِ کار ِ آن‌ها و نیز دلیل ِ این که استفاده از آن‌ها باعث ِ افزایش ِ خوانایی ِ کد ِ شما می‌شود، می‌پردازد. options object چیست؟ یک […]

جاوااسکریپت: بررسی ِ این که آیا یک متغیر تعریف شده است یا نه

در جاوااسکریپت یک متغیر تعریف شده است «اگر و فقط اگر» حین ِ دسترسی به آن خطای ِ ReferenceError تولید نشود. راه ِ معمولی که خیلی‌ها برای ِ بررسی ِ تعریف شده بودن ِ یک متغیر استفاده می‌کنن، به شکل ِ زیر است: typeof variableName !== ‘undefined’ عبارت ِ بولین ِ بالا در دو حالت مقدار ِ false خواهد داشت: متغیر […]

جاوا‌اسکریپت: بررسی وجود یک ویژگی در شئ

برای این کار سه روش معمول وجود داره که به ترتیب اونارو بررسی می‌کنیم: روش خسته: استفاده از خاصیت undefined انجام این کار به لطف یک رفتار خاص و البته جالب جاوا‌اسکریپت خیلی راحت انجام می‌شه: اگه یک ویژگی در شیئ موجود نباشه، مقدار undefined برای اون بر‌می‌گرده. مثلا: const objA = { propA: ‘A property!’, propB: ‘B […]