יום רביעי, 28 ביולי 2021

415 Bumpers 75


פרק 415 [!Unsupported Media Type] של רברס עם פלטפורמה - באמפרס מספר 75.
אז זהו באמפרס: התוכנית החודשית - שלפעמים הופכת לדו-חודשית - שבה אנחנו נפגשים ומדברים על דברים מעניינים שראינו ברחבי האינטרנט, שקשורים לפיתוח תוכנה או לדברים אחרים שמעניינים אותנו: Repos מעניינים של GitHub, פרוייקטים מעניינים ב-Open Source, בלוגים, אתרים או כל דבר אחר טכנולוגי שמעניין אותנו, ונקווה שגם אתכם. 
אז אני אתחיל . . .


רן - 
  • אספר על כלי שנתקלתי בו - וקוראים לו tuplex. קצת כמו Duplex, רק מתחיל ב-T . . .
    • אז tuplex זה בעצם Framework חדש שלמעשה נועד לעבד מה שנקרא “Big Data”
    • מה שמיוחד ומעניין בו זה שהוא מבחינת API דומה ל-Spark, אז כל מי שעבד עם Spark, נגיד ב-Python, מכיר את ה-API שלו - אבל המימוש, מתחת לפני השטח, למעשה הולכת ומקמפל (Compile) את הקוד ה-Python-י לקוד ב-C או ב-++C, באמצעות LLVM, וככה מריץ אותו.
    • אז זה החלק המעניין - יש לו בעצם “Dual Mode” - הוא פעם אחת יכול להריץ את זה ב-Python, פעם אחת יכול להריץ את הקוד המקומפל
      • וזה, לטענת המחברים, מייצר, יכולת Performance מאוד מעניינת ומרשימה.
    • אני לא יודע מה יכולות ה-Parallelization שלו - זאת אומרת, החלק הגדול והמעניין ב-Spark זה באמת היכולת לעשות את הכל ב-Concurrency מאוד גבוה
      • אז אני לא יודע מה היכולות של tuplex עצמו
      • אבל מה שכן - מהחינת Raw Performance, לכאורה, יש להם פה רווחים, כי הם למעשה מקמפלים את הכל ל-Native, זאת אומרת - ל-++C, באמצעות ה-LLVM.
    • (אלון) רגע, יש לי יותר מדי שאלות לקהל . . .
      • (רן) שאל . . .
    • (אלון) אתה כותב ב-Python, ובסוף יוצא לך ++C?
      • (רן) כן . . . אני חושב שגם זה, בסופו של דבר, מתקמפל מן הסתם לשפת מכונה - אבל כן.
    • (אלון) אז השאלה, קודם כל אם . . . 
    • (דותן) לא . . . זה בנוי ב-++C - אתה כותב ב-Python, וזה פולט החוצה LLVM . . .
    • (רן) אה, אוקיי . . . סבבה, LLVM.
    • (אלון) אז LLVM, אוקיי - אז עכשיו, השאלה הבאה היא למה לא לכתוב - אם זה עובד, נניח - אז למה לא לכתוב Python רק בזה? בלי קשר למקביליות, בלי קשר לכלום . . . אם בסוף יצא לי LLVM? כאילו, מה עשו פה - Complier מ-Python ל-LLVM בעצם?
    • (רן) נכון . . . אני חושב שהשאלה היא במקום, והשאלה היא  . . . אני לא יודע, יכול להיות שהמרחק פה באמת מאוד קטן, 
      • אבל יכול להיות שהם התמקדו לא על כל מה ש-Python יודע לעשות, אלא על הדברים הספציפיים . . .
      • על API שבין Python לבין Spark
      • אבל שאלה מעניינת . . .  יש לך עוד שאלות?
    • (אלון)כן!
    • (דותן) זה מה שאני רואה - אני מטייל להם בקוד, ואני רואה שהם עשו בדיוק את זה . . .
    • (אלון) כי אם זה עושה Complier, אז בעצם זה פתרון גנרי - אם זה היה עובד טוב. יש לי יותר מדי . . . 
      • אני חושש מהפרויקט הזה, כי זה מסוג הדברים שעובד לך ב-Python ואז אתה מקמפל ולא עובד כלום, אין לך מושג מה קורה,  אתה מקבל LLVM, כי יש בעיה ב-Complier, אז אני חושש . . .
      • ואם ה-Complier כן עובד - אז בעצם פתרנו את בעיות הביצועים של Python?! כאילו - משהו פה לא מסתדר . . . 
    • (דותן) יש פה . . .  זה לא נראה לי יהיה ככה אי-פעם - אם היו מקמפלים את Python מחדש באופן גנרי לכל דבר שאתה יכול לכתוב ב-Python, נראה לי שזו הייתה הכרזה מסוג אחר . . . 
    • (רן) כן . . .אני חושב שזה הרבה-הרבה יותר צר - 
      • לצורך העניין, הם לא מטפלים, אני מנחש, ב-Threading או ב-Multi-Process או בהרבה דברים אחרים, פיצ’רים אחרים שיש ב-Python.
      • הם התמקדו ספציפית בפיצ’רים של ה-API שיש ל-Python מעל Spark
      • אז זו איזושהי זוית מאוד צרה - אבל יכול להיות שמפה, לקחת את זה הלאה ולעשות את זה Python גנרי, יכול להיות שזה יותר קל . . .
      • אבל הם לא עשו את זה.
    • (דותן) אני יכול לנחש שנגיד - אם אתה כותב Java, אז ה-JIT, עם הזמן, יהפוך את הקוד שלך לקוד הכי טוב בעולם . . .
      • פה הם אמרו: “טוב, אתה כותב ב-Python, אין JIT, זה לא ‘JI-thon’ - בוא נעשה משהו דומה” . . נראה לי שזה מה שהם . . .
      • לא קראתי לעומק, אבל נראה לי שזה מה שהם רצו לעשות.
    • (אלון) טוב . . . מעניין. מפחיד אך מעניין . . . 
    • (רן) נסווג את זה תחת “מפחיד אך מעניין” [פיילוט לפינה חדשה?]
      • אני, באופן אישי, לא ניסיתי, אני חייב להגיד . . . ראיתי את הפרויקט, קראתי, נראה לי מעניין - אז רציתי להביא את זה לפה, אבל לא השתמשתי בו עדיין.
      • אני גם לא רואה את עצמי משתמש בו בקרוב, אני חייב להגיד . . .
      • בכל אופן - חשבתי שזה יהיה מעניין.
  • הנושא הבא - נתקלתי באתר שנקרא Gently Down The Stream
    • אני מניח שרובינו זוכרים את השיר באנגלית מכיתה ג’ - Row Row Row Your Boat, Gently Down The Stream [ברחוב סומסום היה את “בוא נשיט סירה על פני גיא והר” . . . ] - אז יש אתר שנקרא Gently Down The Stream והוא מאוד מאוד נחמד, אני ממליץ להיכנס אליו.
    • מה שהוא בעצם עושה זה שהוא מלמד אותנו איך עובד Kafka - איך עובדת מערכת ה-Messaging שנקראית Kafka
    • אבל הוא עושה את זה בצורה מאוד מאוד ויזואלית ונחמדה, 
      • עם הרבה מאוד, ככה, ציורים מאוד מזמינים - רואים שם דגים וציפורים וחיות שונות שככה נמצאות ליד הנחל ומדברות ביניהן, 
      • ותוך כדי אתה גם סופג הסברים על איך פועלת Kafka - אז זה נחמד
    • (אלון) זה סיפור ילדים שהוא קפקא . . . כאילו, זה ממש מגניב - זה בעצם ספר-לפני-השינה לילדים, שאם תקרא להם הם ידעו Kafka בסוף . . . 
    • (רן) לגמרי . . . 
    • אז אם רציתם ללמד את הילד שלכם טיפה תכנות - התחלתם ב-Logo? התחלתם ב-BASIC? טעיתם! צריך להתחיל ה-Kafka . . . משם הם יצאו מפתחים דגולים . . .
    • אז זה ממש נחמד - באמת, מאוד ככה נחמד ויזואלית, כיף לטייל שם ולקרוא את הסיפור הזה...
    • (דותן) מגניב . . .
  • (רן) ואנחנו עוברים לאייטם הבא - ועל האייטם הבא אני חושב שכולם כבר שמעו: רציתי להגיד כמה מילים על Copilot של GitHub, אז . . 
    • (אלון) מה זה?!
    • (רן) אז כן - לאלון, שעדיין לא שמע על זה - מה זה Copilot
    • אז Copilot זה בעצם יכולת שהוציאו GitHub - למעשה, בשיתוף עם Microsoft Research - שבעצם עוזרת לך, כמפתח, לכתוב קוד.
    • זה בעצם “השלמה אוטומטית” - אבל לא סתם השלמה אוטומטית אלא על סטרואידים: Copilot “הולך ולומד” Code-bases, שקיימים אי-שם בעולם, בחוץ, Open-Source
      • ואם אתה, לצורך העניין, רוצה לכתוב . .  הדוגמא הקלאסית היא שאתה רוצה לכתוב ב-Java פונקציה שפותחת וקוראת קובץ - אז נכון אף אחד לא זוכר איך עושים את זה, כי יש איזה שלושה-ארבעה Class-ים שצריך לעשות להם Instantiation ולטפל בהם כמו שצריך? אז הוא הולך “וכותב” לך את זה, לפי ה-Best Practices שהוא מצא “בעולם”.
    • עכשיו, ראינו דוגמאות ב-Java, ב-Bash, ב-Python ובשפות אחרות, זאת אומרת - הוא יודע לעשות את זה, באופן יחסית כללי.
    • וזה מעניין מאוד - ועולות פה הרבה הרבה שאלות . . . 
      • קודם כל - אני חושב שזה הישג מדעי מאוד יפה ומרשים. דבר נוסף מעניין . . .
        • ואולי שווה להגיד שזה עדיין ב-Beta סגורה - אני עדיין . . . אני ביקשתי גישה ועדיין לא קיבלתי, לא יודע - אולי מישהו מכם כן קיבל ויכול לספר לנו איך זה באמת עובד, אבל אני עוד לא בפנים.
      • בכל אופן, יש שם כמה דברים שאני חושב שהם מעניינים - 
      1. באופן תמידי עולה השאלה “אוקיי, אז זהו - להתחיל לחפש מקצוע אחר? מישהו כבר יעשה את העבודה בשבילי?” 
        • אני חושב שהתשובה לזה היא די טריוויאלית כרגע - לא.
        • זה אולי כלי-עזר - ואולי כלי-עזר טוב, יש אולי סימן שאלה לגבי עד כמה הוא טוב או לא, אבל בכל אופן זה כלי עזר - ואני חושב שהתשובה היא “לא”.
      2. שאלה נוספת היא לגבי הלגיטימיות של השימוש בכלל בכלי, או למעשה הלגיטימיות של שימוש של Microsoft או GitHub ב-Open-Source שבהם הם השתמשו - מכיון שעלתה הטענה שלמעשה הם השתמשו ב-Open Source שאסור היה להם להשתמש . . .
        • למעשה, כאלה שיש להם מה שנקרא “רישיון וויראלי” [לרענון - 317 Zusammen with Zohar Sacks] - ואם אתם עכשיו הולכים להשתמש בהצעות שלהם, אז למעשה גם המוצר שלכם צריך להיות Open Source . . . 
      • בקיצור - יש פה כמה שאלות משפטיות לא פשוטות שעלו, 
      • ואולי בפן-הנקרא-לזה-הנדסי או מדעי, החלק המעניין ביותר, זה שלמעשה הפרויקט Copilot נכתב מעל מנוע שפה שנקרא GPT3 של OpenAI, שאני מאמין שכבר הזכרנו אותו פה בפודקאסט לפני זה [אכן, נגיד כאן - 397 Bumpers 69]
      • אז זה למעשה מנוע שפה יחסית גנרי, שפיתחו ב-OpenAI, שדרך אגב - Microsoft היא אחד מה-Backer-ים הגדולים של OpenAI, ולכן יש להם גם גישה אליו . . . אז לא לכל אחד יש גישה ל-GPT3, אבל ל-Microsoft יש.
        • אפשר לבקש גישה, ואני לא יודע על סמך איזה קריטריונים הם נותנים - אבל אפשר לבקש.
      • ובכל אופן - החלק המעניין הוא ש-Microsoft פרסמו שעל הפרויקט הזה עבד בסך הכל Data Scientist אחד - אבל הרבה מהנדסים . . . 
        • מה הם רוצים להגיד? הם רוצים לבוא ולהגיד שהמנוע של GPT3 הוא כל-כך גנרי, ככה שנדרשת מעט מאוד עבודה “מדעית” כדי להתאים אותו, לצורך העניין, ל-Source code.
        • מנוע GPT3 זה מנוע שפה יחסית גנרי, שיכול - אני מניח שראיתם בעולם דוגמאות של איך הוא כותב פרוזה, חמשירים ודברים כאלה, זה מנוע שפה מאוד-מאוד גנרי - ולבוא ולהתאים אותו ל-Source Code זה, יחסית, מעט עבודה.
        • כן יש פה עבודה “הנדסית” של ללכת ולהנדס את ה-Pipeline של ה-Data, לאסוף את כל הדאטה וכו’ - אבל מבחינה מדעית, רק Data Scientist אחד עבד על הפרויקט הזה, לפי הפרסומים שלהם.
        • שזה בא לומר שהמנוע הוא כל כך גנרי, שמאוד קל להתאים אותו ל-Domain-ים שונים.
    • (דותן) או . . . 
    • (רן) ולתיאוריה השנייה . . .
    • (דותן) אני אתן את החלק השני של הסיפור הזה - וזה שהיה פיאסקו שלם, ששרף את האינטרנט: שבעצם אנשים הבינו שה-Copilot משלים להם דברים מסוכנים, גמו Secret-ים וכל מיני API keys של אנשים אחרים . . . 
      • בין היתר היה גם Copyrighted code ובעצם . . . התיאוריה האחרת היא שפשוט, כאילו, עשו את זה בצורה כזאת “עיוורת”, הפעילו את המנוע בצורה עיוורת ואז  . . . 
        • (אלון) וסרקו Private Repos . . . 
      •  . . . אנשים עשו Auto-completion מזעזע . . .
    • (רן) כן - אז אני חושב שהסיפור הזה הוציא את הטוב ואת הרע באנושות, בהרבה מובנים - ולמעשה יכול להיות מאוד שהיה צריך לעשות פה עבודת הכנה וניקוי הרבה יותר משמעותית ממה שהם עשו.
      • אני חושב שעל זה הרבה יכולים להסכים
      • אבל בכל אופן - אני חושב שזה, מבחינה טכנולוגית-מדעית - יש פה איזושהי קפיצת דרך [טריילר חדש!] מאוד מאוד מעניינת.
    • דרך אגב - זה לא מפתיע שהם לא נתנו להרבה אנשים גישה . . . כנראה שלפחות מה שציינת, זה חלק מהסיבות שהם לא נתנו להרבה אנשים גישה . . . יכול להיות שהם החליטו לעצור את זה באיזשהו שלב.
    • אבל בכל אופן - כן, זה כלי שאני חושב שעורר הרבה מאוד הדים והרבה מאוד עניין, ונתן איזושהי קריאת-כיוון לגבי היכולות של מנוע שפה באופן כללי
      • ואול גם - אני קצת סקפטי בעניין הזה - אבל אולי גם, ככה, “עתיד המקצוע שלנו”.
    • מה שכן - צריך להזהיר שגם אם זה היה פתוח ועובד לכולם, אני חושב שזה יהיה חוסר . . . בוא נאמר בזהירות - “חוסר אחריות” מצידינו, כמפתחים, ללכת ופשוט לקבל את ההצעות שלו, As-is.
    • אבל אם כל זה אני חייב להגיד שברגע שמקבלים הצעה כזו, וזה נראה בסדר - אז מאוד קל להשתכנע שזה כן בסדר, זאת אומרת - יש פה איזושהי סכנה, לטעמי, נקרא לזה, לאיכות הקוד שבסופו של דבר מפתחים יוציאו
      • [ואלוהים ישמור כמה אנשי Security החסירו פעימה עכשיו לאור הביטוי “מאוד קל להשתכנע שזה כן בסדר” . . .]
    • יש הבדל בין לבוא ולהבין את הבעיה לעומק ולפתור את זה בעצמך, לבין לקבל איזושהי הצעה ולהגיד “אוקיי, נראה לי טוב, נמשיך הלאה”.
    • (אלון) יש פה כמה דברים . . . מעניין מתי יתחילו להיות לזה Hack-ים של Vulnerability בכוונה - לזרוק קוד ולשים אותו על Repos, עם ה-Vulnerabilities, בכוונה שישלים לאחרים וככה תיצור Vulnerabilities במקום אחר, שזה תמיד הכובע הרע . . .
    • אני חושב שהשימוש הטוב שלו יהיה בסוף שהוא יחסוך לך זמן בלקרוא APIs וללמוד דוקומנטציות (Documentation) -
      • כי כשאתה מסתכל על הדוגמא הזאת, אני אומר שאני רוצה לשלוף משהו מ-Database, אז אתה אומר “רגע, איך אני מתחבר ל-Database, איך אני עושה . . .” -
      • ואז זה משלים לך, וכאילו חסך לך את כל הקטע הזה של “רגע, איך נראות הדוקומנטציות?” או לנסות להתחיל ולבדוק ב-Auto-complete מה מופיע לך על האובייקט . . .
      • אז אני חושב שבקטע הזה זה מאוד חזק - שאתה פשוט אומר “זה ה-Database, הנה ה-Template, אני לא צריך ללכת לאיזה Stack Overflow כדי לקחת את ה-Template ואז להתחיל לסדר את זה אלי”
      • זה חוסך, לדעתי, בקטע הזה, הרבה זמן יקר.
    • (דותן) מצד שני - יש Database-ים שמאבדים דאטה [פעמיים ד”ש לזהר באותו אייטם?], אז מה זה משנה איך אתה שולף מהם?
    • (אלון) כן . . . אתה יודע - עשיתי Select From Mongo, ויצא לי Return NULL . . .
    • (רן) אני מתפלא שבאמת אין לנו אף אייטם על Mongo, אבל בוא נראה - אולי יהיה בהמשך
      • [לכל המאוחר באפריל 2022]
    • (רן) בסדר, אז זה היה -Copilot - מיצינו . . . אני חושב שזה כנראה הולך להמשיך ולהיות איזשהו נושא שנוי במחלוקת . . . יש לי תחושה שעוד נשמע עליו בעתיד, אבל בואו נעבור הלאה לנושא הבא.
  • הנושא הבא זה איזשהו ספר Online שנתקלתי בו, שנקרא Machine Learning Interviews Book
    • הספר הזה פורסם ע”י Data Scientist שנקראית Chip Huyen - השם ויאטנמי אז אני לא בטוח שאני הוגה אותו כמו שצריך [לפחות בטקסט זה נשמע בול אותו הדבר]
    • בכל אופן - זהו ספר Online, שהתפרסם והוא פתוח לכולם ואפשר לקרוא - ולמרות שהכותרת שלו זה Machine Learning Interviews Book, הוא למעשה, אני חושב, ספר על רעיונות עבודה באופן כללי.
      • מאוד מעניין ופותח עיניים.
    • בגדול, הוא מחולק לשני חלקים - 
      • החלק הראשון זה איזשהו קטע גנרי על מה זה ראיונות עבודה, איך חברות מחפשות עובדים, איך נראה שוק העבודה וכו’ - שאני חושב שזה קטע מאוד מעניין.
      • החלק השני זה בעצם דוגמאות לשאלות-ראיון בתחום של Machine Learning -  זה כבר באמת משהו מאוד מאוד ספציפי.
    • אז אני ממליץ לקרוא את החלק הראשון, או לפחות את החלקים שמעניינים אתכם בחלק הראשון
      • קצת ללמוד על שוק העבודה - לפחות שוק העבודה האמריקאי, שוק הראיונות
      • וכמובן שיש המון דימיון לדברים שקורים פה שישראל - הכל מאיך עושים Negotiation, איך להתכונן לראיון עבודה, על מה מראיינים בדר”כ מסתכלים, איך נראה Pipeline של ראיונות וכו’
      • אני חושב שהספר עצמו, בסך הכל, די נגיש וכתוב בצורה יפה - אז אני ממליץ על הקריאה שלו.
  • ולנושא הבא - אייטם קטנצ’יק: לאחרונה קניתי מוניטור חדש לבית, מסך מחשב חדש - ואני משתמש בו
    • ויש בו רמקולים, במסך הזה . . . 
    • אז למעשה, את השמע (Audio) שלי אני שומע מתוך המסך - וזה יותר נוח לי מאשר לשמוע מתוך ה-Mac, שבדר”כ המכסה שלו גם סגור,  ככה שזה נשמע פחות טוב.
    • העניין הוא שכדי לשלוט על הסאונד, לשלוט על עוצמת הסאונד - ה-Mac לא עושה את זה . . . As-is, ה-Mac לא מסוגל לשלוט על עצמת הסאונד של המוניטור החיצוני, של Dell במקרה הזה.
    • אז אם משתמשים בכפתורים של ה-Volume, ה-Up וה-Down על המקלדת, הם לא עובדים . . .
      • [הוסף בדיחת “מתאם Apple לבן - רק ב-$99!“ גנרית כאן . . . ]
    • אז מצאתי איזשהו כלי שנקרא MonitorControl, שלמעשה ברגע שאתם מתקינים אותו - הוא נותן לכם את השליטה גם על ה-Control של מוניטורים חיצוניים
      • אצלי הוא שולט למעשה על השמע ועל הבהירות של המסך
    • אז זה נחמד . . . אפשר לעשות את זה מהמקלדת שלכם, או כמובן גם עם העכבר - ולא צריך ללכת לכפתורים של המוניטור ולעשות את זה, ששם זה קצת יותר מסורבל.
    • אז זהו - אם יש לכם Mac ואתם רוצים לשלוט על המוניטור שלכם, והמוניטור שלכם כרגע לא מאפשר את זה - אתם מוזמנים לנסות את MonitorControl, יכול להיות שזה יעבוד לכם . . .
    • אני כן ראיתי שזה לא תמיד תואם, זאת אומרת - זה לא תואם לכל המוניטורים, יכול להיות שזה גם לא תואם לכל הגרסאות של מערכת ההפעלה . . .
      • אז לנסות את זה בזהירות
    • זה כן משהו שהוא יחסית Low-Level וככה קצת שביר - מספיק שאיזשהו פרוטוקול קצת משתנה וזה יכול להישבר, אבל לפחות לי זה עובד, אז אני מרוצה ממנו 
    • (אלון) קודם כל - תתחדש על המסך . . . רוצו להתקין את זה . . .
    • (דותן) לקנות מסכים של Dell . . .
    • (אלון) כן . . . בחסות  . . . “פרק זה בחסות Dell!”
    • (רן) Alt + Ctrl + Dell . . . 
  • ואליך דותן . . .

