بایگانی برچسب: s

رادیو جادی ۱۶۲ – آمارمون

در رادیوجادی ۱۶۲، با آمار سال ۲۰۲۳ گیت‌هاب شروع می‌کنیم و بعد با کلی خبر ریز پیش می‌ریم. از مقایسه سوپرکامپیوتر و رزبری تا لو رفتن دیتاهای بنز و مردم و اینکه دولت ژاپن تصمیم گرفته بیخیال فلاپی دیسک بشه و می بینیم که آیا برنامه نویسی رو فراموش کردیم یا نه! با ما باشین که دنیا هکرهای بیشتری می‌خواد!

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

و البته ایده جدید که اگر توشون سابسکرایب کنین / مشترک بشین یا هر چی بهش میگن، خوشحال می شم:

رادیوگیک تصویری در آپارات
رادیوگیک تصویری در یوتیوب

منابع این شماره

00:00 – رادیو گیک جادی ۱۶۲
02:13 – آمار برنامه نویسان در گیت هاب
12:50 – فایل تجمیعی ۲۶ میلیارد کورد لو رفته اطلاعات
14:25 – الگوریتمی که غذا رسانی به فقرا رو متوقف کرده
18:50 – لو رفتن منابع نرم افزاری مرسدس بنز در گیت‌هاب
23:05 – هک انی دسک AnyDesk
27:12 – کلاه برداری پیشرفته با دیپ فیک
32:25 – نقض حق خلوت شخصی مراجعان کتاب‌خانه‌ها
34:00 – مقایسه سرعت سوپرکامپیوتر کری ۱ با رزبری پای
36:27 – جلوگیری دادگاه از مزایای ۵۶ میلیاردی ایلان ماسک از تسلا
37:50 – ژاپن دیگه برای کارهای اداری نیازی به فلاپی نداره
42:27 – بازگردوندن ۱۳۸هزار دلار از جعبه هدیه ۱۲ دلاری پول خرد شده هنگ کنگ
44:14 – پایان کار هلی‌کوپتر فضایی مریخ نورد ناسا
44:54 – ایا برنامه نویسی رو فراموش کردیم؟ ماجرای پکیج‌های ان پی ام
49:21 – پیام‌های آخر

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

و البته ایده جدید که اگر توشون سابسکرایب کنین / مشترک بشین یا هر چی بهش میگن، خوشحال می شم:

منابع این شماره

گریس هاپر، زن برنامه‌نویسی که کلی از چیزهایی که داریم بهش مربوطه، بدون اینکه اسم زیادی ازش برده بشه

گریس هاپر هستن، متخصص کامپیوتر و ریاضی‌دان. یکی از اولین برنامه‌نویس‌های کامپیوترهای مارک ۱ هاروارد و یکی از اولین کسانی که روی مفهوم لینکرها کار کرد. اولین کسی که نظریه زبان برنامه نویسی مستقل از ماشین رو داد که منجر به اومدن زبان کوبول شد.

SI Neg. 83-14878. Date: na.
Grace Murray Hopper at the UNIVAC keyboard, c. 1960. Grace Brewster Murray: American mathematician and rear admiral in the U.S. Navy who was a pioneer in developing computer technology, helping to devise UNIVAC I. the first commercial electronic computer, and naval applications for COBOL (common-business-oriented language).
Credit: Unknown (Smithsonian Institution)

در ۳۴ سالگی سعی کرد در جنگ دوم شرکت کنه اما نیروی دریایی به خاطر «سن بالا» تقاضاش رو رد کرد. در ۴۳ سالگی روی پروژه یونیواک کار کرد و بعد به کوبول رسید که تا ۶۰ سالگیش مروجش بود. در ۴۶ سالگی ایده و اولین لینکر رو ابداع کرد که هنوزم استفاه می‌شه. در ۶۰ سالگی نیروی دریایی ازش درخواست کرد هنوز در اونجا به کار ادامه بده و در ۸۰ سالگی از نیروی دریایی بیرون اومد و مشاور شرکت
DEC
شد و در ۸۴ سالگی درگذشت.

ناوشکن موشک انداز یو اس اس هاپر و سوپرکامپیوتر کری ایکس ای ۶ و یه کالج دانشگاه ییل، به افخارش، هاپر نامگذاری شده و اوباما به مدال ازادی رییس جمهوری رو
به یادش اهدا کرد.

در ضمن تیم گریس هاپر، اولین باگ تاریخ رو در کامپیوتر مارک ۲ کشف کردن: یه حشره که لای دستگاه گیر کرده بود و نمی‌ذاشت درست کار کنه؛ برای همینه که ما هنوزم به اشکال ریزی که نمی‌ذاره برنامه درست کار کنه، می‌گیم باگ.

The First Computer Bug Moth found trapped between points at Relay # 70, Panel F, of the Mark II Aiken Relay Calculator while it was being tested at Harvard University, 9 September 1945. The operators affixed the moth to the computer log, with the entry: First actual case of bug being found. They put out the word that they had debugged the machine, thus introducing the term debugging a computer program. In 1988, the log, with the moth still taped by the entry, was in the Naval Surface Warfare Center Computer Museum at Dahlgren, Virginia. Courtesy of the Naval Surface Warfare Center, Dahlgren, VA., 1988. U.S. Naval History and Heritage Command Photograph.

