יום חמישי, 25 בנובמבר 2021

426 Bumpers 77


[קישור לקובץ mp3] האזנה נעימה ותודה רבה לעופר פורר על התמלול!


שלום וברוכים הבאים לפודקאסט מספר 426 של רברס עם פלטפורמה - זהו באמפרס מספר 77 (!). 
התאריך היום הוא ה-16 בנובמבר 2021, ואנחנו כרגיל בבאמפרס עם דותן ואלון ורן - בוקר טוב.
באמפרס זו סדרה של קצרצרים שבה אנחנו מכים [אבל בקטע טוב] בכל מיני חדשות, בלוגים ו-GitHub-ים מעניינים שצצו לאחרונה.

(רן) אז אני אתחיל - אבל רגע לפני שאני מתחיל, רציתי לדבר על הכנס [!] שהולך ומתקרב - Reversim Summit 2021 הולך לקרות בסוף דצמבר, ב-26-27 בדצמבר
(אלון) ותוכלו גם לשמוע את דותן בכנס, אז בכלל שווה . . . .
(דותן) איזה כנס?
(רן) . . . דותן ידבר שם ואלון חלק מהצוות, אז כן - תיהיה לנו שם נוכחות.
ועכשיו - לענייננו . . . .

רן - 
  • הקצרצר הראשון שרציתי לדבר עליו - האמת היא שהרבה זמן לא הקלטנו, אז הצטבר לנו כאן חומר מאיזה חודשיים - לפני אולי חודשיים, או משהו כזה, נפטר אחד מ”אבות האומה” - Sir Clive Sinclair - נפטר בגיל מכובד,  81
    • היה אחראי לכמה מהדברים המשמעותיים ביותר בעולם המחשוב, וכנראה הידוע ביותר מבין כולם זה בעצם המחשב הראשון שלי - ZX Spectrum
    • עדיין יש לי אותו, דרך אגב - מקלדת מגומי, סימן כזה צבעוני של קשת בצד - למרות שאין לי את כל ההרחבות והייתי צריך לאלתר טייפ והייתי צריך לאלתר כל מיני דברים אחרים
    • אבל המחשב עצמו עדיין קיים - לא בדקתי האם הוא עדיין עובד . . . אבל הוא לגבי קיים בצורה פיזית
    • (דותן) לא, אתה לא יכול לעשות את זה . . . עכשיו אתה חייב לבדוק!
      • לזכר! . . . אתה חייב לבדוק  אם הוא עובד . . .
    • (רן) אני רק צריך למצוא את הטרנספורמטור הנכון שלו . . . אני זוכר שהיה לו בלוק כזה שנורא היה מתחמם, כזה גדול . . . .
    • (דותן) זה לא בעיה, זה אתה יכול לקחת כל . . . .היום יש לך כאלה מתכווננים, בטמבוריה הקרובה  . . .
    • (רן) כן - וצריך למצוא את החיבור טלויזיה . . . זה מתחבר ב-RF לטלויזיה, חיבור קואקסלי כזה . . . 
    • (דותן) זה גם פתיר . . . .
    • (רן) פתיר . . .  בקיצור, האדון זכה לתואר Sir בגלל ההמצאות שלו והתרומה המשמעותית שלו לטכנולוגיה.
    • הבנאדם זכה לתהילת עולם כנראה בעקבות סדרת ה-ZX Spectrum שלו, שהיו לה כמה דגמים.
    • רציתי להזכיר את זה שהוא לאחרונה נפטר, אבל אני חושב שהמקום שלו בהיסטוריה מובטח - יהי זכרו ברוך, ותודה על כל התרומה.
  • הנושא הבא - פייסבוק מטא, שמעתם על זה? . . . . 
    • (אלון) פייסבוק מתה?
    • (רן) אבל קצת לפני שהיא Meta, או יותר נכון - כפרומו לזה שהיא Meta, היא גם מתה . . .
    • לפני משהו כמו חודש, אולי קצת יותר, היה Outage מאוד משמעותי ב-Facebook - והסיפור מאחוריו הוא מעניין, לכל הפחות.
    • אז Facebook, קצת לפני שהיא שינתה את השם, למעשה היה להם Outage מאוד משמעותי של מספר שעות - אני לא זוכר אם שש או שמונה שעות - שבהן כל השירותים של Facebook היו למטה.
      • עכשיו - מדובר על לא רק Facebook.com אלא גם WhatsApp ו-Instagram ואני לא זוכר מה עוד יש להם - והכל הכל היה למטה, וזה משהו שלא קורה הרבה
        • היה זמן לצאת החוצה, לשחק . . . .
    • אז הסיפור מאחורי זה הוא, כמו בהרבה מקרים כנראה, מתחיל מאיזושהי טעות אנוש - 
      • לא ניכנס לכל ה-Post-Mortem, רק נגיד ב-High-level - מדובר על איזושהי עבודת תשתית יחסית שגרתית שעשו ב-Data center, שבה החליפו תשתית של Fiber אם אני לא טועה 
      • וכדי לעשות את זה, היו צריכים להסיט את התנועה מרכיב אחד לרכיב אחר - ועושים את זה באמצעות פרוטוקול שנקרא BPG - זה פרוקטול שהראשי תיבות שלו הן Border Gateway Protocol 
      • זהו פרוטוקול שנועד לעשות את מה שנקרא “האמ-אמא של ה-Routing”, זאת אומרת - לתכנת, אם אני זוכר נכון מהשיעורי Networking שלי, את ה-Autonomous systems כדי שידעו אחת על השנייה ותדענה להעביר את ה-Traffic מאחת לשנייה - 
      • וזה משהו שרץ בעצם ב-Backbone של האינטרנט,  BPG . . .
      • עכשיו, Facebook, בגלל שהם כאלה גדולים, יש להם גם BPG משלהם [עם בלק ג’ק?] - כמו שיש כמובן גם ל-Google ואחרים
      • בכל אופן, כדי לעשות את עבודת התשתית הזאת, אחד העובדים עשה Routing ובעצם תכנת מחדש את ה- BPG - ועשה שם טעות, ככל הנראה . . . והסיט למקום הלא נכון
      • וזה, בסופו של דבר, ברגע שזה קרה, למעשה זה יצר תקלה כל כך שורשית, כך שלתקן אותה - גם אם עלו מהר על השגיאה - כדי לתקן אותה היה צורך לנסוע פיזית ל-Data center, כי כל הרשת הייתה למטה, אז אי אפשר היה אפילו להתחבר מרחוק . . . .
      • דווח גם שעובדים של Facebook לא יכלו להיכנס למשרד כי פשוט הקוראים של הכרטיסים [כרטיסי עובד] לא עבדו, כי הרשת הייתה למטה.
      • (דותן) אה, את זה אני זוכר, עכשיו אני נזכר בזה . . .
      • (רן) כן . . . היה צריך לנסוע ממש פיזית ל-Data Center כדי לתקן את זה 
      • סיפור שיכול לקרות לכל אחד - טוב שלא קרה לנו, אבל זה יכול  . . . . אני מניח שטעויות מהסוג הזה יכולות לקרות לכל אחד, והמיטיגציה (Mitigation) של זה לא כל כך פשוטה . . .
        • אני לא חושב שמדברים על מיטיגציה ב-Post-Mortem הזה
    • אבל בכל אופן - זה בהחלט היה משהו שהורגש ונמשך הרבה מאוד זמן, ועשה גלים.
    • ויכול להיות שזה היה רק הפרומו שלהם לשינוי השם של החברה - כמו שאמרנו, Facebook Meta, אבל אולי זה היה במקרה . . .
    • (דותן) מה? זה מיטיגציה של לחתוך את הפלומבות” . . . . מי שמכיר מהצבא
    • (אלון) שמע, אחד הדברים המעניינים - זה על פי “מקורות זרים”, אני לא יודע אם זה נכון - בגלל שהם משתמשים רק בכלים פנימיים, אז אפילו לא היה להם Messenger לתקשורת, כדי לנהל את כל האירוע . . . .
      • (דותן) זה לא “לפי מקורות זרים” - זה נכון, היום הכל נכון . . .
    • (אלון) . . . ולפי השמועות הם התקשרו בטלפון, אתה מבין? התקשרו בטלפון! מה זה?! לאן הם התדרדרו? טלפון-כזה-לא-אינטרנטי . . . 
    • (רן) שיחת ועידה, כן . . . .
    • מצד אחד - “Eat your own dog-food” זה נחמד, יש בזה הרבה דברים טובים; מצד שני - כשה-Backbone שלך נופל אז זו קטסטרופה, אין לך איך כלום.
    • (דותן) בסדר, מה הסיכוי שזה יקרה? . . . 
    • (רן) כן, הא? אם זה קרה, זה לא יקרה שוב . . . 
    • בקיצור - בסופו של דבר יצאו מזה, מן הסתם - והחיים חזרו למסלולם.
  • נושא הבא - בזמן האחרון אני מתעסק בתחום - או בעצם לומד - תחום שנקרא Reinforcement Learning, שזה תחום בלמידה חישובית שהוא, ככה, מעניין ונחמד
    • ונתקלתי באיזשהו Framework מאוד נחמד שהוציאו ב-Google שנקרא google-research/football 
    • ו-Google Research Football זו בעצם סביבת סימולציה של משחק כדורגל - שהיא לא פחות ממדהימה, לדעתי.
      • בעצם, לקחו איזשהו Open-Source בסיסי של משחק כדורגל והוסיפו לו הרבה הרבה דברים מעל - תחשבו על FIFA, אבל FIFA שאפשר לתכנת . . . 
      • זאת אומרת שכל אחד מהשחקנים הוא בעצם סוכן עצמאי שאתם צריכים ללמד אותו איך להתנהג במשחק - איך לשחק, איך לשתף פעולה עם שחקנים אחרים . . . 
    • זה בעצם איזשהו Framework שבו אתם יכולים לבחון, בעיקר על אלגוריתמים בתחום של Reinforcement Learning - וה-Framework עצמו בנוי בצורה מאוד מאוד יפה
    • לא יודע אם אתם זוכרים, אבל בעבר היו עושים הרבה מאוד מהבדיקות האלה מול משחקי Atari - למשל Pong וכאלה - היו מפתחים מעיין סוכן שיודע לשחק Pong בצורה שהיא “Super-Human”, זאת אומרת - יותר טוב מבני אדם.
    • אבל כל ה-Benchmark-ים האלה של Atari הם כבר יחסית מיושנים, כי כבר כולם מצליחים - זאת אומרת, האלגוריתמים הלכו והשתפרו, וכבר בגדול האתגרים האלה כבר פחות ופחות מעניינים כי פשוט כולם פיצחו אותם.
    • ועכשיו באו Google והוציאו לפני שנה או שנה וחצי את ה-Google Research Football - שזו סביבת Reinforcement Learning מאוד מאתגרת - וגם יפה.
      • אתם פשוט יושבים וצופים במשחק כדורגל - וזה נראה טוב, זה ממש ממש נראה טוב, זה ממש נראה כמו FIFA
      • יש גרפיקה מדהימה, יש מצלמה שזזה, יש את כל המסביב . . .  זה פשוט כיף ללכת ולראות את זה ולשחק עם זה.
      • ומעבר לזה - אפשר גם פשוט לשחק עם הכפתורים, זאת אומרת - אתם יכולים פשוט לקחת את המקלדת שלכם ולשחק נגד ה-Bots - בעצם נגד ה-Agent-ים שתכנתתם . . .
    • זהו - סביבה מגניבה למי שמתעסק ב-Reinforcement Learning, אני מאוד נהנה לעבוד עם זה.
    • (אלון) מגניב . . .
    • (דותן) מגניב . . .  מה עשית עם זה? נגיד, עכשיו בשביל המשחק, מה המטרה שלך? לפתח משהו שינצח אותך?
    • (רן) אז בעצם המטרה שלי זה לאמן קבוצה - באופן אוטומטי, אני בעצם מייצר להם משתמש . . .  בודק כל מיני אלגוריתמים של Reinforcement Learning, משתמש ב-Multi-Agent
      • כי בעצם כל שחקן זה Agent נפרד, ואני צריך לגרום להם “לשתף פעולה”, צריך לגרום להם להצליח להבין מה בכלל צריך לעשות - ש”לבעוט לשער” זו “פעולה טובה”, ושכשליריב יש את כדור אז צריך לרוץ אחורה כדי לשמור על השער שלך - דברים בסיסיים כאלה [שכדאי ללמד גם הנבחרת האנושית שלנו . . .]
        • אבל אחר כך צריך ללמד אותם לשתף פעולה
      • בסופו של דבר, אני מייצר קבוצה - ומתחרה מול קבוצות אחרות
    • (דותן) איך למשל אתה מלמד? מה זה אומר “ללמד”?
    • (רן) בוא, אפשר לעשות קורס של ארבעה חודשים . . . . אבל בגדול, התחום של “למידה מתוך חיזוקים” זה אומר שאם עשית איזושהי פעולה, קיבלת איזשהו Reward מהסביבה . . . 
      • נגיד - בעטת את הכדור לכיוון השער ואז קיבלת Reward של 1 + . . .
      • אז אתה לומד שהפעולה האחרונה הזאת שעשית - זו פעולה טובה. זה הבסיס של כל זה, ומזה אתה משליך אחורה.
        • אז איך הגעת לפוזיציה שאתה באמת יכול לבעוט את הכדור לשער? אז גם על זה תקבל חיזוק, כי להגיע לפוזיציה זה טוב כמעט כמו לבעוט את הכדור
        • אז זה כאילו ה-Basics של ה-Reinforcement Learning, אבל זה קצת יותר מורכב, כי יש פה עניין של מרחבים רציפים ו-Multi-Agent ודברים כאלה
        • אבל זה הבסיס וזו סביבה מאוד כיפית לבוא ולפתח את זה
        •  כיפית אבל גם מאתגרת, זאת אומרת - יש כרגע תחרות ב-Kaggle ויש חוקרים שעובדים עליה - אני לא מכיר עבודה שמראה באמת קבוצת כדורגל מאוד טובה, ככה שזה מראה שזו באמת סביבת מחקר מאוד מאתגרת.
    • (דותן) אז בעצם מה שאתה עושה זה שאתה הולך לשחק איתם כאילו?
    • (רן) כן, אני בעצם מאמן קבוצה והולך לשחק מול קבוצות אחרות.
    • (דותן) זה יכול לשרוף המון זמן . . . .
    • (רן) כן, לגמרי . . .
    • (דותן) כל פעם 90 דקות, לראות אם זה טוב? . . .. 
    • (רן) לא, זה לא 90 דקות - משחקים קצרים, זה מערכות קצרות - נגיד, עד שהכדור מגיע לשער זו מערכה אחת, עד שיש גול או חוץ זו מערכה . . . זה לא 90 דקות.
    • (דותן) זה היה הרבה יותר מצחיק אם זה כן היה 90 דקות - אם היית חייב 90 דקות . . . 
    • (רן) כן . . . .אני כרגע מחמם GPU ב-AWS כדי שהדברים האלה יעבדו.
    • (דותן) מגניב
    • (אלון) זה באמת מגניב . . . מתי הגמר?
    • (רן) יש Deadline בדצמבר . . . . אז בטוח יהיה הגמר.
  • טוב - ומכאן מעבור אליך, אלון . . . 
  • (אלון) אלי?! טוב, וואו, כמה אני מתרגש . . . 