דותן - 
  • טוב, האמת שבוא נמשיך בתמה המסוכנת שלנו - למי ששמע השבוע על הסיפור עם NSO . . . אני קצת מפחד לדבר על זה כי אני רוצה שנמשיך לעשות פודקאסט, אז ננסה, ככה, להיות עדינים . . .
    • (אלון) יש מאחוריך מישהו, דותן - אני רואה במצלמה . . .
    • (דותן) אז פשוט ניקח את זה בפרספקטיבה אחרת לגמרי - לא נדבר על מה שהיה, כדי שניהיה עם הטובים . . . 
    • (אלון) תגיד מה היה, לפי פרסומים זרים, למי שלא מעודכן . . .
    • (דותן) לא רוצה, אני מפחד . . .
    • בקיצור - יש פה איזשהו Framework שמישהו בנה - קוראים לזה Mobile Verification Toolkit, ובעצם המטרה של הכלי הזה זה שלוקחים טלפון ובודקים אם יש בו איזושהי רוגלה של חברה שאנחנו ממש אוהבים, או לא יודע . . . לא רוצים להגיד את השם שלה [וולדמורט?]
      • תכל’ס, מבחינה Engineer-ית, זה פשוט שם בומבסטי ל”הנה ערימה של סקריפטים שמחפשים String-ים בתוך המכשיר שלכם” . . .
    • אותו בחור  שבנה את ה-Toolkit הזה - אני חושב שהוא עובד באמנסטי, שהיא חלק מכל הפרסומים שהיו השבוע, או שהוא איזשהו פעיל זכויות אדם
    • נכנסתי ל-Repo - וכל המידע פה הוא פומבי: נכנסים ל-Repo, ויש לפי תאריכים. . . הוא בעצם מתחזק, לרוב, רשימות של Domain-ים שקשורים לכל מיני חברות שעושות, לטענתו, ריגול.
    • יש פה כל מיני מקרים - נגיד ב-2018, אותה חברה [Who must not be named], ואחרי זה במצריים משהו שקרה, ואחרי זה במרוקו, וכל מיני תקריות . . .
    • בתקרית האחרונה, יש פה כל מיני Domain-ים ואימיילים שאותה תוכנה משתמשת בהם, שבעצם אם מוצאים את הדברים האלה על המכשיר, אז אפשר להגיד שמרגלים אחריכם, או שאפשר להגיד שאתם נגועים ברוגלה.
    • ואיך שזה נראה, צריך בעצם לשלב בין שני הכלים - כאשר הוא מתחזק את שני הדברים האלה בנפרד . . .
    • חייב לומר שחיטטתי קצת ברשימה של ה-Domain-ים והאימיילים - והרשימה היא משוגעת . . . יש פה משהו כמו 1400 Domain-ים שונים שנראים לגמרי, נקרא לזה, תמימים
      • סתם לדוגמא - apigraphs.net או blogreseller.net וכל מיני דברים כאלה . . .
    • וזהו - אז מי שמתעניין, מי שחושד, מי שהוא עיתונאי . . . יכול לקחת את הכלים האלה ולסרוק את המכשיר שלו.
      • וזה מעניין לראות את הדבר הזה מכיוון של אותו ארגון זכויות אדם, איך הם רואים את זה
      • ויכול להיות גם שזה הכל שטויות, זה הכל לכאורה . . .
    • (אלון) תראה, לכאורה הם כתבו פה שיש  . . . שזה Developed בעקבות ה-”Pegasus Project”, לא יודע מה זה [Try to Google it . . . ], יש פה איזו חברה של שלוש אותיות, לא יודע
      • (דותן) אני גם לא יודע מה זה . . .
      • (אלון) מתחיל ב-”N” ונגמר ב-”O”, אבל לא יודע . . . 
      • (דותן) לא יודע, אף פעם לא שמעתי
      • (אלון) . . . הכל לפי הפרסומים פה
      • אז זהו . . . שמע - זה מעניין, אין ספק
    • (דותן) כן . . . שוב - נדגיש שזה הכל “לכאורה”.
  • ונמשיך לנושא אחר . . . האמת שנדבר קצת על Rust, ויש פה איזשהו מדען מחשב, שעשה דוקטורט - ובדוקטורט שלו הוא הוכיח את מה ש-Rust טוענת: Rust היא שפה שהיא Safe
    • כמובן, “Safe” יכול להיות בכל מיני מובנים - במאמר הזה ספציפית הוא הוכיח שהיא Safe במובן הזה שזה בולם או מונע מחלקה שלמה של טעויות מפתחים
    • אני אזכיר קצת אילו טעויות מפתחים רודפות אותנו כל החיים . . .
    • (אלון) רגע - מה החידוש בזה? כי בעצם . . .
    • (דותן) אין חידוש - הוא פשוט הוכיח את זה “מדעית”, מתימטית.
    • (אלון) אבל הייתי בטוח שזה כבר הוכח מדעית . . . זה לא הוכח מדעית עד עכשיו? כי הייתה את הטענה הזאת שזה הוכח, ש-Rust היא Safe Language . . .
    • (דותן) לא חושב שמישהו עשה על זה איזשהו מחקר אקדמאי והוכיח את זה מהכיוון הזה
    • (אלון) הייתי בטוח שכבר עשו . . .
    • (דותן) אז זה מה שוא עשה - שזה מגניב, זה מראה ש . . . 
    • (רן) אז על איזה מחלקות - זיכרון? . . 
    • (דותן) הדברים הרגילים . . . אני חושב שאחד הדברים הכואבים ביותר, והשנויים במחלוקת ביותר, זה כל ה-NULL Safety . . .
      • ואני אומר “השנויים במחלוקת” עד היום, כי יש שפות שאומרות “אין לנו NULL בשפה, יש משהו אחר” - וגם הן טועות . . . גם הן מובילות לאותו Class של טעויות בדיוק . . .
    • אז ב-Rust באמת זה Safe - וזה עובד טוב.
    • הוא קיבל גם איזשהו “צל”ש” על המאמר הזה, וכל מיני דברים טובים אחרים - ממש נחמד למי שרוצה לקבל קצת “הבטחה” עם “ה”, או לשלוח את זה למישהו שהוא רוצה לשכנע כדי שנתחיל לעבוד ב-Rust בחברה . . .
  • אז עכשיו - אייטם משוגע: אתם מוכנים?
    • (רן) כן! מוכנים, יושבים . . .
    • (אלון) רגע! רק אם אני יכול, לפני האייטם הזה, כי אני מכיר אותו קצת - למי שנוהג: לעצור בצד! להקשיב לדותן, לא תצטערו . . . תמשיך.
    • (דותן) טוב - אז האייטם הזה בא מ-Discourse, ואני חייב לומר שזו הפעם השניה שאני רואה אותם יוצאים מהמסך ונותנים לי סטירה, שזה די מדהים - ובעצם המאמר הזה הוא על איך לייצר Upload-ים יותר מהירים, Upload-ים של קבצים יותר מהירים ל-Discourse.
    • וכשחושבים על זה, וקוראים את ה-Title, אז כתוב פה Rust ו- WebAssembly וכו’ . . אז אומרים “טוב, אז הם מימשו משהו ב-Server” או, לא יודע . . . “זה Rust, אין לו VM, יש לו פיצויים מטורפים . . . בטח החליפו איזה Upload Server, כמו ש-Google עשו עם Go”.
    • אבל מה שהם עשו זה שהם בנו WebAssembly, שיושב ב-Browser, וכשאדם פשוט כמונו רוצה להעלות קובץ תמונה - הדבר הזה, ב-Client-Side, על ה-Browser, בעצם מאפטם (Optimize) את התמונה
      • בעצם, אם אני עכשיו, בא לי לעלות png. - למי שמכיר, אז יש כל מיני PNG Crushers ו-Utilities שמאפטמים png. - 
      • אז ה-png. שלי, מן הסתם, הוא לא Optimized - אני מעלה את זה ל-Discourse, מקבל Crunching  של כל הקובץ שלי, לוקאלית - משתמש ב-CPU שלי, זה לא עולה להם כלום - ואז מאיזה 2Mb אני בעצם צריך להעלות 100Kb . . .
      • וככה הם האיצו את כל ה-Uploads ב-Discourse
    • חייב להגיד שזה אחד הטוויסטים בעלילה, המשוגעים, שלא חשבתי עליהם - וזה מדהים, זהו.
    • אתם יכולים להמשיך לנהוג, למי ש . . .
    • (רן) אפשר להתניע. . . 
    • (אלון) מי שלא התעלף לנו, ממה שהם עשו . . . 
    • (רן) אז יש לך איזו פינה חמה בלב ל-Rust, ככה אני מרגיש . . . אם אני קורא בין השורות . . .
    • (דותן) ודאי - קודם כל: Rust ו- WebAssembly הם ממש קרובים . . .
      • (אלון) אחוקים . . 
      • (דותן) נכון . . . אם אתה רוצה לעשות WebAssembly ולהרוויח את ה-Benefits שלו, אז Rust זה המקום.
    • כמובן שהדורות הקודמים של זה היו עם סקריפטים וכל השיפוצים האלה, שכמובן היו חייבים לקרות כדי שהעולם יתקדם - אבל Rust נותן לך את כל ה . . . Ticks all the boxes בשביל לבנות WebAssembly שעובד יעיל וטוב
      • וגם - כל ה-Tooling שם: אם אתה רוצה לעשות את זה, אתה פשוט . . . יש לך המון כלים ש”מחבקים אותך” ונותנים לך להפיק, בסופו של דבר, WebAssembly.
  • וזהו - אז אחרי הדבר הזה, אמרתי “בוא נבדוק מה ככה, ה-State of WebAssembly”, וגם לתת למי שרוצה לנסות כמה רעיונות - אז המאמר הבא מדבר על איך מריצים Rust ב-Electron
    • תזכורת Electron זו התשתית שעליה רצים מלא . . איך נקרא לזה? “אפלקיציות מהסוג החדש”
      • כל מיני עורכי טקסט למיניהם וכו’
    • (אלון) בקיצור - Chrome . . . או “HTML-Renderers”, בוא נגיד את זה ככה . . 
    • (דותן) כן . . . בקיצור, אם אתה רוצה לבנות אפליקציה, ובא לך להשתמש ב-HTML או Java או מה שאתה רוצה, אז אתה משתמש ב-Electron
      • אני רק מזכיר את זה - היום זה די ברור כבר לכולם
    • ואם אתם רוצים להריץ שם Rust מאיזושהי סיבה, אם באמת בונים Client-Side-Up, ולא רוצים לבנות את זה בדרך המסורתית - רוצים Performance, ואת הדברים הטובים שה-User-ים מצפים להם - אז אפשר להריץ Rust פחות או יותר, שוב באותו שיטה, עם WebAssembly
    • נגיד - תחשבו על עורך תמונות, או עורך אודיו
  • עוד דבר שחשבתי שיכול להיות מגניב, באותו קו, זה איך להריץ Wasm בקלות - שזה WebAssembly - על Raspberry Pi
    • אז מי שאוהב יותר לשחק עם חומרה, זה מאמר שככה, ניגש שלזה בצורה אחרת.
  • אייטם הבא - את האמת ששמתי אותו רק כדי שיהיה לי, ככה, לצחוק, איך להלביש בדיחה: אז יש פה Windows11 ממומש ב-React laptop computerrainbowhigh voltage. . . 
    • [האימוג’ים במקור, זורם . . . ]
    • למי שמכיר את הסיפור של Windows 11 - זה סיפור בהמשכים, ונקרא לזה “הקונספט הרווח” היום שזה - סוג-של-Face-lift, וה-UI השתנה . . .
    • אז מישהו פשוט מימש את ה-UI - וזהו: בנה את זה ב-React, כמו Mock-up כזה, שמתנהג ועובד אותו הדבר.
    • נראה לי שזו הדרך היחידה שבה לא יהיה Blue-Screen בדבר הזה . . .לא?
    • (רן) הפכו את זה לירוק, לא?
    • (דותן) כן, אבל זה רץ על Chrome, אז הכל טוב . . .
    • (רן) זה מבטיח שימוש ב-CPU, זה בטוח
    • (דותן) לגמרי . . .
    • (אלון) זה יכול להריץ Chrome, בפנים?
    • (דותן) ניסיתי, את האמת - יש שם Edge, כאילו - יש שם אייקונים של Edge וכל מיני דברים כאלו . . ניסיתי ללחוץ לפחות, זה לא מגיב . . . 
      • לך תדע, אולי זה באמת ה-Windows 11 האמיתי  - זה גם לא יגיב . . .
    • (אלון) אתה יודע, יש את ההרצאה הזאת, של הבחור הזה שעושה על JavaScript ב-20-30, לא זוכר  . . . 
      • (דותן) Wat, לא?
      • (אלון) כן, הבחור של Wat  - אבל יש את ההרצאה האגדית על JavaScript ושם בסוף, מריצים . . . Browser שמריץ Browser שמריץ Browser . . . רקורסיבית
      • אז חשבתי - אולי התקדמנו לשם . . . אבל עוד לא.
      • (דותן) עוד לא . . . לא נראה לי.
  • האייטם הבא - האמת שפשוט אני אוהב Recommender systems . . . והדבר הזה קצת הפתיע אותי: זה היה נראה כמו עוד Recommender system שכתוב ב-Go, אבל זה נראה כמו Playground אחד שלם, שמשלב טכניקות מתקדמות
    • [זה נקרא gorse]
    • יש בפנים עוד כל מיני דברים מתקדמים
    • לא יודע עד כמה זה אתגר היום, הנושא הזה בתחום, אבל למי שמתעניין זה יכול להיות נחמד לנבור בקוד שם.
  • אייטם הבא - קצת הזכרנו אותו פה: פעם אני חושב ששמנו איזשהו פרויקט AI שמשבט קול - עושה Cloning ל-Voice . . . [יאפ - Real-Time-Voice-Cloning, ב-381 Bumpers 63]
    • אז יש פה עוד אחד כזה, ואת זה ניסיתי - והוא עבד ממש מגניב.
    • [זה אותו אחד מאז - Real-Time-Voice-Cloning - וגם באזכור אז ההנחה הייתה שהשימוש העיקרי יהיה להטריל אנשים בעבודה . . . Who would’ve thought  . . . ]
    • אז בעצם אפשר, תוך חמש שניות, לשבט קול של מישהו ופשוט לייצר שיחה . . . אז לא יודע מה איתכם, אני מקליט אתכם . . . 
    • (רן) זהו, אני מניח שההערה הבאה של אלון היא לא באמת של אלון . . . 
    • (אלון) נכון, זה רן הקליט אותי, ועכשיו מייצר בוט שאומר מה אני עושה . . . זה די מטורף, אתה היום באת עם כלים של חברה מסויימת, ועכשיו הכלי הזה . . . די פסיכי, הדבר הזה.
    • (דותן) לגמרי . . . שמע - תנסו את זה בבית, זה יכול להיות מצחיק
      • ואולי גם בעבודה - זה יכול להיות עוד יותר מצחיק . . .
      • (אלון) כמה מסובך זה לעבוד עם זה? טוב, בוא נראה . . .
      • (דותן) זה חמוד . . .
    • (רן) טוב - אלון . . . האייטמים שלך