رادیوجادی ۱۵۲ – کونگ‌فوی کوین میتنیک از همه بهتره

در این شماره به یاد یکی از هکرهای افسانه‌ای کلی حرف می‌زنم، سری به گزارش فلاکت اینترنت خودمون می‌زنیم و بعد از قاطی کردن ایمیل‌های ارتش آمریکا و کشور مالی، می‌بینیم که گوریل‌های باغ وحش تورنتو دارن زیادی موبایل می‌بینن و کلی خبر دیگه. با من باشین که هفته خاصی است!

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

و البته ایده جدید که اگر توشون سابسکرایب کنین / مشترک بشین یا هر چی بهش میگن، خوشحال می شم:

منابع این شماره

رادیوگیک شماره ۱۴۸ – همه جا نشتی داره

در رادیوگیک شماره ۱۴۸ خیلی جاها نشتی دارن. ما در مورد سورس کد توییتر گپ می زنیم و می‌بینیم چرا برای هماهنگی با یه قانون ضد کنجد، همبرگرها کنجد دار شدن و با دیدن پوتین که دنبال ساخت تی سی پی آی پی ملی است، چیزهای بیشتری در مورد این شکل از حکومت‌ها یاد می‌گیریم. با ما باشین که جهان هکرهای بیشتری لازم داره.

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

و البته ایده جدید که اگر توشون سابسکرایب کنین / مشترک بشین یا هر چی بهش میگن، خوشحال می شم:

منابع این شماره

معرفی کتاب «درک الگوریتم؛ راهنمای تصویری برای برنامه‌نو یس‌ها و افراد کنجکاو»

در معرفی کتاب قبلی، کتاب الگوریتم چهار استاد رو معرفی کردم و آخرش هم گفتم که اون خیلی ریاضی است و نسبتا سخت برای خوندن و اگر کسی می‌خواد به شکل عمومی در مورد الگوریتم‌ها بهتر بشه، یک گزینه خیلی ساده‌تر و شاید عملی‌تر هست؛ حالا وقتشه که اون گزینه رو معرفی کنم: کتاب درک الگوریتم مصور از آدیتیا بهارگاوا با ترجمه مهران افشارنادری.

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

و خبر خوب؟ کتاب رو مهران ترجمه کرده و برای دانلود رایگان در اختیار ما گذاشته.

رادیو جادی ۱۴۵ – سایه

در #رادیوجادی ۱۴۵ جهان به آخر رسیده! اسممون عوض شده، توروالدز از اپل لینوکس رو منتشر کرده، نویسنده نود جی اس از کارش پشیمونه و کانفلوئنس پسوردهاش رو هارد کد می کنه و سولانا گاو بندی کرده و فیسبوک به دستگیری دختری که سقط جنین کرده بود کمک رسونده! وضع عجیبیه دوستان. با ما باشین

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

و البته ایده جدید که اگر توشون سابسکرایب کنین / مشترک بشین یا هر چی بهش میگن، خوشحال می شم:

منابع این شماره

یک راهنمای شغلی: همیشه در حال استعفا دادن باشید

نه منظورم این نیست که هی شرکت عوض کنین یا همیشه تهدید کنین که دارین می‌رین یا با دیدن هر چیز ناملایم بگین که «پس من می‌رم». فلسفه نویسنده مقاله همیشه در حال رفتن باشید ایده‌اش اینه که همیشه جوری کار کنین که انگار دارین شرکت رو ترک می‌کنین. همیشه در حال یاد دادن کارهاتون به بقیه باشین، همیشه در حال این باشین که بقیه بتونن شما رو جایگزین کنن و همیشه کارهایی که می‌کنین رو اتوماتیک کنین. یادتون باشه که اصلی در دنیای شغلی ما می گه اگر شما غیر قابل جایگزینی باشین، هیچ وقت به جای بهتری منتقل نمی‌شین.

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