אלון - 
  • אז ניקח כמה דברים - אחד קליל ממש, אפילו לקצרצרים הוא קליל - GitHub עשו שאלה ב-Twitter, סקר - האם אתם אוהבים לעבוד עם מוסיקה? אם כן - תנו את ה-Playlist . . .
    • ואז יש שרשור ארוך של Playlist-ים שאנשים שומעים מוסיקה איתם
    • (רן) האמת שאני נסיתי כמה מהם . . . אני גם ראיתי וניסיתי כמה מהם - וכולם הפריעו לי להתרכז . . . [זה כי בטח ניסית את ה-Playlist רוק כבד נורדי של בר-זיק . . .]
      • אתה עובד עם מוסיקה, אלון?
    • (אלון) כן . . . יש לי כל מיני מוסיקות שונות לדברים שונים . . . . 
    • (רן) מוסיקה ל-Code Review זה Rage against the Machine?
    • (אלון) ל-Code Review צריך פשוט “יאללה, הכל חרא, עזבו - תכתבו חדש . . . ” - בדרך כלל לא צריך מוסיקה, זה נורא מהר ה-PR . . . “אה, שום דבר פה לא טוב - תכתוב שוב ותחזור אלי”
      • בפעם שלישית אתה מתחיל לקרוא - זו השיטה ל-PR טוב . . .
  • טוב, עוד משהו קטן, למי שרוצה - אתם מקבלים קיצור דרך bit.ly או tinyurl או כאלה, ואתם רוצים לדעת לאן הוא הולך?
    • אז יש שיטה מאוד פשוטה - ב-bit.ly אתם מוסיפים “+”, ב-cutt.ly אתם מוסיפים “@”, ב-tiny.cc זה עם “=” וב-tinyurl.com אתם מוסיפים “preview.” לפני
    • בקיצור - אם אתם מקבלים bit.ly ורוצים לדעת לאן הוא הולך, אז אפשר לדעת, ממש חביב וחמוד.
    • (רן) אתה מתכוון - לראות את ה-URL עצמו, בלי להגיע אליו, זה מה שאתה מתכוון? כי אם אתה לוחץ ,אתה מגיע אליו . . .
    • (אלון) כן, אבל אם שולחים לך איזו פרסומת ואתה לא יודע מה זה, ואתה אומר “מי זה? מי שלח?” . . . 
    • (דותן)  . . . אז אתה שולח לחבר ואומר לו “תלחץ, תגיד לי מה יש שם” . . . 
    • (רן) . . . . “שלח לי צילום מסך” . . .
    • (אלון) את זה אני בדרך כלל לא עושה . . .  אבל אתה לא פותח את ההודעות! אתה תמיד עושה לי “מה אתה רוצה?” . . . .
    • (רן) זה כמו שהיה פעם הטועם של המלך”, נכון? 
    • (אלון) נכון, עכשיו זה “ה-DevOps של המלך” . . . 
  • אז Cloudflare יצאו בהכרזה על משהו שנקרא R2 - זה “Rapid and Reliable Object Storage” וזה כמו S3 - אבל כמו שהם אומרים, זה “minus the egress fees” . . .
    • מה שמעניין בזה זה שאני חושב שהדבר הזה יכול להיות די מהפכה בעתיד - כי יש להם את כל ה-”Functional edge” או “Workers on edge”, אני לא זוכר את המינוח המדויק שלהם [Workers], שזה תכל’ס Lambda on Edge” . . . . כל מה שיש להם זה Edge.
    • ואז יש לך גישה גם לקבצים האלה.
    • אז אפשר ממש להרים אתרים ולעשות דברים מאוד מעניינים “בלי כלום”, רק על Cloudflare - וזה צריך להיות סופר-זול וסופר-מהיר
      • ואפשר לעשות עם זה דברים מעניינים, כמו לשמור קבצים, ואז לפתוח אותם, Database-ים מבוזרים שעובדים על קבצים . . . . אפשר לעשות מלא דברים . . .
    • (רן) אני מסכים, זה נראה לי משהו מאוד משמעותי . . . רק להסביר - כשהם אומרים Object Storage, minus the egress fees” הם עושים רפרנס - 
      • רוב ספקי הענן - יש להם Object Storage, דהיינו - S3 והדומים של GCP ושל Azure
      • העלות של ה-Storage שם היא לא זולה - אבל מה שבאמת יקר זה ה-Outbound traffic, זאת אומרת - להוריד משם אובייקטים.
        • אז לעשות Serving לאתר זה יכול להיות יקר
        • אם אתם רוצים להעביר את הדאטה שלכם החוצה, להעתיק אותו החוצה למקום אחר - זה מאוד מאוד יקר
      • וזה סוג של Locking שיש להרבה מאוד עננים - זה זול להכניס, זה מאוד יקר להוציא את הדאטה . . . 
      • אז ה-”egress fees” זה למעשה הסכום שאתה משלם כדי להוציא דאטה החוצה מה-Sotrage על הענן
      • אז Cloudflare טוענים שה-egress fees הולכים להיות - מה? אפסיים? או נמוכים?
      • (אלון) הם טוענים “Zero” . . . שזה מעניין
    • (אלון) וזה S3 Compatible - זאת אומרת שבתיאוריה, ברגע ש . . . אפשר “עכשיו” להתחיל לעבוד עם זה, כל מי שעובד עם S3, בלי לשנות כלום.
    • אז זה ממש ממש מעניין
      • גם מבחינת זה שזה יכול להוריד את כל העלויות של ה-Storage
      • וגם שאפשר לעשות על זה אפליקציות מעניינות - בגלל ה-Worker-ים שיש להם
    • אז בעצם הם יצרו פה Ecosystem מעניין ל-Cloud שהוא Serverless בצורה אחרת קצת - ובטח בעתיד הם יוסיפו עוד . . .
    • (דותן) אני ממש בספק שזה . . . אני בספק אמיתי שזה אפס . . . . כי אם זה ככה, זה יכול לשנות הרבה תעשיות . . .
      • הרבה מכל העולם של Streaming ו-Video ו-Encoding וכאלה - הרבה מזה מבוסס על היוקר של הדאטה שיוצא
      • אני חושב תוך כדי שאני מדבר - אני ממש בספק שזה אפס . . . 
    • (אלון) הם טוענים שזה אפס . . . בגלל זה אני גם טוען שזה Game-changer. 
      • אני חושב שזה ממש ישנה את התעשיות ואני חושב שברגע שזה יתפוס - אם זה יתפוס, ואין סיבה שלא, בתיאוריה
      • זו גם חברה טובה מאוד . . .
    • (דותן) ברור . . . אני חושב שיש גם Buisness-ים שכרגע מוכרים שירות מסויים ומאפטמים (Optimize) את ה . . .  הם משלמים על ה-Trafficהחוצה ואתה משלם כי אתה עושה Subscribe ל-Business שלהם - עכשיו הם יקבלו את זה באפס . . .  זה אומר שיש להם יותר רווח, אז נראה לי שהם מיד יעברו לשם.
    • (אלון) כן - וזה כנראה יגרום לספקי הענן הקיימים גם לעשות משהו, אולי AWS יוציאו את S4  . . .
    • (דותן) מעניין, צריך לבדוק את זה טוב . . .
    • (אלון) בקיצור -  זה נראה סופר-מעניין, במיוחד . . . 
    • (רן) ומה הם אומרים על רפליקציה (Replication) נגיד? כאילו, יש להם הרבה דברים ב-Edge, אבל אם אני רוצה את זה עכשיו זמין בכל המקומות, אז איך זה הולך לעבוד? מעניין . . . 
      • אני רוצה את זה זמין באסיה, באירופה, בישראל . . .  - ובכל אחד מהם יש להם כנראה גם הרבה . . .
    • (אלון) בעיקרון אתה לא שולט על זה, והם אמורים לנהל לך את זה לבד עם ה-CDN-ים שלהם
      • הרי זה מה שהם עושים - הם CDN . . . אז כאילו By default זה כבר “בכל מקום”
      • איך הם עושים את זה בפועל? זו שאלה מאוד מעניינת, כי זה נורא יקר, מה שהם בעצם מתיימרים לעשות פה - גם תשמור בחינם, גם נביא לך את זה בכל מקום . . . 
    • (רן) טוב, גם הפרסום שלהם נחמד - הם כאילו אומרים ש-R2 זה אומר כל מיני דברים - 
      • למשל - Ridiculously Reliable . . . . זו אחת מהמשמעויות של R2 - הם אומרים שהם מספקים 9 תשיעיות [כתוב 11] - 99.999999999, ככה תשע פעמים - אחוז Reliability שזה משהו שהוא un-heard of למיטב ידיעתי . . . 
      • (אלון) זה eleven 9’s . . . 
      • (רן) נכון! 11 תשיעיות . . . אני לא מכיר כזה . . . 
      • (אלון) תעשה עוד פעם! - 9-9-9-9- . . . 
      • (רן) ספור לי . . . כן, לגמרי מעניין
    • (דותן) אני מהמר שהחוצה, לאינטרנט, זה עדיין עולה כסף, אבל אולי עדיין יש שם משהו  . . . .כאילו יש איזשהו egress שהוא פנימי, אני לא יודע . . . . אבל צריך לקרוא את המאמר שהם מתייחסים אליו
    • (אלון) בכל מקרה - סופר-מעניין, במיוחד כשה-Database-ים חדשים, בגלל שהם נהיים ענקיים אז הם עובדים בצורה מבוזרת - אז בתיאוריה, אפשר להחזיק ככה Database-ים מסויימים, ואולי זה יגרום לשיטה שונה של לכתוב דברים.
    • בקיצור - Stay Tuned! R2 . . . . תעקבו.
  • ולנושא פחות מרגש - Kafka UI
    • למי שיש לו Kafka - אז זה Kafka UI, אפשר לנסות
    • לא בדקתי - תבדקו
    • על אחריותכם - זה Open source, תמיד צריך להיות קצת זהירים עם Open source, אבל חוץ מזה נראה פרויקט מאוד יפה ומשעשע
      • למי שיש לו Kafka - קל לראות  Partition-ים, Topic-ים, מה קורה, מה רץ…
      • למי שרוצה קצת ויזואליזציה (Visualization) ולצאת קצת מה-Shell - נראה מאוד חביב וחמוד
    • (רן) יפה . . . יש כמה כאלה, זה לא היחיד, אבל לפחות ויזואלית הוא נראה נחמד, לא יודע לגבי שאר הדברים . . . 
    • (דותן) אפשר אולי לראות, להשוות, לנסות . . . 
    • (אלון) אפשר להשוות, אפשר לבדוק - לקרוא . . . תסתכלו, תחשבו לפני שאתם משתמשים . . .
    • בסדר, נמשיך הלאה . . .
  • יש פרויקט שנקרא “K - שמונה - Sandra” . . . זה K8ssandra
    • זה כאילו Kubernetes - Cassandra . . . 
    • זה בעצם Install של Apache Cassandra על Kubernetes
    • אז מי שרוצה Cassandra ורוצה להריץ את זה על Kubernetes - אז יש עכשיו דרך נוחה לעשות את זה.
    • עכשיו אני - יש לי טראומות וצלקות מ-Cassandra אז . . . 
    • (דותן) יש עוד שכבה שאפילו הופכת את זה לעוד יותר קשה! - Kubernetes שרץ על . . . .”
    • (רן) רציתי להגיד !Raspberry Pi, אבל Cassandra . . .. כאילו - Cassandra שרץ על Kubernetes על Raspberry Pi . . . נשמע לי להיט. וכל זה ב-Edge?
    • (דותן) . . . מחובר לגנרטור . . . 
    • (אלון) בקיצור - לי יש קצת צלקות מ-Cassandra, לא על Kubernetes, ויש לי צלקות מ-Kubernetes, אז אולי ביחד זה יאזן אחד את השני . . . 
      • אבל אם מישהו בעניין של Cassandra, יש לו משהו - הייתי ממש שמח לדעת איך זה עובד, הדבר הזה . . .
  • (אלון) הבא בתור - יש את ערוץ ה-YouTube של אבישי איש-שלום - זה 15m ops break
    • זה בעצם סרטונים קצרים של 15 דקות, לפי הכותרת שהוא אומר - בפועל, יש כאלה שהם קצת יותר, 17 דקות אפילו מצאתי . . . 
    • הוא לוקח דברים מהטרמינל ופשוט לוקח איזשהו נושא ומפרק אותו - Deamon-ים, DNS-ים, Executables וכל מיני דברים  . . .
    • לכל מי שרוצה 15 דקות של למידה טובה, חמודה - יש פה ערוץ עם 17 Video-ים
      • משעשע, קליל ואחלה הפסקה בשביל ללמוד משהו חדש. מומלץ בחום!
    • (רן) תודה אבישי!
    • (אלון) תודה אבישי . . . תעשה לי קוד . . .
  • בוא נמשיך . . . Chrome DevTools הוציאו Copy CSS styles as JavaScript
    • שזה נחמד - אם אתם רואים עכשי איזשהו אלמנט עם CSS, אז אפשר עכשיו לעשות לו Copy as JavaScript . . .
    • להעתיק את זה ל . . . Style as JS ויכולים להעביר את זה ל-React או לכל המקומות האחרים שלכם, וקצת משתלטים על הקוד במקום אחד, במקום להעביר את זה ידנית כמו שקורה הרבה פעמים
      • כשמתחילים לסדר את זה ואז אומרים “טוב, בואו נעתיק את ה-Style-ים”  . . .
      • אז פתרו לנו את הבעיה.
      • זהו, אולי הגיע הזמן לחשוף את ה . . .
    • (דותן) אותי זה ירשים כשיהיה Copy as JavaScript as CSS . . . אז זה באמת  יהיה מרשים.
    • (אלון) אותי זה ירשים כשלא נעבוד עם JavaScript, אבל עד לשם הדרך עוד ארוכה . . . 
    • שיהיה לנו Built-in TypeScript, זה יותר משעשע . . . 
    • בסדר, כל עוד זה לא Python אנחנו בסדר.
  • זהו . . . 
  • (רן) דותן - אליך . . . 