אלון - 
  • יש איזו Repo ב-GitHub, שמדבר על . . .  כמו כל ה-Awesome-ים שיש? אז Awesome Engineering Management
    • הוא בעצם - יש פה לינקים, כמו כל ה-Awesome-ים - מה זה כל דבר: Agile ו-Extreme programming ו-Rapid Prototyping ו-Waterfall
    • בעצם, כל Buzzword שקשור ל-Software Management יש פה, החל מניהול ל-Process-ים לכלים, Learning . . . 
    • בקיצור, כמו כל ה-Awesome-ים, אז עשו Awesome של Engineering Management . . .
    • (דותן) יש לי בעיה, אבל, עם המילה Awesome . . . 
    • (אלון) זו מילה שמורה כבר?
    • (דותן) זה באמת Awesome
    • (אלון) אה, האם זה באמת Awesome”? . . . לא יודע, אבל זה כמו כל ה-Awesome-ים
    • (דותן) Awesome Waterfall?! . . . 
    • (אלון) האמת שלא בדקתי מה זה Awesome Waterfall . . .
    • (דותן) יש פה . . .
    • (אלון) כן . . .שתדע, אם כבר Waterfall, אז שיהיה ב-Awesome, אני אומר . . . כאילו, מה רע?
      • ואגב - אם יש לך פרויקט, נגיד, של שלוש שעות - אני ממליץ לעשות אותו ב-Waterfall, זה בלי שום בעיה.
      • זו יכולה להיות פרקטיקה די טובה - נגיד, לחלק לספרינטים של שבועיים פחות מוצלח . . . אז לפעמים זה מתאים.
    • (רן) אז יש פה, אלון, יש פה איזו חמישים נושאים שונים - הזכרנו Waterfall, יש גם Agile, יש גם Project Charter ו-Project Management Plan וכו’ . . . יש פה מלא-מלא תת-סעיפים, ולכל אחד מהם יש כלים או הסברים על איך לעשות אותם - אבל זה מלא חומר . . .
      • קראת פה משהו? מצאת פה משהו ממש שימושי ומעניין?
      • (אלון) אני חייב להגיד שלא מצאתי עדיין משהו מעניין - אבל יש פה הרבה חומר, אם מישהו כן מחפש משהו מעניין להתעמק בו . . .
      • אז יש פה רשימה שלמה, על מלא נושאים - ויכול להיות שאפשר למצוא פה משהו נחמד.
    • שמע - זה דברים די Basic, כן? . . . אבל יש פה גם Tool-ים לכל מיני דברים שמחפשים, לינקים וכאלה . . .
      • אז למי שחסר לו משהו - יכול לחפש פה.
    • (רן) אוקיי . . .
    • (אלון) נראה לי מקום טוב להתחיל, האמת . . . יש פה הרבה נושאים והרבה Tool-ים, לפעמים מחפשים Tool-ים ואתה . . . נראה לי שזה מקום לא רע להתחיל בו.
    • (רן) אוקיי . . . נקסט?
  • (אלון) נקסט! דיברת על Rust מקודם, שהוכיחו אפילו שהיא שפה Safe . . . אז עכשיו - תמיד אנחנו מדברים על זה שזה מגניc לכתוב ב-Rust, אבל עד שאתה מסיים לקמפל (Compile), אתה כבר יכול לכתוב את זה מחדש ב-Go . . .
    • אז עכשיו יש פה מאמר שמסביר ש-Compiling Rust is NP-hard, שזו בעיה NP קשה . . . . 
    • אז זה אכן קשה לקמפל את השפה - ובגלל זה לוקח לזה זמן . . .
    • (דותן) שמע, אותי לימדו שבחיים, מה שבזול - ביוקר . . .
    • (אלון) אותי לימדו “קשה יש רק בלחם, ו-NP קשה - אז גם את זה אוכלים”.
    • אז יש פה מאמר, שהאמת הוא לא ארוך, הוא די קצר . . . לא רק שהוא לא ארוך, הוא אפילו די קצר, על ש- Compiling Rust - למה זה NP Hard
      • על החוקים, על ה-Safety, על ה-Boolean, כל מה שצריך לעשות - והוכחה שזה NP-קשה . . .
    • אז אולי כשיהיו לנו מחשבים קוונטיים, או משהו כזה, או שמישהו אחר יוכיח ש P = NP, אז נוכל לקמפל Rust מהר . . . אבל עד אז, אנחנו בבעיה.
    • (רן) יכול להיות ש-P = NP, זה במקרה ש N=1 או ש P=0 . . . 
    • (אלון) כן, אבל יש את המקרה הכללי, שעוד לא הוכיחו.
    • (רן) בכללי אני לא מתחייב . . . אבל בשני המקרים האלה כן.
    • (אלון) כן, גם באפס, באפס הכי טוב . . .
    • (דותן) מה שמאכזב זה שה-Comment-ים לא תפסו . . . יש Comment-ים, אנשים מתחילים להגיד לו שהוא לא צודק וכאלה, אבל זה לא ממש . . .
    • (אלון) הוא מתעלם . . . זה בסדר, דיקטטור טוב, ככה דיקטטור צריך לעבוד - אני לא מצליח להבין מה הבעיה . . . 
    • (רן) אבל בוא, בינינו - יש הרבה בעיות NP קשות שעובדים איתן ביום-יום, זה לא פוסל את הבעיה מלהיות פתירה.
      • אולי אי אפשר לפתור אותה, עקרונית, בזמן יעיל כשיש הרבה מאוד דאטה, אבל תכל’ס - ביום-יום, אנחנו כולנו עוסקים ופותרים בעיות שגם הן מוגדרות כ-NP קשות
      • או שעושים את זה בצורה, אולי, לא יעילה, אבל עדיין פותרים
      • או שמוצאים כל מיני יוריסטיקות (Heuristics), ופותרים אותן בצורה מקורבת - אבל עושים את זה כל היום.
    • (דותן) ובנימה רצינית - הוא בנה פה איזשהו Extrema case - מעיין Code base כזה, שהוא מכניס את ה-Compiler ל-Loop-ים - 
      • זה קיים, כי יש ב-Rust גם Macro-ים, וגם Proc-Macros, שזו אבולוציה, או “גרסא יותר נאורה” של Macro-ים, אין ספק שאפשר לעשות את זה
      • אני יכול להגיד שבאמת, אם מישהו ברצינות רוצה לראות זמני קומפילציה (Compilation time), אז עוד מעידן ה-Blockchain התחילו לעבוד ב--Rust מ-Day Zero, ויש פרויקטים ענקיים, שהם Fully Open Source ואפשר לראות כמה זמן לוקח להם להתקמפל - והם בנויים ב-Rust.
    • (אלון) בסדר . . . לא אמרנו שזה שמשהו קשה, אז בסדר . . . מתמודדים.
  • אז הדבר הבא שרציתי זה איזשהו Framework שנקרא Fluvio - זה Programmable platform for data in” motion”
    • בקיצור, זה Real-time Data Streaming Framework - כן, Yet another one - שכתוב ב-Rust
      • הוא ב-Beta, או אפילו ב-Alpha - ממש בחיתולים.
      • זה Open-Source
    • אבל הוא . . . קודם כל, מזמן לא נתקלנו במשהו מודרני שהוא לא יוצא Apache, אני חושב, וזקן כזה, מעצבן . .
      • לזכרוני, גם כולם כתובים בסוף ב-Java, או ב-JVM כלשהו - וזה כתוב ב-Rust, אז זה שינוי מרענן.
    • פרויקט סופר-צעיר, לא יודע אם יצא ממנו משהו - אבל אהבתי שהתחילו עם זה עידן חדש . . . לא יודע אם הפרויקט שווה משהו.
    • (רן) אז זה משהו בסגנון של, נגיד -Kafka Streams, או משהו כזה? לעשות חישובים על Stream-ים של דאטה?
    • (אלון) כן - זה מה שאני מבין מהפרויקט הזה, שזה “A New Kafka” . . .
    • (רן) אוקי, מעניין . . .
    • (אלון) !Don’t write in Production - אפילו הם בעצמם רושמים שזה אלפא או בטא או משהו כזה
      • אבל כ-Concept זה מגניב, ולפרויקטי-צד וכאלה זה יכול להיות אחלה, במיוחד עם חיים ב-Ecosystem של Rust
      • למשהו עם מערכות קטנות, במקום להתחיל להתעסק עם איזה Kafka
      • אבל - Use it wisely . . . לא הייתי מעביר עכשיו את כל ה-Kafka שלי לשם, בוא נגיד את זה ככה.
      • ורשום אלפא! בסדר, אנחנו אוהבים אלפא . . . אלפא זה טוב.
  • טוב, הדבר הבא שרציתי - Dropbox פרסמו את ה-Dropbox Engineering Career Framework שלהם
    • זה בעצם רישום מאוד מאוד מפורט של כל הדרגות של המתכנתים, SREs, Security Engineers  . . . בקיצור - כל מה שקשור ל-R&D בצורה כלשהי
      • כל הדרגות שלהם - מ-IC1 ועד IC7, נגיד ב-Software Engineer
      • בעצם - פירוט של מה נדרש, ממש בפרטים מדוייקים, מכל דרגה - מה הוא צריך לעשות, מה ה-Impact שלו, מה ה-Ownership שלו, Decision Making, ה-Direction, ה-Talent, ו-Culture ו-Craft . . . .
      • זה מפורט ברמות  . . .
      • (דותן) משוגע . . .
      • (אלון) כן, ממש משוגע.
    • עכשיו - קודם כל, זה חושף קצת איך . . . מה הולך בפנים ולמה הם מצפים מאנשים, 
      • אז אם מישהו הולך לחברות גדולות, אפשר להבין את הכיוון הכללי.
    • למי שרוצה לבנות Framework לקידום, אז אפשר לקחת מפה חלקים ולבנות משהו - כי הוא ממש מפורט
      • מן הסתם - זה Enterprise Level, אבל אני חושב שאפשר לגזור מפה הרבה דברים יפים.
    • וגם - מי שבא לעבוד בחברה יכול להבין בערך איפה ה-Level  שלו, אם הוא IC4 או IC5 או IC6 . . . 
    • (רן) אני חושב ששווה להגיד, למי שאף פעם לא עבד בחברה כזאת גדולה - מה המשמעות של ה-Level-ים האלה . . .
      • אז (1) זה משהו שנפוץ בחברות גדולות, אז מן הסתם תראו את זה ב-Facebook וב-Microsoft וב-Google ובהרבה מאוד חברות גדולות אחרות.
      • דרך אגב - אני ראיתי כאלה פנימיים של Google, וזה נראה די דומה, זאת אומרת, מבחינת הנפח - 
        • זה באמת ארוך ומתיש ומאוד מאוד מפורט - אבל בצדק, כי יש פה הרבה מאוד דברים שצריך להבהיר.
      • עכשיו, המשמעות של “הדרגות" האלה - נקרא לזה ככה, כל חברה קוראת לזה קצת אחרת, אבל נקרא לזה “דרגות”, רק לצורך הפשטות - זה (1) הן באות ואומרות מה מצופה ממך לעשות ו-(2) הן קובעות את ה-Compensations שלך . . . בדרך כלל התשלום יתאים ליכולות שלך.
      • ופה יש איזושהי דרך פורמלית לבוא ולהגיד כמה צריך לשלם לך, בגדול.
      • עכשיו, נכון - יש משחקים, יש טווחים . . . גם בתוך כל דרגה - אבל סביר להניח שרוב ה-IC2, יהיה להם Compensations יותר גבוה מרוב ה-IC1, אוקיי?
      • אז באופן כללי, כשאתם מתגייסים לחברה כזאת גדולה, אתם צריכים להבין לאיזה Slot אתם נכנסים . . . ואחר כך, לאורך החיים שלכם [בחברה], אתם כמובן יכולים להתקדם למעלה ולקבל Slot יותר גבוה, דרגה יותר גבוהה.
    • (אלון) כן - ולכל דרגה כזאת יש, כמו שאמרת, “טווח מחירים” - מ-X ל-Y - אז כן, יכול להיות שמישהו בדרגה 2 ירוויח יותר ממישהו בדרגה 3, כי המינימום של 3 הוא קטן מהמקסימום של 2 - אבל הממוצע הוא הרבה יותר גבוה.
      • לא יודע אם הרבה יותר גבוה, זה תלוי בדרגה - אבל הוא יותר גבוה.
    • (רן) כן, ודרך אגב - זה קצת מתקשר לאחד מהאייטמים הראשונים ששלחתי, לגבי ה-Interview Book, ששלחתי רפרנס אליו
      • אז שם, למשל, (א) יש שם איזשהו פירוט של דרגות - נגיד, השוואה בין דרגות, ב-Phase של Data Scientists במקרה הזה, אבל של דרגות . . . ב-Facebook וב-Microsoft וב-Google - לכל אחת מהן יש שמות שונים לדברים האלה, תלוי  . . . 
      • לא תמצאו חפיפה - אין איזשהו סטנדרט בתעשייה . . . אבל כן יש שם איזשהו ניסיון להשוות בין השמות, לצורך העניין ה-”Facebook-יים”, ה-”Microsoft-יים” וה-”Google-יים”, של הדרגות השונות
      • ו-(2) - הם מראים, באופן מאוד מובהק, שה-Compensation משתנה לא רק בסה”כ - אלא גם ההרכב של ה-Compensation משתנה לאורך הזמן
        • לצורך העניין, אם אתם מתחילים יחסית צעירים בתוך חברה - רוב ה-Compensation שלכם זה משכורת, אוקיי? משכורת וקצת אופציות
          • זה כמובן תלוי בסוג החברה, אבל באופן כללי זה ככה.
        • וככל שהזמן עובר, וככל שאתם ניהיים יותר ותיקים, ה-Balance הזה משתנה, וזה מגיע למצב שבו חלק משמעותי מאוד מה-Compensation שלכם זה אופציות או מניות - וזה לפעמים גם יותר גדול מהמשכורת עצמה, אוקיי?
      • וזה משהו שרואים בעיקר בחברות גדולות, אבל זה יכול . . . זאת אומרת, המידע העקבי נמצא בעיקר מהחברות הגדולות, זה כמובן יכול להיות בכל מקום, אבל מידע עקבי - יותר קל לאסוף אותו מחברות גדולות
        • ושם מאוד מאוד ברור שהרכב ה-Compensation משתנה ככל שהזמן עובר, וזה הופך להיות יותר ויותר “מנייתי” ופחות משכורת.
      • זה על סמך מידע שיש לנו מארצות הברית . . . אני מנחש שבישראל זה משהו שהוא דומה, אבל קשה . . . זאת אומרת - אין לנו מספרים מדוייקים על ישראל, לפחות לא לי.
    • (אלון) תודה על ההבהרה . . .
    • (אלון) טוב, נראה לי שמיצינו . . . זה אמנם על Dropbox, אבל זה מייצג כנראה כל Corporate גדול - Google, Facebook, Microsoft וכו’.
  • (דותן) רק הוספתי לך, ככה, אייטם Response לזה - זה הזכיר לי, השבוע . .  יש לי חבר בשם אדיר, בחור מאוד מוכשר, שפרסם בעברית סוג-של-וידאו-כזה, על Hiring בהיי-טק - משהו מצחיק
    • (רן) גדול . . . ראיתי את זה היום, באמת שכחתי לשים . . .
    • (אלון) אבל זה צריך להיות במצחיקולים  . . . אני הייתי רציני!
    • (דותן) תראה . . . הייתי חייב, אחרי כל הסולמות והזה, הייתי חייב רגע . . .
    • (אלון) רגע . . . אני חושב שאתה לא הבנת - המצחיקולים זה אחרי זה, ואם חשבת שאני צוחק עד עכשיו, אני נורא נעלבתי . . .
    • (דותן) אה, הבנתי, זה לא היה, כאילו . . . 
    • (אלון) לא, זו לא הייתה בדיחה, זה היה רציני . . . אני עכשיו אשב בצד, אכבה את המיקרופון ואעבוד בחושך.
    • (רן) שמתי גם במצחיקולים, מספיק עם ה . . . 
    • (דותן) סולמות ונחשים . . .
    • (אלון) אני מבקש מהעורך להזיז את הקטע הזה למצחיקולים!
  • (אלון) הדבר הבא - וידאו, על משהו שיכול להיות שאני היחיד בעולם שלא הכיר אותו - וזה הגיוני, למרות ששלחתי למישהו והוא גם לא הכיר אותו, אז לפחות שניים . . . זה נקרא Connected Sheets
    • וזה בעצם - למי שיש BigQuery בארגון, ואז רוצים להתחיל להוציא Queries ולהתחיל לתשאל ולהוציא דוחות, ואז אתה רוצה איזה Engineer או איזה איש BI שישב ויוציא דוחות . . 
    • אז מסתבר שיש דרך ממש פשוטה לחבר בין BigQuery ל-Spreadsheet  . . . 
    • בצורה די מטורפת, שדי מפוצצת את המוח - ואתה לא צריך לתכנת כלום: הוא פשוט מעביר את המידע: אתה בוחר את ה-Data-set, הוא עושה את ה-Query - ואתה עושה את כל החיתוכים והכל ב-Spreadsheet
      • זה הופך את זה שכל מי שיודע לעשות עם Excel או Spreadsheets, פתאום יודע לעשות את כל ה-Queries שלו ב-BigQuery - ולא צריך שום מהנדס . . .
    • לדעתי, זה ממש פסיכי וחוסך . . . למי שיש להם בארגון מפתחים שמתעסקים, או לא יודע - BI, לא יודע איך לקרוא ל-Title הזה - שמתעסקים ב- Queries ולהוציא לכל מיני גורמים אחרים בארגון חיתוכים של BigQuery - שווה להסתכל על זה, כי יכול להיות שאפשר להזיז כוח אדם למשהו אחר . . .
    • ויש גם ככה מצוקת כוח אדם . . .
    • זהו, לי זה די פוצץ את המוח, אבל יכול להיות שכולם הכירו את זה.
    • (דותן) זה נראה . . . פרסמו את זה באפריל 2020, אז זה יחסית חדש
    • (אלון) כן . . . זה, כאילו, כל כך פשוט שאמרתי “בוא, זה בטח כולם  . . . זה היה שם קודם”, אבל זה סרטון של שבע דקות שמראה מה אפשר לעשות שם - 
      • הם לקחו את Uber, לדעתי - Demand, ובערים וכל מיני כאלה, לא זוכר בדיוק - וזה מרשים, מרשים מאוד.
    • אז מומלץ לכל מי שיש BigQuery