به شکلی عجیب،‌ اگر شما می‌خواین کار مطمئن و بهتر و دلچسب‌تری داشته باشین باید جوری کار کنین که همیشه قابل جانشینی باشین. مثلا به این موارد نگاه کنین:

  1. 📕 کارهاتون رو داکیومنت کنین. دقیق بنویسین چیکار می کنین و مراحل و قدم های کارهایی که انجام می‌دین چیه. اینطوری خیلی وقت ها لازم نمی شه کار تکراری بکنین چون یکی دیگه اینکار رو می کنه و از اونطرف همه بر اساس داکیومنت های شما پیش می رن و شما رو می شناسن. این دقیقا از چیزهایی است که من در شرکت خیلی رعایت می‌کنم.
  2. 🏁 اهداف بلند مدت رو هم داکیومنت کنین. بذارین همه بدونن تو تیم چه خبره، محصول داره به کدوم سمت می ره و چند ماه بعد وضع چی خواهد بود. اینطوری هیچ کس حس نمی کنه شما لازمه روز به روز مواظب محصول و کارها باشین.
  3. 🤝 جلسات رو هم داکیومنت کنین. خوبه بنویسین هر بار کی چی گفته. حالا حتی در سطح کلی. اینطوری برای اینکه بدونن تو شرکت چه خبره یا تصمیم نهایی چیه، وابسته به شخص شما نیستن و شما به کارهای باحالترتون می‌رسین.
  4. 🚶‍♂️ بقیه رو هم بیارین توی جلسات! اینطوری آدم های دیگه مسوولیت های شما رو یاد میگیرن و می بینن اون پشت چه خبره. هر چقدر هر چیز شفاف تر بشه بهتره. حواستون باشه این دعوت به جلسات باعث اسپم شدن وقت و زندگی مردم نشه!
  5. 👩‍🔧 اطرافیان خودتون رو آموزش بدین. هدف اینه که اطرافیان شما کم کم بتونن رشد کنن و کارهای شما رو به شکل مستقل انجام بدن. اینطوری شما می‌تونین برین سراغ کارهای جالبتر بعدی یا حتی استراحت کنین. بخشی از این مطلب،بر می گرده به داشتن داکیومنت های خوب و قابل استفاده.
  6. 👩‍🎓 جایگزین خودتون رو هم آموزش بدین. شما لازمه برین سراغ کارهای بهتر پس خوبه که یک نفر کم کم بتونه نقش قدیمی شما رو بازی کنه.
  7. 🔑 به بقیه قدرت بدین. اگر قراره بخشی از کار شما به بقیه سپرده باشه، اونها باید آدم های قوی و با اعتماد به نفسی بشاین. اجازه بدین اونها هم تصمیم بگیرن و کارها رو پیش ببرن. همیشه کارهای مهمتر و جالبتری هست که شما به سراغش برین.
  8. 📧 شما نباید مرکز ارتباط اصلی باشین. اگر کسی سوالی فنی داره یعنی داکیومنت ها خوب نیستن. اگر کسی شخصی سراغ شما میاد یعنی سیستم پرسش و پاسخ یا لیست پستی شرکت کارا نیست.
  9. 👨‍💼 و کارها رو به بقیه بسپرین. حواستون باشه که آدم ها، فکرهای مستقل دارن. قرار نیست اگر کاری رو به کسی سپردین اون صد در صد اون کار رو مثل شما انجام بده. تا وقتی روش اون قابل دفاع منطقی است لازم نیست عین امتداد ذهن شما باشه (: دادن کارها به دیگران باعث رشد و توانمندی بقیه می‌شه.
  10. 🏫 و یاد بگیرین! اینهمه وقتی که داره خالی می‌شه بهترین فرصت است برای یاد گرفتن و استفاده از چیزهای جدید. حواستون هست دیگه؟ قراره شما همیشه در حال استعفا باشین و مهمترین چیز برای کسی که داره استعفا می‌ده، یاد گرفتن مهارت های جدید برای مصاحبه های شغلی بعدی است. همیشه در حال یاد گیری باشین تا از بودن در شرکت لذت ببرین.

حواستون باشه که اگر هنوزم فکر می کنین یاد دادن به بقیه و باعث رشد اونها شدن، برای شما خطر ایجاد می‌کنه یعنی یک مشکل بزرگ در جایی که کار می کنین و البته شاید هم در خودتون هست. اگر ما حوصله مون از کار سر می ره دلیلش اینه که دائما داریم کار تکراری ای که بلدیم رو انجام می‌دیم. در حالی که قراره کار تکراری شما، کار جدید و باحال یک نفر دیگه باشه و شما یه قدم به جلو برداشته باشین و درگیر کار باحال و جدیدی باشین که لازمه اش یاد گرفتن است. اینطوری کار هیمشه جالب خواهد بود.

یک جمله هم برای مدیرها: بهترین نیروی شما، نیرویی است که باعث پیشرفت کل تیم می‌شه.

مواظب بدهی فنی تیم یا محصول‌تون باشین

بدهی فنی (technical debt) مفهومی مرسوم توی توسعه نرم‌افزار است. درست همونطور که ممکنه زمانی شما پول کم داشته باشین و از کسی قرض بگیرین و مقروض بمونن، ممکنه یه زمانی هم وقت یا سواد یا هر چیز دیگه کم داشته باشین و برای پیش رفتن پروژه، از یک راه آسون ولی نامناسب به جواب برسین؛ راهی که در آینده دردسرهای شما رو بیشتر می‌کنه و پیش رفتن بقیه کارها رو سخت‌تر. بازم مثل پول! درست همونطور که اگر شما بدهی پولی داشته باشین مجبورین بخشی از درآمد رو صرف پس دادن بدهی یا حتی پس دادن نزولش بکنین، اگر هم در پروژه ای بدهی فنی بالا بیارین، مجبورین در آینده بخشی از منابع رو صرف حل کردن آشفتگی / آنتروپی‌ای بکنین که این بدهی فنی به وجود آورده.

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

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

مرتبط