דותן - 
  • טוב, אז נתחיל ב-Breach! - ה-Twitch Breach
    • זה היה לנו, לא זוכר בדיוק מתי, בסביבות אוקטובר-כזה, היה Breach ב-Twitch
    • אחד הדברים המדהימים שהיו שם זה שההאקרים גנבו את כל ה-Source-code בחברה . . . וגם קצת מידע פיננסי.
    • ה-Package עצמו שקל משהו כמו 125Gb - שזה כנראה המון-המון קוד, במיוחד שזה בטח מכווץ.
      • אני חושב שזה נפתח למשהו כמו 1Tb של קוד.
      • זה היה ה-Breach . . . 
    • עכשיו, לאורך הדרך התפרסמו כל מיני תמונות מתוך הקוד, תמונות מזעזעות, אפשר לומר . . . 
      • בעיקר התפרסם הקוד עצמו - היה אפשר להוריד אותו ולראות מה יש בפנים.
      • הקוד היה ברמה די מפחידה - סיסמאות בתוך הקוד, מלא קוד PHP, מלא פרטי Database ב-Production, מה שאתם לא רוצים . . . .
    • מיד אח”כ הייתה איזו נפילה קטנה - שזה כנראה Hacker-ים שהם ככה, ניסו “לשחק במערכת” ולראות לאן זה מוביל אותם . . . 
    • מסוג הדברים שאני באופן אישי טוען שאנחנו עוד נראה הרבה מזה - כי ממש קשה להבין מה ההשלכות של 125Gb של קוד שדלפו החוצה . . .
      • בדרך כלל ההאקרים מחכים לזה - בודקים את הקוד, בודקים איפה יש חולשות שקשה לראות מבחוץ - וכמו כל גנב מפעם - ברגע שקורה כזה משהו אז הם יושבים על זה, מחכים איזה חצי שנה - שנה ואז עושים את המכה.
        • צריך ללמוד שלפעמים Breach כזה לא מיד מביא נזק - בדרך כלל אנשים חכמים נותנים את הנזק חצי שנה אחרי
          • אחרי שכולם שוכחים, אולי אנשי ה-Security התחלפו ועזבו ונכנסו אנשים חדשים - כל מיני דברים כאלה.
      • (רן) אתה אומר שבעקבות דבר כזה, יש סיכוי טוב שכמה אנשי Security הלכו שם . . . .
    • נזכיר ש-Twitch זו פלטרפורמת Streaming - התחילה במקור כ-Streaming של משחקים אבל היום זה Streaming של הרבה מאוד דברים
    • (רן) אבל דותן - אתה קצת חקרת את הפירצה הזאת. איך היא קרתה? זאת אומרת, דלף קוד ואולי עוד כמה דברים דלפו - אבל מה? איך פרצו?
    • (דותן) אז לא באמת יודעים איך בדיוק זה קרה . . .  יודעים מה המניע, לפחות מה שפורסם.
      • באותו רגע שזה קרה, הייתי יחסית על זה ובעצם הסתובבתי בכל ה-4Chan - למי שמכיר, 4Chan [אתם לא בהכרח רוצים לעקוב אחרי הלינק, אולי לשלוח לאלון קודם שיבדוק …] ]זה איזשהו איזור נידח של האינטרנט עם כל מיני פורומים 
      • ואנשים פרסמו את ה-Breach ופרסמו פרטים - ומיד מחקו להם - ושוב פרסמו פרטים ושוב מיד מחקו להם
      • אז אם אתה על ה-refresh אז אתה מבין איך זה קרה . . . .
    • המוטיבציה הייתה בעצם הקנייה של Amazon - בואו נעשה “פריצה לגוף המרושע הזה”, במרכאות, שקנה את החברה.
      • ובואו נעשה Shaming, בואו נביא את ה-Data של כל האנשים וכמה הם מרוויחים - וניצור תכך כזה בין כל ה-Network הזה - זו הייתה המוטיבציה.
    • איך זה קרה? לא ממש פורסם . . . זה כזה גדול עד שלא פרסמו את הממצאים.
    • (רן) בסדר, אוקיי . . . .
    • (דותן) אני מניח שאם בכלל אז עוד שנה כזה, עוד חצי שנה.
    • (אלון) עוד חצי שנה זה כבר לפריצה הבאה, לפי מה שאתה אומר . . . 
    • (דותן) לגמרי . . . אבל אני כן אגיד שהדברים האלה הם  . . . שאלו אותי, למשל, האם אפשר לעצור את הדליפה של החומרים האלה - והתשובה היא “לא” . . . .
      • לא משנה מי “יחתוך את הרשת”, הדבר הזה כבר ב-Torrent-ים ומי שרוצה יכול למצוא
      • אפילו לא צריך את הקובץ עצמו - את ה-Magnet Link וזהו: יושבים על 125Gb, באינטרנט של היום אז זה תוך כמה ימים עד שבוע כבר יש לכם את כל הקוד שלהם . . .  זו הרמה.
      • עכשיו אתם פותחים את הקוד - 125Gb זה המון . . . מה שנקרא “לכל מקום שתזרקו את האבן תפגעו במשהו מעניין” . . . 
      • כמובן שאל תעשו את זה - לא לנסות בבית . . . אבל אם מישהו היה רוצה, ככה הוא היה עושה…
    • (אלון) אני רוצה להגיד שהיה להם נזק ישיר מזה כבר, כי היו סיסמאות ל-Database והם פרסמו דברים מה-Database, כמו כמה מרוויחים שם השחקנים, ה-Streamer-ים - וזה יצר קצת בלגן עם החברות האחרות, עם YouTube וכאלה . . .
    • (דותן) כן, זה פשוט מאוד מאסיבי  . . . . הכל שם, ממש הכל שם, זה סופר-מאסיבי
      • אני מעריך שזה יהיה פי כמה וכמה יותר גדול ממה שראינו עד עכשיו, פשוט Common Sense.
  • זהו, אז נעבור קצת לדברים יותר אופטימיים - למי שרוצה לצייר Chart-ים, Candlestick Charts, שמאוד נפוצים בעולם ה-ForeX - בטרמינל . . . . - יכול! יש ספריית Rust שעושה את זה
    • [זה cli-candlestick-chart]
    • אם לא שמתם לב - נכנסתי כבר ל-Thread של ה-Rust, אז אתם מוזמנים להתחיל לצחוק עלי על הזמני קימפול (Compile), ולשאול כמה זמן לוקח לזה להתקמפל וכל מיני דברים כאלה  . . . . תרגישו חופשי להפריע לי . . .
    • (אלון) אנחנו נצחק עליך בסוף - אנחנו עדיין מקמפלים את הבדיחה . . .
      • [1-0 לאלון . . . ]
    • (דותן) אה, אחלה . . . 
    • אז זו ספרייה ממש מגניבה  -אני פריק של - נראה לי שאני אומר את זה באופן קבוע - של גרפיקה ב-Terminal, אז זה תמיד מרשים אותי ונחמד.
  • האייטם הבא - יש ספרייה - יותר טכנולוגיה - ש-Google פיתחה - זה נקרא scudo
    • ו-scudo זה Allocator שהוא נקרא-לזה-מוקשח . . . . 
    • כש-Allocator זו החתיכה - אם נדבר רגע Low-level - זו החתיכה שעושה את האלוקציה של הזכרון (Memory Allocation)
    • אפשר להשתמש בה אם אתם עובדים עם C ו-++C, מחברים ל-Allocator
    • תמיד למערכת ההפעלה יש את ה-Allocator שלה - אבל יש כל מיני Allocator-ים אלטרנטיביים
      • אלו לא דברים שאנחנו נחשפים אליהם כשאנחנו עובדים ב-High-level, ב-Python ו-Node וכאלה
      • אבל כשאתה עובד יחסית יותר Low-Level, אז אתה יכול להשתעשע עם Allocator-ים אחרים - עם Tradeoff-ים של Performance ו-Security וכו’.
    • אז זה באמת אחד כזה - שהוא הרבה יותר Secured ואין לו שום tradeoff - הם אומרים שהוא  . . . העניין פה הוא Performance כמובן
      • הם אומרים שהוא “מספיק מהיר” או “מהיר כמו” ה-Allocator-ים האחרים
    • אז אם אתם עובדים עם Rust ובא לכם להחליף Allocator, שזה דבר שהוא שורת קוד אחת - שזה מדהים - אפשר לעבוד עם ה-Allocator של Google, החדש.
      • הוא יותר מוקשח ואין סיבה שלא - לפחות ככה Google אומרים . . . אז זה מעניין.
  • הפרוייקט הבא, בהקשר של S3 וכאלה . . . .
  • (רן) שנייה, דותן - אני יכול לשאול כמה שאלות לגבי ה-Allocator הזה? . . . .
    • (דותן) בטח . . .
    • (רן) כתוב שהוא יותר . ..  אמרת “מוקשח”, פה הם מתרגמים את זה ל”הוא יכול להגן נגד heap-based buffer overflow ו- use after free, ו-double free - איך הדברים האלה בכלל קורים ב-Rust? ב-Rust עצמה, ה-Compiler לא אמור להגן עליך מפני זה?
      • אז זה שייך לאיזור שנקרא Unsafe . . . כמו לכל דבר, יש שכבה מסויימת ב-Rust שהיא Unsafe . . . 
      • (רן) הבנתי - רק אם אתה עובד ב-Unsafe, אתה צריך את השמירה הזאת - אם אתה עובד ב-Safe . . . 
      • (דותן) כן, אבל הדבר הזה שייך לעולם הזה - זה פשוט רכיב שהוא Low-level - וכמו כל דבר, אתה, “בחיים השוטפים שלך”, לא באמת שם לב ל-Allocator, זה כאילו סוג של פעולה של . . . “בא לך להחליף Allocator” זה לא משהו שאתה עושה כל יום…
      • אם אתה בונה פרוייקטים שדורשים Tradeoff-ים מסויימים, כמו יותר Security או יותר Performance וכו’, אז אתה יכול להתנסות עם להחליף Allocator-ים
        • שזה - מניסיון - עושה הבדל.
        • אני החלפתי Allocator אצלנו בפרויקט, Allocator שנקרא jemalloc, שנחשב הרבה יותר מהיר - וראיתי את ההבדל בעיניים, אז . . . זה מגניב
        • וכמובן - שום דבר בקוד לא השתנה.
  • זהו, אז האייטם הבא - נקרא kamu - וזה בעצם סוג של Git ל-Data”
    • זה פרוייקט שבנוי ב-Rust, כמו הרבה פרויקטים בעולם ה-Data ב-Rust שמתחילים.
      • יש משהו מאוד מפתה: Performance ו-zero overhead - כמובן שזה מאוד מפתה ומזמין לבנות פרויקטים ל-Data ב-Rust - והרבה דברים כאלה מתחילים.
    • אז זה עכשיו התחיל, יחסית עכשיו - והוא רוצה לעשות Git מעל Data - שזה אחלה
    • יש גם כמה דברים כאלה, נדמה לי שהם באיזור - למשל dbt - שזה פרויקט מסחרי, וזה מגניב.
    • כמו כל פרויקט כזה, יש לך דיאגרמות של ארכיטקטורה ואיך זה עובד והכל מאוד מאוד פתוח ומאוד מזמין.
      • אני לא יודע אם זה יפגוש את הסוף - יש לא מעט פרויקטים ב-Rust שמתחילים מאוד hardcore ונגמרים עם “אוקיי, משכתבים מחדש” - אבל בדרך יש המון המון למידה וידע - אז זה אחד כזה.
      • מן הסתם לא נראה לי [שכדאי] להשתמש ב-Production, אבל כן אפשר ללמוד ולראות איך הם בונים דברים.
    • (אלון) יש צמיחה של פרויקטים מהסוג הזה . . . . של Git over S3” וכאלה . . . 
    • (דותן) נכון, אני חושב שזה התחיל ב-Reproducibility- זה היה “איך אני עכשיו לוקח דאטה שלי, שמאמן מודל בגרסא אחת - ואחרי זה אני מתקדם, יש לי עוד סט של דאטה שמאמן מודל בגרסא 2 - איך אני יודע לחזור למודל מספר 1, ולעשות Reproduce לבאגים של Machine Learning?” . . . . 
      • זה היה, למיטב זכרוני, ההתחלה של זה
      • ואחרי זה, זה הלך גם לרמת התשתיות - “בואו ניקח את כל הדבר הזה, ובמקום לעשות Hard Thinking לגרסאות מסויימות של דאטה, בואו ניצור “סוג-של-Git מעל דאטה, מעל S3, לא משנה מעל מה.
        • אבל היופי פה הוא מן הסתם המאסות האדירות של הדאטה ואיך עושים Versioning לזה.
      • (אלון) מגניב . . . ועכשיו עם R2 זה גם חינם!
      • (דותן) נכון - אבל ה-Storage הוא לא חינם ב-R2 . . .  זה עדיין לא בוננזה
      • (אלון) לא נורא
  • (דותן) האייטם הבא - מה שנקרא אחד משלנו”: אורי, שעובד אצלנו פרסם מאמר ב-Towards Data Science - הוא עובד הרבה על לייצר Data-set-ים ל-Source Code כדי ללמוד מהם
    • והוא נתן פה את רשימת ה-Pitfalls וה-Do - Don’t Do שלו
    • קליל,  מעניין - למי שמתעסק בלמידה מעל קוד זה, שווה מאוד לקרוא.
    • (רן) אתה מתכוון ל”לג’נרט (Generate) קוד כדי לעשות למידת-מכונה על הקוד”?
    • (דותן) כן - אז אנחנו עושים למידה שהיא דומה למה שראינו ב-Copilot - רק שהתחלנו עם להבין שאחד האתגרים זה copyrights וקוד מסווג - וגם תוצאות מסוכנות כשאתה לומד בצורה עיוורת . . . .
      • ככה התחלנו מההתחלה, שמנו את זה על ה . . . .
  • (רן) משתמשים ב-Copilot?
    • (דותן) לא . . אנחנו בנינו משהו . . .
    • (רן) לא . . .  אני שואל אתכם, באופן אישי - אלון, דותן - אתם משתמשים עכשיו ב-Copilot? אני משתמש . . . .
    • (דותן) לא, אני לא צריך . . . . לא צריך Copilot . . . 
    • (רן) ברור, לא צריך . . . . אבל . . .
    • (דותן) אני יודע לבד . . . 
    • (רן) אני התחלתי להשתמש לפני איזה שבועיים, וזה כאילו - לפעמים זה מדהים ולפעמים זה מעצבן, אני חייב להגיד.
      • רק אני אזכיר - Copilot למי שלא זוכר [397 Bumpers 69], זה כלי שנותן לכם השלמות קוד אוטומטיות, אבל הוא עושה את זה על בסיס GPT3, זאת אומרת שהוא עושה את זה בצורה אינטליגנטית, על בסיס של Data set שנלמד מתוך הרבה מאוד פרויקטים ב-GitHub - ויש Extensions, נגיד ב-VSCode,
      •  ואתם יכולים פשוט להשתמש בזה - וזה ייתן לכם Code Completion
      • עכשיו - זה לא “סתם Code Completion” - זה כותב לכם שורות שלמות, פונקציות שלמות לפעמים
        • אתם מתחילים לכתוב את הפונקציה והוא “מנחש” את ההמשך, ואתם יכולים לקבל או לא לקבל את זה.
      • אז אני משתמש בזה כמה זמן . . .
      • אז לפעמים ההצעות הן כאילו “בול מה שאני צריך”, וזה מדהים - ולפעמים זה ממש מעצבן, עד כדי שזה “ממש דומה אבל יש שם באג” . . . 
      • נגיד - באג שאולי גם אני הייתי פעם עושה, ועכשיו כש”הוא” הציע לי את זה אז לא שמתי לב, ואז אני מסתכל על לאט ואומר “וואלה, האינדקס פה  לא נכון, בעצם היה צריך אינדקס אחר”, וכאילו . . . 
      • (דותן) . . . ואז הזמן שחסכת הלך לאיבוד . . .
      • (רן) . . . כן . . . .אז אני מאוד נזהר עם לקבל את ההצעות שלו - ועדיין אני כל פעם מסתכל וחושב “וואו, זה מדהים”.
      • זה נחמד לראות את הדברים האלה קורים.
      • (אלון) מה אכפת לך שיש באגים? זה באגים של מישהו אחר . .. .
      • (דותן) נכון . . . אתה כל היום מתקן באגים של אנשים אחרים, ושוב פעם ושוב פעם . . .  תחשוב שאתה תיקנת, אז גם מישהו אחר קיבל את אותה הצעה - וגם הוא תיקן . . . זה כמו זמן שנשרף על . . . .
      • היה אז את הפרויקט של SETI, זוכרים? של המחקרים על סיגנלים מהחלל, ולנסות לגלות יישות אינטליגנטית, כשכל מחשב קיבל איזה Chunk וככה בזבז CPU וחשמל? . . . .אז יכול להיות שזה כזה - מלא אנשים מתקנים בו זמנית את אותו באג . . .
    • בקיצור, אז זהו . . .
    • (אלון) נשמע כמו ביטקוין . . . כולם מנסים לחצוב באותו זמן את אותו ה . . .
    • (דותן) לגמרי, כן . . . זו הגרסה היותר מאוזנת של זה . . . 
    • זהו, מאמר נחמד- למי שמתעסק  - שווה לקרוא.
  • עוד דבר מדהים שיצא דווקא השבוע - ב-Rust יש  . . . . אין Static Analyzer מכיוון של טעויות אבטחה וטעויות נפוצות - יש כמו Linter כזה, כמו Clipy, שהוא מדהים 
    • ישבה אוניברסיטה ופיתחו כזה, בעצם משימה אקדמית כזאת - GIT, ה-Georgia Institute of Technology - ופיתחו כלי שנקרא Rudra, שזה Static Analyzer ל-Rust
    • עיקר הפוקוס שלהם - דיברנו קצת על ה-Unsafe, דרך שימוש ב-Unsafe, אם כבר מפתח הלך לשם, לאיזור הזה, המסוכן - בו ננתח את הקוד שלו ונעזור לו לא לעשות טעויות.
    • מה שמדהים פה הוא שהפרויקט האקדמי הזה ניתן לשימוש מיד - אז ב-Rust יש מנהל, Package Manager שנקרא Cargo - פשוט עושים Cargo Install Rudra, ואז Cargo Rudra ונגמר הסיפור, אתם בעצם משתמשים בפרויקט האקדמי.
    • בהרבה פעמים, החווייה שלי זה שפרויקטים כאלה נשארים ב-Level האקדמי - כותבים את המאמר, מפבלשים (Publish) אותו וסיימו עם זה
      • אבל פה יש משהו שהוא מאוד שמיש, והקהילה משתמשת בזה ונהנית מזה - שזו סימביוזה מדהימה בין אקדמיה לקהילה.
  • נושא קצת אחר - התעסקתי לא מזמן עם Sandboxing של של Process-ים במערכות הפעלה - איך לוקחים Process ועושים לו הגבלות למינהן, אנחנו מכירים את זה מהעולם של Docker.
      • בתוך Docker יש כל מיני הגבלות לכל מיני Process-ים
    • וגיליתי משהו מאוד נחמד - ל-Mac יש . . .איך נקרא לזה? “תוכנה” או “כלי”, שבא עם ה-Mac, שנקרא sandbox-exec
    • הוא כבר Deprecated - זה כנראה מסוג הכלים האלה, שהוא “דלת אחורית” כזאת, שלא הרבה משתמשים בהן - וניתן לייצר איתו Sandboxing למה שבא לכם.
    • אתם יכולים לקחת כל אפליקציה ולכפות על האפליקציה לא להשתמש ב-Network, להשתמש רק בקבצים מסויימים, לא לגשת לנתיבים מסויימים וכל מיני דברים כאלה מעניינים.
    • כותבים את ההגבלות ב-Lisp או ב-Sicp - שזה גם מאוד אנושי ומפתיע ומזמין . . .
    • ואפשר להשתמש בזה כבר עכשיו 
    • מה שעוד מצאתי - ושמתי לינק, או שאני אוסיף - זה שיש אנשים שפותחים Github Repo עם כל מיני תוכניות פופלאריות ב-Mac וההגבלות החכמות אליהן
      • למשל - אם יש לכם Chrome, אין לו שום סיבה לגעת לכם ב-Folder של אפליקציות . . . אין שום סיבה כזאת.
      • או בספריות של Settings בתוך ה-Home שלכם - כל מיני דברים כאלה שכשחושבים על זה אז זה מאוד Makes sense שזה אפילו יבוא מהיצרן
        • כי בסופו של דבר, אם יש איזשהו Extension ככה “מלוכלך” ב-Chrome - ואם Chrome לא מגביל אותו אז אף אחד לא יגביל אותו
        • זה נכון לכל אפליקציה שאתם מורידים - וזה סופר-מגניב, ברגע שגיליתי את זה.
    • (רן) למרות שתראה - בעולם האפליקציות, ה-Mobile Applications, הולכים על “Whitelist” [או allowlist] - ופה מדובר על הגישה של blacklist [או blocklist]  - “תגיד מה אתה לא מרשה”
      • הגישה הבטוחה יותר מכיוון Secuiory זו גישת whitelist [allowlist] - שזה משהו שמקובל בעולם האפליקציות - אמנם הרזולוציה היא לא כזאת גבוהה, אתה לא אומר כל Folder אלה רק נותן . . . יש איזשהו Set סגור של הרשאות כמו האם אפשר לגשת ל-GPS או אפשר לגשת למצלמה וכו’.
      • אבל זה משהו שמקובל בעולם ה-Mobile - וזה נחמד שיהיה את זה גם  . . . .
    • (דותן) נכון, אין ספק שיש פה Glitch די גדול - שמערכות הפעלה הן - איך נקרא לזה? lagging behind the  . . . 
    • (רן) . . . קצת פחות בטוחות, כן.
    • (דותן) בדיוק - למרות שב-Mac קצת הוסיפו את זה: היום אפליקציות מבקשות ממך לגשת ל-Downloads ודברים כאלה, שזה מנומס וסופר-נכון
      • אבל יש כל מיני נתיבים אחרים - אני מוריד כלי פיתוח, או כל דבר שאני רוצה סתם לשחק איתו - ולא תמיד זה קורה.
    • בקיצור - כלי ממש מגניב
    • הוא Deprecated - המחשבה מאחורי ה-Deprecation לא ברורה, אבל די ברור שה-Core Library שזה משתמש בו - שזה דומה, נגיד, ל-Jails במערכות הפעלה אחרות - זה משהו שנולד כדי להישאר, ו-Mac בעצמו, ה-OS 6 בעצמו משתמש בזה.
  • זהו, האייטם הבא - בכל שפה חדשה שנולדת, יבוא מישהו ויממש את כל האלגוריתמים - מ-Cormen או ממקומות כאלה - ועכשיו עשו את זה ב-Rust, שזה עוד Milestone נחמד מאוד
    • למי שרוצה לראות איך ממשים אלגוריתמים נפוצים - כל מיני Sort-ים, Graph Algorithems וכאלה
    • בעיקר זה נותן, הייתי אומר, “מבט אינטואיטיבי לאיך שנראית שפה” - למי שעשה [למד] מדעי המחשב
      • כל אחד שעשה את זה יודע, פחות או יותר, בראש שלו - יש לו כבר “צלקת” של איך שנראה Buuble Sort או Quick Sort
      • ואז אפשר לבוא ולראות את זה בצורה ברורה בשפה אחרת שהוא לא מכיר - וזה נחמד לתרגם את זה, מחשבתית.
    • (אלון) נחמד . . . 
    • (דותן) כן . . .
  • האייטם הבא הוא הרבה יותר “מרעיש”, הייתי אומר - יש פה פרויקט שנקרא tauri, וזה סוג של תחליף ל-Electron
    • למי שלא מכיר - Electron Apps, אז אני אמנה כמה, אני אנסה מהזיכרון . . .  אז אני עובד עם Figma שלדעתי זה Electron [יאפ]. . . עם מה אתם עובדים, שהוא Electron וטוחן לכם את הזיכרון והמחשב? . . . 
    • (אלון) VSCode . . . 
    • (דותן) אני חושב שגם Slack . . .
    • (רן) VSCode אני חושב שכבר לא Electron, אני חושב שהם עשו את זה מחדש . . . אבל הוא היה Electron בהתחלה ... 
    • (אלון) אה, נכון, Atom היה Electron  . . . ו-WhatsApp . . . 
    • (דותן) WhatsApp . . .  כל העטיפות ה-Native-יות הן בעצם . . . Electron, הסיבה שהפסקתי לעבוד עם זה זה שפשוט יש לי מלא Electron Apps במקביל ואז זה גומר לי את המחשב . . .
      • אני מעדיף לעבוד כבר ב-Chrome - ש-Chrome ינהל את המשאבים שלו וככה אני מנסה To hack it.
      • וגם כל אפליקצית Electron זה לפחות 50-60Mb, מכווץ - 130Mb פתוח
      • פה, המהפכה היא שזה משתמש ב-Rust - הפתעה! - אבל זה יוצא 5Mb . . . וזה משוגע.
    • והיופי פה זה שכמובן - מה ה-tradeoff? איך זה יכול להיות?
      • אז זה משתמש, ב-Default, ב-WebView של מערכת ההפעלה - ואת כל הפערים ש-Electron מפצה עליהם הם פשוט עשו ב-Rust . . . 
    • אז זה סופר-מגניב, אני מניח שזה בא עם קצת מגבלות ודברים שאי אפשר לעשות
      • אבל חשבו פה ממש על המון  . . . Self-updater, להתחבר לנוטיפיקציות (Notifications) של המערכת הפעלה, כמובן Cross-מערכות הפעלה - Mac, Linux, Windows
      • ממש . . .
    • (אלון) רגע, זה HTML? כאילו . . . . זה Web לכל דבר?
    • (דותן) כן, WebView, תעשה מה שבא לך . . . אני  . . .
    • (אלון) למה זה לא בעצם דפדפן? . . . אם אתה אומר שהוא יותר מהיר, הוא ב-Rust . . .
    • (דותן) קודם כל, ב-Electron נולדו גם כל מיני דפדפנים חדשים
      • אני זוכר את ה . . . לא זוכר איך קוראים לדפדפן של ה-Privacy שנולד, עם הלוגו של האריה [Brave?] . . . . לא זוכר אותו בדיוק, אבל נולדו כאלה, בדיוק אחר כך
      • ואז, אתה יודע . . . בסופו של דבר, אנשים מעדיפים להשתמש ב-Chrome.
      • אבל כן . . . וגם WebView הוא לא באמת כל היכולות של דפדפן מלא. 
      • אני מניח שמישהו יבוא ויממש מעל זה משהו דומה.
    • זהו, סופר-מרגש - ואלטרנטיבה ממש-ממש טובה לאפליקציות, כי אצלי לפחות “העצם בגרון” זה הגודל של ה-Electron Apps שנולדו.
  • (רן) תגיד, אתה - יש לך עוד משהו על Rust? יש לך עוד משהו ב-Rust?
  • (דותן) כן, במקרה, ממש שמח שאתה שואל . . . . האייטם הבא זה gitui
    • למי שכל הזמן מחפש Git UIs, אני חייב להגיד, באמת מחווייה אישית, שיש מלא Git UIs בחוץ - וכולם מאכזבים בכל מיני צורות . . . אני לא יודע במה אתם משתמשים ומה עובד לכם, אם בכלל.
    • לפעמים יש לי Chain Set-ים רגישים וגדולים שאני אומר שאני חייב שנייה מבט על - מה קרה פה? וגם שנמשכים על הרבה זמן
      • אין הרבה כאלה, אבל לפעמים יש.
    • אז אני מעדיף שנייה להסתכל ויזואלית (Visual) על מה שקרה ולברור את השינויים - ולפעמים אני צריך Git UI כלשהו . . .
    • (רן) אני לא משתמש . . . אני, האמת, לא משתמש ב-UI, כאילו - ניסיתי פה ושם את Tig ו-Git Tower ועוד כל מיני דברים כאלה - אבל לא, אני תכל’ס משתמש ב-CLI כל הזמן.
    • (אלון) אני משתמש עם ה . . .
    • (דותן) גם אני משתמש רוב הזמן עם ה-CLI, אבל לפעמים אתה רוצה שנייה להיות מאוד מאוד זהיר, זה המתי שאני כן צריך את המבט-על.
    • (אלון) אני - צוחקים ע  ישב-Git אני Junior, אני עובד עם UI  . . . אבל יש את ה-GitHub Desktop, שהוא חביב, ויש את זה שהיה טוב אבל תמיד טחן את ה-CPU, אז אולי הם סידרו את זה - ה-Sourcetree של Atlasian.
      • הוא היה טוב - אבל זה היה כבד, כאילו אתה מרים מערכת הפעלה ומשגר טילים לחלל [כבר היו מקרים] . . .
      • כולה, וואלה - Viewer על Git, למה טחנתם לי ארבעה Core-ים במקביל? אבל אולי הם סידרו את זה כבר . . .
    • (דותן) כן - אז פה יש אלטרנטיבה שהיא אותו דבר, רק על הטרמינל
      • יש כמה כאלה
      • היתרון של זה זה שהוא כתוב ב-Rust והוא מהיר וקליל.
      • זהו - זה זה.
  • יש עוד כמה אייטמים - אז אחד מהם זה applied-ml - יכול להיות שזה כבר היה פה [?]
    • אבל זה ככה קפץ לי תוך כדי חיפושים - ומה שאהבתי פה זה שכל המאמרים הם לכיוון של Apllied, פחות תיאורטיים ויותר “איך עשינו בחברה כזאת וכזאת”
    • והרבה פה, בסופו של דבר, זה לינקים לבלוגים ו-YouTube Vidoes של כל מיני חברות שמראות איך הן עשו משהו.
    • הרבה פעמים זה מאוד פרקטי - והחלק השני של זה זה שהם מפרסמים גם את המחקר והכל
      • אבל זה תמיד בא מהפרקטי.
    • יש פה Reading List משוגע, סופר מעניין
      • אני עשיתי לזה סוג של Bookmark, כדי כל הזמן לחזור ל-Reading List הזה.
    • (אלון) שמע, זה מגניב לאללה . . . . יש פה כל מיני דברים מגניבים
    • (דותן) כן, זה כייפי כזה, כאילו . . . קריאה לפני השינה
    • (רן) אוסף של הרבה מאוד Case-Studies או בלוג-פוסטים על Machine Learning ב-Production מכל מני סוגים
    • (אלון) זה לא רק Machine Learning . . .
    • (רן) אוקיי  . . . Applied ML  . . . יש פה גם דברים של Data Engineering והכל, אבל בגדול הפוקוס הוא על Machine LEarning, לפי השם . . .
    • (דותן) כנראה, ניתן Preview -
    • (אלון) כן, אבל יש פה דברים שזה לא Machine Learning . . . מי שנתן את הכותרת התחיל עם Machine Learning ובסוף דחפו לו שם דברים שהוא לא שם לב . . . 
    • (דותן) אז תזהרו מה-”לא-Machine Learning”, שלא תפלו באיזה מאמר על נגיד אופטימיזציה של Search . . .
    • (אלון) חלילה! יש פה מאמר על Analytics at Netflix: Who We Are and What We Do - שזה לא נראה לי בכלל על  . . . טפו! זה בכלל לא קשור ל-Machine Learning . . . 
    • (דותן) ה-Data Scientist שקורא את זה אחר כך צריך חמש פעמים לטעון דאטה ל-Pandas ולשרוף . . .
    • (אלון) איזור שלם על Team structure  . . . באמת, אנליסטי, דאטה  . . . מי שמתעסק עם Machine Learning - קחו מפתח שישב לידכם כשאתם עוברים על ה . . . .
      • (דותן) לפתוח Issues . . . 
      • (אלון) קחו מפתח לידכם, שיגיד לכם איזו שורה לקרוא ואיזו לא - שחלילה לא תכנסו לחומר לא קשור . . .
      • (דותן) לא קשור, לא כשר . . . 
  • טוב, האייטם הבא - האמת שתפסתי את הראש . . . זה התחיל ב” . . . What the” כזה ואז עוד יותר ועוד יותר ועוד יותר . . . 
    • זה בעצם פרויקט של GTA III - למי ששיחק בילדותו - וזה כנראה בנאדם שאמר “אני רוצה לעשות לזה Reverse engineering, לבנות את המשחק מחדש - בלי שיש לי את ה-Source Code בכלל” . . . .
      • והצטרפו אליו, בתקופה של הקורונה, מלא מפתחים - ועשו את זה . . . הרבה עשו Reverse Engineering ל-GTA III . . . .
      • זה לא חוקי, אני חושב - והמשחק עובד . . . בלי שיש להם את השורות קוד
    • והסיפור המדהים - זה לקח לי זמן לעכל את זה, כי זה כל כך מדהים שאמרתי “זה משוגע” - זה שהוא התחיל . . . הוא כאילו פתח פרויקט, ואז היו לו DLL-ים ... 
      • אם אתה לוקח את המשחק עצמו, אז יש לך DLL-ים - ה-DLL-ים בדרך כלל חושפים API פומבית לצורך המשחק עצמו - ואז הוא הסתכל, עשה Listing של ה-API הפרטי והפומבי, והתחיל לקורא ל-DLL-ים האלה, בלי שהוא חבר, שזה סוג של משוגע . . . 
      • ואז, אחרי הרבה עבודה, הוא הבין שהוא סיים משהו כמו . . . הוא כל הזמן העריך את זה - 10,000 שורות קוד, עשה להן Reverse Engineering - ונשארו לו רק עוד 200,000 . . . אחרי הרבה מאמץ.
      • ואז הצטרפו אליו המון אנשים, בגלל הקורונה, והם עשו את זה . .. 
      • אין לי מושג אפילו איך להתחיל להבין את ה-Magnitude של הפרויקט הזה, אבל זה משוגע, באמת.
    • (רן) אז הפרויקט עצמו הוא ב-C, ברובו - למרות שאני רואה שיש גם קצת ב-Assembly . . .
    • (דותן) ++C, כן 
    • (רן) אוקיי . . . דרך אגב, הוא Archived, אז יכול להיות שיש כאן איזשהו עניין חוקי . . . אז עשו לו Archive, אבל עדיין אפשר לגשת אליו, כל הקוד זמין, רק שאי אפשר לשלוח אליו Pull-Request-ים יותר. . .
    • (דותן) כן, כאילו - אם הייתי החברה שפיתחה את GTA - זה Rock Star Studios? אני לא זוכר כבר - הייתי כזה אומר לו “טוב, התקבלת . . .”
    • (רן) וזה גם בית ספר טוב ל-++C . . .
    • (דותן) . . . “בוא, קח פרויקט . . .” - יותר מזה? אין יותר מבחן או ראיון מזה . . . “תשכתב את כל המשחק מאפס, בלי שאתה יודע את הקוד שלו . . .”
      • (רן)  . . . “נאבד לנו ה-Source Code, אתה יכול לעזור לנו שנייה?”
    • (דותן) אז זה התרגיל הבא - אם יש לכם חברה ואתם מגייסים אנשים: התרגיל למפתחים הוא “תשכתבו את כל הטכנולוגיה של החברה, יש לכם שנתיים לעשות את זה” . . .
    • (אלון) זה אחלה תרגיל - אנחנו עושים אותי כמובן, מה זאת אומרת? . . .. 
      • אבל אצלך הוא לא היה עובר, כי הוא לא כתוב ב-Rust . . .
    • (דותן) הייתי משתמש ב-Copilot . . . היה כותב לי את הכל.
    • (אלון) יכול להיות שזה מה שהוא עשה . . . כתב “GTA Source Code” ובום! - ה-Copilot נתן לו הכל . . .
    • (דותן) יש מצב . . . 
    • בקיצור, אפשר לפתוח לו Issues . . . אפשר לפתוח לו Pull-Request-ים, אני רואה . . . 
      • בואו נחטט ב-Closed, נראה מה הוא סגר . . . .
    • (רן) רגע, אז מה זה אומר שעושים Archive? אם הפרויקט Archived אז מה זה אומר?
    • (דותן) אה . . . מכריזים ש”סגרנו” . . . שלט על החנות של “נסגר, תודה רבה, הייתם אחלה” . . .
    • (רן) לא, אבל כתוב Read Only . . . אתה אולי יכול לשלוח לו Pull-Request-ים, אבל הוא לא יקבל אותם כי הפרויקט הוא Read-Only, לפי מה שכתוב.
    • (דותן) יכול להיות, כן . . .
    • זהו - ואפשר להוריד את זה, אני רואה . . . אפשר להוריד את כל ה-Source Code, אז  . . . .
    • בקיצור - למי שאוהב את הדברים האלה, זה מעניין.
  • זהו, אייטם אחרון - זה נקרא system-design-primer 
    • זה אייטם שנתקלתי בו המון - אני חושב שלפני כמה שנים אפילו ככה נגענו בו - אבל הוא כל הזמן מתעדכן, כי Design של מערכות צריך אבולוציה, וזה לא אותו הדבר.
    • זה אחלה לחזור לבקר - אם אתם רוצים להיזכר איך לתכנן מערכות  - מה הכללי אצבע וכל מיני Designs של מערכות נפוצות
      • נגיד, יש פה תרגילים כמו “תכנן Web Crawler” ו”תכנן Key-Value store” וכל מיני כאלה
      • זה, ככה - נחמד כזה, מחליף סודוקו . . .
    • (רן) אז זה כאילו סוג של הכנה לראיון עבודה בנושא של System Design, או יותר מזה?
    • (דותן) זה יותר “רענון מחשבתי” . . . כמובן שאפשר להתשמש בזה לראיונות עבודה, אבל 
      • א. אפשר כן לקרוא וככה ללמוד
      • ב. אפשר ליצור מתוך זה תרגילים לראיונות עבודה
    • אבל בשבילי זה יותר כזה Refresh נחמד, קריאה קלילה ומרעננת  . . .
    • (אלון) שמע, יש פה דברים שאם אתה ממש חופר לעומק, אתה תגיע  ממש רחוק ב-Rabbit Hole
      • כי אם אתה הולך על Database-ים פה, באיזור של ה-No-SQL - אז יש לך ממש את ה-Paper-ים של Bigtable ו-Cassandra, אז זה הולך רחוק . . . .
    • (דותן) פעם היה קטע . . . מה זה “פעם”? היה לפני 11 שנה כזה, 2010 - היה קטע שהיית נרשם למגזין שנקרא MSDN, זוכר? הייתי מת על זה . . .
      • היית מקבל פעם בחודש עיתון - פיזי, נייר - באינטרנט עוד לא היה בלוגים וכאלה - ובשבילי זו הייתה הרפתקאה, אתה נכנס וקורא, זה היה מדהים בשבילי . . . 
      • כל הנושאים היו מאוד מגוונים, ולא קשורים בהכרח - קצת Snipit-ים כאלה, כמו  . . . 
      • אני תמיד משתמש בדוגמא הזאת של עיתון הנוער של שנות ה-90 . . . 
      • (רן) מעריב לנוער? [זבנג!]
      • (דותן) לא, משהו “בראש”, לא זוכר כבר . . . בקיצר, כמו מגזין  . . .
      • (רן) ראש אחד”, נדמה לי . . .
      • (דותן) כן! כמו מגזין כזה, שכיף  . . . אז זה מחזיר לי את הווייב הזה, ה-Repo הזה . . . יש מלא חומרים כאלה
    • האמת שהייתי שמח לכזה, שוב פעם - עיתון כזה שמגיע אליך, במקום עיתון-חדשות, אתה פשוט מקבל מגזין עם חומרים מפה, רנדומיים . . . 
    • (רן) הייתה אפליקציה כזו ב-iPad, שהייתה די מוצלחת לאיזו תקופה - אני חושב FlipBoard או משהו כזה, שזה כאילו סוג של מגזין . . .
    • (דותן) אה, כן . . .
    • (רן) אבל העניין הוא ששם אתה כאילו היית בונה לעצמך את המגזין - היית צריך להגיד מה מעניין אותך - ואתה אומר: “אני לא רוצה להגיד מה מעניין אותי! אתם תגידו! אני רוצה לקבל  . . . “
    • (דותן) אני גם לא רוצה את ה-Email-ים, ה-Weekly וכל זה - תן לי, לבית, עיתון כזה יפה, מודפס - כזו המגזין של איקאה כזה - רק הכל טכנולוגיה . . .
    • (רן) “תסכם לי”, כאילו  . . תפתיע אותי!