(רן) זהו - וזה סולל את דרכנו היישר למצחיקולים . . . כמו שהבטחנו יש כמה להיום:
  • אז האייטם הראשון - אני בטוח שלכל מי שכאן מאזין לפודקאסט, וכל מי שמשדר בפודקאסט, יש ניסיון של לפחות חמש שנים של שימוש בכלי שנקרא Infinidash
    • זהו כלי מבית היוצר של AWS, שהתחיל כבדיחה - ובעצם המשיך כבדיחה . . .  Infinidash זה כלי מומצא, לא קיים, דימיוני - שעוזר לך לעשות הכל יותר טוב, הכל יותר מקצוע, בגדול . . . הכל.
    • זהו איזשהו Framework . . . 
    • (אלון)הם לא אמרו מה . . . הם אמרו פשוט שהכל יותר מקצועי ויותר טוב . . . 
    • (רן) אז בגלל זה אני לא זוכר . . .
    • זה פורסם כבדיחה, אבל כמו שמפרסמים מדי פעם בדיחות של 1 באפריל, אז נותנים לזה כאילו מסכת רצינות
    • ולאט-לאט הקהילה תפסה, והתחילו לפתח Eco-system מסביב לזה . . .כלים שונים ו-Open-Source-ים שמשתמשים ב-Infinidash או עושים לו כל מיני תוספות . . . בקיצור, גדלה קהילה שלמה מסביב לזה.
    • ובאיזשהו שלב זה היה נראה ממש כמו משהו מאוד מאוד רציני . . . היו Job Descriptions שמכילים ניסיון ב-Infinidash וכו’. . . 
    • אז קישרתי פה כמה דברים - יש לא מעט תוכן על הרשת, קישרתי פה לפוסט ב-ycombinator ואיזשהו Twitt נחמד של Corey Quinn - יש לא מעט תוכן על זה, על Infinidash, אז אני ממליץ.
    • זה Framework מדהים - אני ממליץ ללכת ולהשתמש בו אתמול.
    • (אלון) כן . . . אז Signal מחפשים מפתחי Infinidash . . . זה תפס תאוצה, מי שיש לו ניסיון ב-Infinidash מוזמן.
      • אני רק רוצה לציין, באותה נקודה, שאני כבר מכיר פודקאסט בעברית, מפורסם, שפעם עשה 1 באפריל ואחרי זה אנשים חשבו שכל מיני דברים קרו בתעשייה, שלא קרו, ואז היו התכתבויות נאצה על חלק מהדוברים בפודקאסט . . . 
      • (רן) חכו לאפריל כקרוב . . . 
      • [וורנר עוד יעלה לארץ, אתם עוד תראו]
  • והיום יש לנו איזשהו נושא חביב, שנקרא Correlation ו- Causation: מי לא מכיר את המתח שבין Correlation ו- Causation
    • אז האייטם הראשון - שלך, אלון:
    • (אלון) יש! . . . ניסו להסביר כאן Correlation ו- Causation, אז לקחו את כל כוכבי הלכת במערכת השמש שלנו, ובדקו כמה מתו . . . כמה אנשים מתו בכל כוכב
      • אז בכל כוכבי הלכת המספר הוא אפס - ובכדור הארץ זה בערך 120 מליארד איש עד היום . . . 
      • [לא חשדתי]
      • ואז [ואז!] עשו עם זה הצלבה עם באיזה כוכב לכת משתמשים ב-JavaScript
      • ויצא שרק בכדור הארץ . . .
      • [פה חשדתי!]
      • ולכן - כנראה ש-JavaScript גרם למותם של 120 מליארד איש . . . 
    • (רן) כן, הקורלציה פה מובהקת, ולכן גם ה”קוזציה”, אם יש מילה כזאת בעברית . . . [סיבתיות]
    • כן - כאן שמעתם את זה לראשונה: JavaScript אחאי למותם של כ-120 מיליארד אזרחי כדור הארץ . . . 
      • בהחלט, משכנע
      • [ולמי שלא השתכנע - בטקסט יש גם תמונות, אז זה בטוח נכון:]
  • אז נלך למשהו קצת יותר “מעונב” - xkcd, שבא ומראה שתי דמויות, אני אתמלל לכם, וגם תוכלו לראות את הציור כמובן בבלוג [בלוג!] שלנו [הטבה בלעדית, רק למי שקורא פודקאסטים . . .]:
    • שני אנשים באים ומדברים
    • אחד מהם אומר: “פעם חשבתי שקורלציה .  . . I used to think that correlation implied causation“
      •  . . . שקורלציה הינה “קוזציה” [סיבתיות]
    • “אבל אז לקחתי קורס בסטטיסטיקה - ועכשיו אני כבר לא חושב ככה”
    • אז עונה לו החברה - “אז נשמע כאילו הקורס עזר . . .”
    • אז הוא אומר “טוב, לא בטוח”
    • סטאגאדיש!
    • (אלון) תלחץ על האפקט של התופים . . . 
    • (רן) לגמרי . . . 


יאללה, חברים - תודה רבה, נעמתם לנו מאוד, נתראה בפעם הבאה . . . 

 האזנה נעימה ותודה רבה לעופר פורר על התמלול!