(רן) טוב, תקשיבו - הגענו לסוף.
[אין מצחיקולים? זוהר דאג לכם . . . ]
אני מהיום לקחתי שני לינקים שאותם אני הולך לפרסם פנימית בתוך החברה - אני לא אגלה לכם איזה . . . נסו לנחש
(אלון) יש הגרלה, למי שמצליח לנחש? [?What have I got in my pocket]
(דותן) פינה חדשה! פינה חדשה פתחת פה . . .
(רן) מעכשיו . . . 
אז כן - שני לינקים נשארו אצלי פתוחים בדפדפן, שאותם אני הולך לחלוק - אבל אני לא אגלה איזה . . .

בכל אופן - תודה רבה, ורציתי רק להזכיר שוב לגבי הכנס וההרשמה
מקווים לראות אתכם - ההרשמה, ככל הנראה, כבר פתוחה בזמן שאתם שומעים את הפרק הזה [לגמרי], ואם לא אז ממש בקרוב [פתוח]
וזהו, אנחנו מצפים לראות אתכם ותודה לכל מי שמשתתף במאמץ של להכין את הכנס ולדבר בו וכל המסביב - מאוד מתרגשים לקראת זה שזה הולך לקרות.
זהו - מקווים שהייתה לכם האזנה טובה ונעימה - ולהתראות. ביי.