יום שלישי, 8 בדצמבר 2020

399 Bumpers 70

חדש! ביום רביעי 16 בדצמבר נקיים ״הכה את המומחה״ או ״שאל אותי כל דבר״ AMA עם דותן, אלון ואני בדיסקורד פה https://discord.gg/cJYX7f2j, מוזמנים להאזין, להצטרף ולתחיל כבר לשאול שאלות מראש. 

פרק מספר 399 (!) של רברס עם פלטפורמה - באמפרס מספר 70 (!!).
באולפן (הוירטואלי) רן, דותן נחום ואלון נתיב - בוקר טוב, מלא זמן שלא הקלטנו, ובדרך עוד היה לנו כנס: Reversim Summit 2020, שאליו נרשמו מלא אנשים וצפו בוידאו מלא אנשים - מקווה שהייתם שם, וגם אם לא אז אתם מוזמנים ללכת ולצפות, כל ההרצאות זמינות עכשיו ב-YouTube, פשוט לכו ל-Reversim Summit 2020 וחפשו את ההקלטות או פשוט חפשו ב-YouTube את ה-Playlist, זה גם פורסם ברשתות השונות וכל זה, בקיצור - קל למצוא.
נגיד בהזדמנות זו תודה לכל המודרטורים (Moderators), כולל דותן שלקח חלק במאמץ הזה, וזהו:
היה בסך הכל מאוד מוצלח, פעם ראשונה בעצם שאנחנו עושים כנס וירטואלי - 
  • היו בסך הכל משהו כמו 12 הרצאות בשישה טרקים (Tracks) שונים
  • עשינו את זה במשך שלושה ימים ברצף
  • ה-Q&A היה מאוד צפוף ומעניין, היו הרבה מאוד אנשים שהגיעו ופתחנו את זה ככה גם לשיחה פתוחה באחד הימים שפשוט לא נגמרה . . . היה כיף.
  • מקווה שבפעם הבאה ניפגש פנים אל פנים, אבל עד אז - נמשיך במסורת ה-Zoom.

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


רן - 
  • ואולי ככה מעניין לעניין באותו עניין - קצת עדכונים מהרשת על עבודה מרחוק בחברות השונות, שני עדכונים קטנים שיצא לי לתפוס בחודש-חודשיים האחרונים - 
    • הראשון - Dropbox מכריזה שהם עוברים למדיניות של Remote Work - לתמיד
      • מה שהם עושים בעצם זה הופכים את כל חללי העבודה שלהם לסוג של חלל עבודה משותף, זאת אומרת - לא יהיו שולחנות קבועים, לפחות לפי ההכרזה או הכתבה ב-Business Insider.
      • סוג של WeWork (כביטוי): מרחבי עבודה שאתה יכול להגיע אליהם - אבל אתה לא מחוייב להגיע אליהם - במשרדים השונים, כשאתה יכול לעבוד מהבית מתי שאתה רוצה.
    • האמת היא שלהרבה חברות יש חדשות בתחום הזה, ממש הבאתי מקבץ מאוד קטן - חדשה נוספת מחברה גדולה אחרת כמו  Microsoft, שגם הם מכריזים על Policy רשמי של Remote work
      • בו הם אומרים “אתם יכולים לעבוד עד 50% מהזמן מהבית - ובאישור מנהל אפילו ב-100% מהזמן מהבית.
    • יכול להיות, דרך אגב, שזה כבר השתנה, אני יודע שדברים משתנים כל הזמן - אבל בגדול רק רציתי לבוא ולהראות את המגמה, שחברות נפתחות יותר ויותר לסיפור של Remote Work, ולא רק בהקשר של הקורונה.
    • זאת אומרת, מן הסתם עכשיו יש אילו-שהם אילוצים - אבל הם גם מדברים על העתיד, לא מדברים רק על הקורונה אלא מדברים גם על העתיד.
    • דרך אגב, יצא לי לדבר עם חבר שנמצא עכשיו בסאן-פרנסיסקו, והוא אומר שהעיר ממש “מתה” - הכל סגור: 
      • מסעדות סגורות, חנויות סגורות, 
      • כל האנשים עובדים מרחוק - לא רק עובדים מהבית אלא ממש נסעו למקום אחר
      • השכירות בעיר ירדה ב30% - לפי מה שהוא אומר, לא באמת בדקתי את הנתונים סטטיסטית - אבל בהחלט מרגישים את השינוי: העיר הפכה לכמעט “עיר רפאים”.
    • זה מעניין - אני מניח שזה לא ישאר ככה לתמיד, אבל אני חושב שזה טרנד מעניין והוא בהחלט מורגש.
    • האמריקאים כנראה תמיד מגיבים מהר, ואולי לפעמים מגיבים, ככה, “בתגובת יתר”; הישראלים מגיבים קצת יותר לאט, אז אצלם אולי הדברים ילכו קצת יותר לאט - 
      • אבל בכל אופן, אני חושב שזה שינוי משמעותי שאני חושב שאי אפשר להתעלם ממנו.
    • (דותן) יש לכם מושג מה עושים עובדי Microsoft, שצריכים להתעסק עם חומרה? בדיוק אני חושב על זה . . .
    • (אלון) אני שמעתי על אינטל . . . אני יכול להגיד לך שבאינטל, מה שקרה הוא שבנו להם “מעבדה בבית” . . .
      • (דותן) באמת?
    • (אלון) אנשים הפכו את המטבח למעבדה, עם כל “הציוד המכאני הכבד”, ציוד לפעמים באיזה $100K שיושב להם בבית, לבדיקות . . . אני לא יודע איך Microsoft, אבל אני יודע שבאינטל, חלקם לפחות, עושים בבית.
    • (דותן) גם פה יש איזשהו סימן שאלה של . . . תכל’ס, בית זה שטח פרטי, ועכשיו לקחת לי חדר מהבית, שזה יכול להיות מאוד יקר לאנשים . . .
    • (רן) אני שמעתי, אני חושב שבהולנד או מדינה אירופאית אחרת כלשהי . . . אולי זה היה גרמניה? מציעים למסות את המעבידים ב-5%, או משהו כזה, על כל עובד מהבית - זאת אומרת: לא למסות את העובדים עצמם, אבל למסות את המעביד, כאילו הוא “מרוויח” נדל”ן, אז בוא תשלם על זה איפשהו במקום אחר.
      • זה מעניין - מעניין איזו חקיקה או איזה מיסוי חדש הולך להיות על כל הסיפור הזה . . .
    • (דותן) זה כאילו פותח לי איזושהי תיבת פנדורה . . . נגיד שיש לך ציוד כזה בבית - מה קורה אם הילדים נוגעים בציוד הזה, או חס וחלילה תאונה - מה קורה עם הביטוחים? אם אתה Apple, ומישהו פורץ לך לבית ולוקח את הדגם של ה-iPhone הבא  . . . וואו, זה מטורף.
    • (אלון) אני מאמין ש-Apple לא . . . במדיניות שלהם הם לא יעשו את זה מהבית . . . זה אני מאמין שלא יהיה
    • (רן) Amazon השקיעו, בזמנו, כבר ממש בתחילת המשבר, הם השקיעו הרבה מאוד בסניטזציה (Sanitization) של (בשביל) העובדים שלהם - אז עדיין לא דובר על חיסונים, אבל הם הכריזו על סכום, אני לא זוכר מה היה הסכום אבל זה היה סכום מאוד גדול, משהו כמו $100M או אפילו יותר מזה - בבריאות של עובדים ושמירה על הבטחון שלהם וכו’.
  • ומעניין לעניין באותו עניין (II) - אם כבר דיברנו קצת על Microsoft, אז Guido van Rossum, הידוע לנו מתהילתו כיוצר של Python וה”דיקטטור-לעד” - איך אומרים את זה? ה - Benevolent Dictator For Life של Python? - שכזכור לכם מפרקים קודמים של העלילה (לפני 20 באמפרים) התפטר מהתפקיד שלו כ”הדיקטטור-לעד-של-Python” ואמר “אוקיי חבר’ה, הספיק לי - אני יוצא לחופשה”
    • אז מסתבר שהספיק לו מהחופשה הזאת ועכשיו הוא חזר לעבוד - והוא חזר לעבוד ב-Microsoft.
    • הוא למעשה הודיע שהוא התגייס לעבוד בשורות Microsoft, הוא הולך להמשיך לעבוד על Python ולשפר את השפה ואת הכלים של השפה, תחת המטרייה של Python (של Microsoft)
    • וזהו - חדשות מעניינות, יכול להיות שפשוט היה משמעם לו לעשות בטן-גב, או שהוא החליט שהספיק לו, והוא חייב עכשיו לבוא ולהשפיע . . . 
    • מעניין איך הקהילה תגיב לכל הסיפור הזה, אני עוד לא ראיתי תגובות מהקהילה, רק ראיתי את ההכרזה שלו ושל Microsoft
    • אתה זוכר בטח שבפרקים קודמים יצא לנו לדבר על “אוקיי - מה עושים עכשיו, אחרי שהוא פרש?”’ וכבר קמו מנהיגים לקהילה - אז מה יקרה עכשיו כשהוא חזר? מעניין, נראה מה יהיה.
      • (דותן) אפשר לעשות מזה סדרה . . . זה נראה מהטוויט שלו, שעכשיו אני קורא את זה בתוך המאמר שבלינק, שהוא אמר פשוט שמשעמם לו . . .
      • (רן) כן - הוא אמר שמשעמם לו, “בואו תנו לי כסף ואני אעבוד” או  משהו כזה . . .
      • (אלון) לא, הוא אמר משהו יותר מעניין - הוא לא בדיוק אמר . . הוא אמר “אני לא יודע מה אני אעשה, אבל זה יהיה קשור ל- Python” - הוא לא בדיוק אמר “אני חוזר להנהיג את השפה”.
      • (רן) נכון
      • (אלון) “אני אעשה משהו כדי לקדם את הקהילה של Python”, אבל זה היה די מעורפל כזה של “אני לא בהכרח חוזר להוביל את הקהילה”.
      • (דותן) הנה - הוא עושה ממש עכשיו Twit מעניין - azure.pythonlabs.com - ואז הוא כתב “למדתי לעשות משהו ב-Azure” . . .
      • (אלון) דותן - הפרק של 1 באפריל? אז בדרך כלל אנחנו מקליטים אותו ב-1 באפריל . . .  נשמע לי שצריך לחתוך את זה . . .
      • (דותן) אה, נכון . . . נשמור את זה.
        • ד”ש ל-Werner Vogels.
  • (רן) נושא אחר לחלוטין הפעם - Application Load Balancers for gRPC
    • בעצם AWS מכריזים על תמיכה ב-HTTP2 וב-gRPC, תחת ה-Load balancer שלהם, שזה בעצם Feature שאני חושב שהרבה זמן חיכינו לו.
    • בעצם gRPC עובד מעל פרוטוקול שנקרא HTTP2, שזו הגרסא המתקדמת יותר של HTTP, עם פיצ’רים שונים - יש הרבה דברים שונים בין HTTP ו-HTTP2, ועד עכשיו ה-Load Balancers של AWS תמכו ב-TCP וב-HTTP1 או ב-HTTP1.1, אבל לא ב-HTTP2
    • עכשיו הם למעשה תומכים ב-HTTP2 וב-gRPC שרוכב עליו - וזה נחמד, למי שצריך . . . 
    • לא תמיד צריך - אם זה gRPC שנמצא בתוך ה-Datacenter, ואתם לא בהכרח רוצים להכניס Load Balancer בפנים,
      • אבל אם זה משהו שמגיע מבחוץ, או לפעמים, במקרים מסויימים, בתוך ה-Data Center - אז זה Feature מעניין שאני חושב שנמצא לו שימוש.
  • ובעניין אחר לגמרי: תורים ישראליים - כולם מכירים את המושג הזה של “תור ישראלי”, כזה שאם אתה מוצא חבר בתור אז אתה מקודם אוטומטית קדימה?
    • אז מסתבר שזו לא רק אנקדוטה ישראלית, אלא שממש יש מבנה נתונים כזה שנקרא “תורים ישראליים”
    • נתנו לזה אולי שם קצת יותר פוליטיקלי-קורקט, אבל השם החביב הוא “תורים ישראליים”, ופה אני מצרף איזשהו מאמר, שמסביר את המוטיבציה למתי נצטרך “תורים ישראליים” כאלה
      • כשאתם רוצים לצוות כמה Work Items ביחד, כשזמן ה-Setup של כל אחד ארוך . . .
    • אז הוא בא ואומר “אוקיי, יש תורים, ויש גם Priority Queues - אבל לפעמים יש Work Items שהסוג שלהם דומה” - נגיד שאתם רוצים לעשות איזשהו Setup ל-Web Scrapper, או לאיזשהו עיבוד של Data שהוא מאסיבי, ואתם רוצים לעשות Setup מיוחד, אז עדיף לכם לצמד כמה Work Items מאותו סוג ולעבוד עליהם ביחד - ובשביל זה תורים ישראליים, תורים שבהם אתם מצמדים את ה-Work Items לפי הסוגים שלהם, כשהסוגים הם לכאורה “חברים” - תורים כאלה יכולים להיות מאוד יעילים.
    • אז זהו - מאמר נחמד, עם הרבה תרשימים, ובעיקר שם חמוד - “תורים ישראליים”.
    • (אלון) אגב - זה ממש לא חדש. . .  
    • (רן) לא, זה לא חדש - רק ההצגה של זה כמדע פופלארי והשם היפה הזה של “תורים ישראליים” - זה כן נחמד.
    • (דותן) אני פשוט רואה פה מאמר של שני חבר’ה ישראליים - ניר פרל ואורי יחיאלי, מאוניברסיטת תל אביב - שנקרא The Israeli Queue with Priorities, שהוא עושה לו רפרנס 
      • זה המאמר שכאילו נתן את השם, או שזה בא אחרי שכבר יש את הדבר הזה?
      • (רן) אני לא יודע היסטורית, פשוט נתקלתי בבלוג-פוסט הזה, ואני מסכים שזאת לא עבודה חדשה ולא קונספט חדש, זה נכון, אבל פשוט בלוג-פוסט שמסביר את זה בצורה נחמדה, קצת הומוריסטית וקל לקריאה.
      • (דותן) מעניין
  • (רן) ובעניין אחר - הפעם איזושהי כתבה שפורסמה ב-Geektime, קצת משעשעת, על מהנדס בריטי שהחליט לפתוח חברת ייעוץ ולקרוא לה בשם, שימו לב - “”><SCRIPT SRC=HTTPS://MJT.XSS.HT> LTD”
    • בקיצור - ניסה לעשות Cross sites Script Injection באמצעות השם של החברה . . .
    • (דותן) מדהים . . .
    • (רן)  . . . מתוך מחשבה שאם מישהו . . .אולי רשם החברות הבריטי לא יפול בפח, אבל בכל מקום אחר שהדבר הזה יוצג, יכול להיות שהוא ייצר Cross Site Script Attack.
    • אבל זה לא הלך לו . . . אז קודם כל היה לו אחלה חוש הומור, אבל רשם החברות הבריטי כנראה היה מספיק עירני ועצר אותו - אבל הרעיון נחמד.
    • בסופו של דבר הוא שינה את השם פשוט לשם של “החברה שהיה לה Script HTML ורשם החברות סירב” - וזה השם של החברה, פחות או יותר.
    • סתם, סיפור ככה משעשע, וזה כמובן מזכיר לנו את הסיפור על Little Bobby DROP TABLE (כמובן עם קישור ל-xkcd)
      • אחזור על זה, כיוון שזה משעשע - 
        • מנהל בית הספר מתקשר לאמא ושואל “הי! זו אמא של בובי? הייתה בעיה קטנה במחשב . . . “
        • “מה בובי שוב שבר?”
        • מנהל בית הספר עונה “זה לא שהוא באמת שבר משהו, אבל  . . . האם באמת קראת לבן שלך Robert’); DROP TABLE Students;-- ? . . .”
        • אז היא אומרת “כן, כן - אנחנו קוראים לו Little Bobby Tables” . . . 
        • המנהל אומר “רק שתדעי- כל טבלת הסטודנטים של השנה האחרונה נמחקה, אני מקווה שזה ילמד אותך לא לקרוא לילדים שלך בשמות כאלה”
        • אז היא עונה לו בחזרה - “אני מקווה שזה ילמד אותך לקח, לפעם הבאה לסנן את ה-Inputs שלך” . . .
    • כן, אז זהו - xkcd משעשע . . .
    • (אלון) היה אגב, באותו הקשר, מישהו שהשם משפחה שלו NULL, או  . . . וב-SOA, מה שהיה עם ה-Web Services, היו מעבירים XML, והייצוג של NULL היה פשוט לרשום String NULL . . .
      • (רן) זה היה ב-SOAP לדעתי . . .
      • (אלון) כן, נכון, ב-SAOP - ואז כאילו אני זוכר שזה לא עבד באיזה משרד ממשלתי או איזו שטות כזאת . . .
    • (רן) כן, אז הייתה שאלה כזאת ב - Stack Overflow - מה עושים אם השדה באמת NULL, והיו כל כך הרבה הצעות שם . . . זה היה Thread, אה, מאוד ממצא, ב-Stack Overflow.
  • אז הנה - עוברים אליך - דותן - קח את זה:

דותן - 
  • טוב - אז האייטם הראשון שלי הוא Repository שנקרא code-server
    • בא מחברה בשם Coder, שאני יודע שהם עושים . . . יש להם פתרון של “בוא תפתח לא במחשב שלך, אלא בסביבה, כזאת, וירטואלית”. “בעצם לא באמת צריך את המחשב שלך וכל ה-IDE והכלים כולם אצלנו, והכל יהיה יותר קל” - זה הפתרון שלהם.
    • מה שמגניב פה זה שהם לקחו את VS Code וגרמו לו לרוץ על Browser בשלמותו.
      • תמיד ידעתי של-VS Code יש איזשהו פוטנציאל להיות הרבה יותר ממה שהוא, במיוחד שאני די מת על ה-Vim Mode שלו - מרשים.
      • אני לא יודע אם אפשר לעשות עם זה משהו כרגע פיזית או האם אני ממליץ לעבור ל-VS Code ב- Browser, אבל די מרשים לראות את VS Code בשלמותו עובד ב-Browser.
    • (רן) נזכיר, דרך אגב, שזה לא ה-IDE הראשון שרץ ב-Browser, אמאזון אפילו קנו חברה שעושה את זה, ויש לא מעט חברות אחרות . . .
    • (רן) Cloud 9 . . . יש לא מעט חברות כאלה, אבל אתה אומר שמבחינת ביצוע, יש כאן ביצוע טוב במיוחד?
    • (דותן) כן, יש Editor שהוא כולו על טהרת הנקרא-לזה-Frontend, שנארז ב-Electron, שזה VS Code - ותמיד אתה שואל את עצמך “האם אני יכול לקרוא את הדבר הזה ולדחוף אותו ל-Browser, ושזה עדיין יעבוד?”, האם יש פה איזושהי הפגנת יכולות טכנית מאוד מרשימה?
      • והתשובה היא “כן” - הם עשו את זה.
      • ועוד פעם, ב-VS Code ה-Editor, לפחות החלק של ה-Editing, מבוסס על טכנולוגיה של Microsoft, תעזרו לי אם איך קראו לה - Monaco? משהו כזה? כבר לא זוכר . . .
      • (רן) Monaco זה Front, אבל יכול להיות שיש גם טכנולוגיה כזאת, אני לא מכיר . . .
      • (דותן) בכל מקרה, שם-של-עיר כלשהי שמתחיל ב-”מ” . . . אבל נחמד לראות את זה קורה ממש במציאות, ואני מניח שהם, אותה החברה - יש להם אינטרס שזה יעבוד והם משתמשים בזה בצורה כזו.
    • (אלון) הוספתי פה לינק ל - StackBlitz - האמת היא שכבר דיברנו עליו פעם בעבר, אבל אם תראה אותו עכשיו, אז זה השתפר מאוד
      • עכשיו אתה ממש . . פשוט זה “VS Code online”  - האמת שבראיונות האחרונים - אני מוכרח כאן גילוי נאות שאנחנו מראיינים - פשוט רצינו שיעשו איזה משהו Frontend ב-React - פשוט תגישו דרך זה, זה הדבר הכי נוח, כאילו . . . תלחץ על React ויש לך Editor, יש לך הכל בפנים . . .
      • (רן) אבל זה רק Frontend, נכון? . . . 
      • (אלון) כן, אבל זה מדהים, פשוט מדהים - כי זה עובד: אתה יכול להוסיף Dependencies בקליק, הכלי הזה ניהיה פשוט מפלצת
        • האמת היא שרציתי לדבר עליו אח”כ, אבל דותן עקף אותי . . .
      • אז זה ממש מגניב: לוחצים בקליק ויש לך אפליקציה עובדת והכל מתעדכן - וזה VS Code
      • אפילו יש את ה-Extensions . . . אני לא יודע אם כל ה-Extensions של VS Code נתמכים בזה או לא, אבל אתה ממש יכול להעשיר את זה, אם חסר לך איזה Extension של VS Code אז אתה יכול להוסיף אותו.
      • מומלץ בחום, אפילו אם אתם לא צריכים כלום, סתם לשחק עם זה, כי זה באמת פותח את הראש וזה ממש מגניב.
    • (דותן) אני מניח שה-Use case העיקרי, או לפחות המיידי, הוא לכל מיני חברות שיש להן פלטרפורמות לראיונות ב-Real time וכל מיני דברים כאלה - Cloud 9 היה מאוד מוקדם
      • זאת אומרת - יש את התופעה של חברות שמקדימות את זמנן וכל מיני דברים כאלה, אני זוכר את Cloud 9 ממש לפני המון שנים, ואז AWS קנו אותם - אני עדיין לא יודע בדיוק למה . . .
      • (רן) הם משתמשים בהם, נגיד - אתה יכול לערוך פונקציות Lambda ב-Cloud 9, לערוך את הטקסט שלהן . . .
      • (אלון) זה יותר מזה - זה נותן לך Ecosystem - הרעיון שם הוא שזה נותן לך Ecosystem ל-Cloud, שאתה יכול בקליק לעשות Deploy ך-Cloud ואז לשנות - ואז אתה כאילו אומר . . . ה-Editor שלך מחובר ל-AWS, ואנשים נורא נקשרים גם ל-Editor, אז אם מחר אני אעביר אותך אז אתה גם לא תרצה לעבור Editor - ואז אתה גם לא תעבור Cloud . . .
      • (דותן) בדיוק . . .
      • (אלון) זה כאילו הפוך  . . .
      • (דותן) זה היה מאוד מעניין, שעוד לא ראיתי אותם אומרים את זה - זה קורה “בשקט בשקט”, אבל . . .
      • (רן) אני משתמש המון ב-Jupyter בזמן האחרון, וזה גם סביבת עבודה . .  
        • עכשיו -  זה לא באותה רמה של Visual Studio, אבל זה כן . . .זאת אומרת, יש הרבה אנשים שכל החיים שלהם רק חיים בתוך Jupyter, עם כל המגבלות של הכלי הזה, אבל זהו - 
        • זה כמובן בתוך הדפדפן, ה-Jupyter.
      • (אלון) יש גם אנשים שחיים בתוך Emacs, זה לא הופך את זה לכלי ממש טוב . . רק אומר.
      • (רן) כמעט אמרת VI, טוב שעצרת את עצמך . . . 
  • (דותן) ולאייטם הבא - יש פרויקט  שנקרא urlhunter - בעצם זה סוג של כלי, נקרא לזה “כלי להאקרים”, לכל מיני חבר’ה “שמנסים את מזלם”.
    • מה שזה עושה זה שולף קבצים שמכילים של Short URLs ל-URL המלא
      • נגיד - Bitly זה שירות שעושה Shortening ל-URLs
      • יש איזושהי חברה אחרת שעושה את ה-Scanning וה-Crawling וכל זה - והכלי הזה פשוט לוקח ומאנדקס (Index) אותם.
    • בעצם נולד לך סוג של כלי שאתה יכול לחפש איזשהו Regular Expression - נגיד לינק יחסית-רגיש, שהוחבא פעם תחת Short Link - ולקבל אותו.
    • הדוגמא שהם נותנים שם זה נגיד ב Google Docs Link, שאתה יכול ליפול על כל מיני מסמכים פומביים
    • ו-Long Story Short, אתה יכול לייצר לעצמך איזושהי . . . אם אתה האקר שעושה את זה למחייתו אז לייצר איזושהי הכנסה, ואם אתה אתי, אז זה לייצר מאמר ב-TechCrunch על חברה שדלפה כל מיני דברים מעניינים . . .
    • אז קחו, שחקו - ונסו את מזלכם.
  • אייטם הבא - ספריה בשם rich, ב-Python, ולפחות מהתקופה שעשיתי המון ב-Python - היום אני עושה הרבה פחות - חיפשתי ספרייה שהיא דומה מאוד לספריות הפופלאריות ב-Node.js, שצובעת טקסט בטרמינל, שעושה Text-highlighting בטרמינל, שעושה מסגרות, טבלאות, כל מיני דברים נחמדים, נקרא לזה “Developer Experience” מאוד נחמד - ולא היה. 
      • ממש ממש לא היה, ודי התבאסתי מזה.
    • והנה סוף סוף יוצאת ספרייה, שנראה שהיא עושה את זה בצורה טובה, שזה ממש ממש מגניב.
    • (רן) דרך אגב, דותן - אתה אומר שהיום אתה כמעט שלא כותב ב-Python - איך נראה ה - Stack הטכנולוגי שלכם היום בחברה?
      • (דותן) Rust ו-TypeScript.
      • (רן) אוקיי . . .
      • (דותן) יש גם Data Science שזה Python - אבל בתקופה הקודמת הייתי עושה פשוט Full-time, כמעט 100% Python - גם Frontend ו-Backend והכל.
  • האייטם הבא נקרא Maddy
    • למי שזוכר את Caddy, אז יש כזה שרת HTTP שנקרא Caddy, שה-Value שלו כלפינו זה פשוט כשרת HTTP שאפשר להרים, והקונפיגורציה (Configuration) שלו היא מאוד אנושית ומאוד קלילה, והכל מרגיש כמו פלסטלינה.
      • בניגוד, נגיד, ל-NGINX עכשיו ו-Apache וכאלה
    • ובא מישהו ואמר - “טוב, אני אחליף את האות הראשונה מ-C ל-N” - יצא לו Maddy - וזה אותו הרעיון, רק Mail Server  . . .
      • כלומר - זה עכשיו מחליף את ה Post-fix-ים וכל החבר’ה האלה של העולם.
    • אם אתה במצב שאתה רוצה לבנות לעצמך איזשהו Mail Server in-House, אז האמת שזו אחלה אופציה
    • באילו מקרים תרצה לעשות את זה? אז אני יכול להגיד, שמהנסיון שלי, הרבה פעמים הייתי מקים מערכות שהמטרה שלהן זה לקבל מיילים, To process them ולעשות איזושהי אוטומציה
      •  - נגיד שאתה שולח מייל לאיזשהו בוט - “שלום, מחר תזכיר לי לקנות חלב”, ואז ב-Calendar שלך אתה פתאום רואה Invite לעצמך “לקנות חלב” , או משהו בסגנון.
      • היום, נגיד, אם ניקח את Rails - הם כבר הקימו תשתית, הקימו Framework שעושה את ה Inbound email processing, יש SaaS-ים שעושים את זה, שאתה יכול לזרוק שם איזושהי פונקציה
      • אבל עדיין לפעמים יש מצבים שאתה רוצה ממש Mail Server בכוחות עצמך, שרץ אצלך וכו’.
    • (רן) אני חושב, אגב, שההבדל המשמעותי בין זה לבין ה-Mail Servers היותר מסורתיים ומוכרים זה שה-Mail Servers האלה אולי מממשים את הפרוטוקולים הבסיסיים של SMTP ו-POP3, אבל יש הרבה הרבה מאוד Extensions, בעיקר בתחום של Security ו Anti-Spam וכאלה, כמו DKIM ו-SPF וכאלה, שזה כאב ראש להוסיף ל Mail Server המסורתיים.
      • ו-Maddy - ככה קראנו לו? - Maddy מגיע עם כל אלה Built-in, אז נחמד, זה חוסך לך הרבה מאוד עבודה ב-Setup.
    • (דותן) כן, וכמובן גם Caddy וגם Maddy טובים ב-Go (השפה, לא זה), שזה אומר שאפשר לשחק איתם, לשנות אותם, לעשות Import לחלקים מהם . . . וזה נחמד, מה שאי אפשר תמיד לעשות עם NGINX ו-Apache וכו’.
  • אייטם אחר, של Microsoft - פרוייקט שנקרא . . . אין לזה באמת שם, אבל ה-Repository נקרא Bringing-Old-Photos-Back-to-Life
    • הפרויקט עצמו הוא פרויקט Data Science שנקרא Old Photo Restoration 
    • ובעצם, מה שהם עשו זה... יש פה איזשהו פרויקט Deep Learning שנותן לך את היכולת לקחת תמונה  - “מעופשת, מקומטת וקצת דהויה” - ופשוט להעביר את זה דרך המנוע הזה, ואתה מקבל תמונה שהיא נראית חדשה, “בלי קמטים”, בלי טשטושים - מדהים.
      • עברתי ממש על כל הדוגמאות שיש להם פה.
    • (אלון) בדיוק רציתי להגיד שזה מדהים - אם אתה ב-2010 . . .  כי בכל פלאפון (זה ממש 2001. . .) יש את ה-Auto-fix הזה של התמונות, וזה עושה את אותו אפקט . . . 
    • (דותן) אני אגיד לך למה זה מדהים - כי לפחות בתקופת הקורונה, כבר נתקלתי בכמה וכמה מופעים שאנשים סביב פשוט שולפים כל מיני תמונות מהבוידעם . . . 
      • אתה יודע, הסגר גורם לדברים האלה לקרות, אתה מנסה להוציא את הארגזים ולשלוף את התמונות הישנות ולהיזכר וכל מיני דברים כאלה.
      • ולכן זה מדהים - זה אחלה כלי לבוא עכשיו לסרוק את התמונה - אתה יכול לסרוק או לצלם את התמונה או מה שבא לך.
      • אבל אם יש לך תמונה באמת מיושנת, שבאמת הוצאת אותה מלפני 70 שנה, ששייכת לדורות אחורה - אז זה מאוד מעניין לבוא ולהעביר אותה דרך המנוע הזה, ולראות מה אתה מקבל.
    • (אלון) מה שרציתי להגיד זה רק שב-Google Photos יש לך את ה-Magic Pen הזה, וגם ב-iPhone Photos . . . זה בול אותו אפקט, כאילו . . . 
      • (דותן) וואלה . . .
      • (אלון) אז מגניב ש-Microsoft הגיעו לזה עכשיו, אבל . . . היה את זה ב-2010. אולי בלי Machine Learning, אבל . . .
      • (דותן) רגע - אבל זה כולל קמטים? (זה לא קרם, כן?) - זאת אומרת, אם יש לך תמונה עם קמטים כאלה וחתכים . . זה מאחה לך את הכל?
      • (אלון) יש לך Sharpen, שעושה אפקט כזה . . . יש כאן רק איזה אפקט אחד שאני חושב שהוא לא מטפל בו, האפקט של הפסים הלבנים האלה, שאני לא בטוח . . . אבל כל שאר האפקטים . . .
      • (דותן) כן, פס לבן זה קמט או משהו, כשתמונה מתעקמת אז זה נשבר.
      • (אלון) כן, אבל כל שאר האפקטים פה - זה לגמרי ה-Magic Fix עושה לבד, אז . . . לא יודע.
      • (דותן) מה אתה אומר . . .
    • (רן) באותה הזדמנות - יש פרויקט נחמד של My Heritage של צביעת תמונות, בעצם שירות שהחברה נותנת בחינם, למיטב זכרוני
      • אתם יכולים להעלות תמונות בשחור-לבן ובאמצעות - עם גרשיים באוויר  Deep Learning”  - או דברים אחרים, לא יודע בדיוק איך, אבל הם צובעים, בצורה אינטליגנטית, מבינים מה אמור להיות הצבע של כל חלק בתמונה, צובעים אותו, וזה נחמד.
      • זה אולי לא מתקן קמטים או דברים כאלה, אבל כל מה שאתם רוצים זה לצבוע תמונות, אז זה נחמד.
    • (דותן) אז זהו . . . כאן אין צביעה של התמונות בפרויקט הזה
    • (אלון) יש על זה פטנט, אגב . . . על הצביעת תמונות יש פטנט, אני חושב של Facebook, שאתה לוקח תמונה בשחור-לבן, אבל נגיד שיש שם פחית קולה, ואתה יודע בדיוק מה הצבע של הפחית קולה ואז לפי זה אתה יכול לצבע את התמונה בצבעים האמיתיים שלה . ..  אתה מוצא כמה Anchors על חפצים, נגיד עם Brand - שקית דוריטוס או אני לא יודע מה - ומתחיל לצבוע ככה את התמונה, ואז אתה מגיע באמת לצבעים האמיתיים , שם עובד בצורה אחרת, אני חושב, מהשיטה של . . .
    • (דותן) כן, זה תחום אחר - למי שאוהב Netflix ואת מלחמת העולם השנייה,  אז יש כזה מן סרט דוקומנטרי על מלחמת העולם השנייה בצבעים, שעשו Re-coloration לכל הדברים האלה - למי שאוהב את שני הדברים האלה אז זה שילוב מעניין.
  • יש מישהו שנקרא 3Blue1Brown - זה הכינוי שלו בכלל ב-YouTube, ככה אני הכרתי אותו, ועם הזמן הייתי מקשיב לפרקים שלו בנושא מתימטיקה באוטו, 
    • במקום פודקאסט הייתי פשוט מקשיב לזה, ומדי פעם חוזר על חומרים בצורה ויזואלית.
    • האיכות שלו . . . הוא לוקח נושא כמו הכפלת מטריצות או כל מיני דברים כאלה ומראה את זה בצורה אנימטיבית (Animated) מאוד מאוד אינטואיטיבית.
    • אז אני Fan שלו - של הערוץ שלו בכלל ושל הוידאו שלו שם, שהם משהו כמו 5 דקות כל אחד אז זה גם טוב, נחמד שזה לא מעיק מדי.
    • מה שהוא עשה - בוידאו שלו יש אנימציות, שהוא לוקח נגיד צירים ועושה להם סיבוב ועושה להם איזושהי טרנספורמציה, ואת כל הדברים האלה הוא לא בנה באיזושהי דרך מלאכותית, אלא הוא כתב קוד שעשה את האנימציות האלה.
    • והוא פשוט משחרר את ה-Code Base שבעזרתו הוא בנה את האנימציות לווידאו שלו, ובעיני זה לא פחות ממדהים.
    • ראיתי קצת קטעי קוד שבונים אנימציות, יש Tutorials ב-Repository למטה - וזה פשוט מדהים.
      • אם אתה רוצה להבהיר רעיון מתימטי - זה ממש השאיר אותי ב”וואו” . . .
    • אז נחמד, ומי שרוצה . . . לא יודע, אולי ברמה האינדיבידואלית קצת ללמד, נגיד - אם רוצים ללמד ילדים ככה, נגיד באיזור התיכון או טיפה לפני, ורוצים לתת אינטואיציה, ולהמחיש באמצעות ויזואליזציה ואנימציה אז זה ממש מעולה.
    • (אלון) בלי קשר, הערוץ פשוט מדהים . . . הפרויקט הזה מגניב גם כן, אבל ה . . .
    • (דותן) זה לגמרי משהו שהיה נחמד לראות בזמן האוניברסיטה, כי זה נותן את האינטואיציה שמאחורי כל התיאוריה - כשגם התיאוריה היא חשובה, אבל גם האינטואיציה.
  • יש פרויקט נוסף שנקרא EUL - לא יודע אם אפשר לבטא את זה - וזה כמו בתקופה של Windows, כשהייתי, אז היו מלא Utilities כאלה מגניבים שמראים לך את ה-Performance של המערכת, וגם ב-Linux . .  יש את זה קצת פחות ב-Mac.
    • אז הוא מוציא Utility כזה מאוד מגניב, כשתחת כל Performance שאתה מוציא על המחשב שלך יש בטריה, Volts, מאווררים, מה שבא לך . . .
      • לפריקים של Performance וחומרה ל-Mac בעצם.
    • כמובן יש את הקוד - זה בנוי ב-Swift, והכל נורא מגניב.
  • פרויקט נוסף ,גם באיזור הזה של Mac - למי שמתעסק בויזטואליזציה (Virtualization) של Mac, וצריך עכשיו “להקים Mac-ים מאפס” כזה, מה שיצא לי גם להתעסק איתו - לפעמים צריך “סביבה ריקה” לגמרי, נקייה.
    • אז יש פה פרויקט שפשוט שולף את כל ה . . . אני לא יודע עד כמה זה רשמי, במובן של חוקי, אבל הפרויקט הזה הוא Open-source ומה שהוא עושה זה די יודע איך ה-Installer של Mac עובד, ונותן לך את זה בצורת Scripts של Python
    • הוא פשוט . . . אתה אומר לו מה אתה רוצה, מהחבילות שיש ל Mac OS, והוא פשוט מביא לך את ה-Zip-ים ואת Tarball-ים ישירות, ואז אתה יכול פשוט לעשות אם זה מה שאתה רוצה, אם אתה בונה אוטומציות.
    • אז לאנשי אוטומציה או אנשים שרוצים לעשות טסטים וכל מיני דברים כאלה, נראה לי שזה יכול מאוד מאוד להועיל, שזה מגניב.
    • (אלון) עם ה-Mac החדש זה גם עובד?
    • (דותן) וואלה - לא יודע . . . עם ה-CPU של ARM
    • (אלון) כן, סתם שאלה . . .
    • (דותן) שאלה . . . האם אתה היית קונה את המחשב הראשון שיוצא עם CPU חדש? 
    • (אלון) תשמע . . . תראה . . . המחשב הספציפי, הדגם שיש לי של ה-Mac - לרדת מפה הם לא יצליחו, אז כן.
    • (דותן) לא יודע, תראה - זה מעניין, כי אתה יכול לחשוב על זה שה-iPads שיש עכשיו עובדים עם ARM, ובעצם כל מה שצריך זה לקחת את אותו ה-CPU ורק לתת לו עוד קצת בשר, ולחבר לו מקלדת ועכבר ויש לך את אותה המערכת.
      • אבל, מה שנקרא - אני באופן אישי, במיוחד כשזה קשור לכלים האישיים שלי, מה שעובד לי טוב אני לא כל כך רוצה להחליף, במיוחד כשזה קשור לחומרה.
      • אבל בוא נראה איך זה יקרה, כאילו - יכול להיות שזה יקרה כמו שתמיד: הם תמיד מחליפים את ה-Macbook Air, לפחות זה מה שאני זוכר מהפעם שעברה, מהמרים על ה Macbook Airs של העולם, ואחרי זה הם ממשיכים לתוך ה-Pro, לתוך כל ה-Mac-ים שהם באמת למקצוענים שצריכים את זה בשביל היום יום שלהם לעבודה.
  • האייטמים הבאים הם בנושא Rust - אחת הכתבות שהתפרסמו לאחרונה, שקצת יותר תפסו כותרת, היא על AWS, שקצת פרסמה “מאמרי אהבה ל-Rust”, אבל הם היו לטענתי קצת חלשים, כי האחרון שבהם היה “אנחנו תומכים ב-Rust, ונתנו להם  אחסון S3 חינם” . . .
    • אז עכשיו הם יוצאים עם מאמר הרבה יותר חזק - הם אומרים ש-Rust זה בעצם חלק מה-Core שלהם, והם חייבים - בצורה אסטרטגית, כמו ש-AWS יודעים לעשות - להשקיע ב-Rust.
      • מה שמעניין פה זה Tokio, שזו בעצם תשתית Networking, הדור הבא בכל מובן ולדעתי גם בכל שפה, שמבוססת ושייכת ל-Rust.
      • וזה חשוב להם - זה בעצם Runtime ל-  async Programming.
      • הם הולכים להשקיע בזה - הם לקחו, לפחות עשו Hiring למישהו שהיה ב-Core של Rust, ואני חושב שגם לעוד אנשים.
      • הם בעצם מכריזים - “חבר’ה, אנחנו הולכים להיכנס ממש עמוק לתוך Rust” - שזה ממש טוב.
      • ובלי קשר, באופן כללי, כבר לא מעט חברות, במיוחד מהסוג הזה,
      •  שצריך Performance וטכנולוגיה Hardcore עמוק בתוך התשתיות - הן כבר מושקעות ב-Rust, שזה ממש טוב.
    • היה איזשהו Milestone לפני שבוע, ש-Rust הגיעה ל 50,000 Crates, שזה Libraries או Gens או npm Modules או מה שזה לא יהיה.
      • זה לא הרבה במונחים של Ruby ו-Node.js, שם המספרים זה מאות אלפים ואולי מיליונים, אבל מה שאני יכול להגיד מניסיון אישי זה שכמעט כל אחד מ-50,000 האלה הם מאוד איכותיים, לפחות בשלב הזה.
        • אין לי 8 ספריות של Logging . . .
      • (אלון) הבעיה עם הכמות הזו . . הכמות, מה לעשות, מורידה את האיכות - והיה משהו טוב ב-Rust, שהיה לך בקושי ספריות מצד אחד, ומצד שני כל אחת הייתה, וואלה - חלק מהשפה.
      • (דותן) בדיוק - אין לי 8 ספריות של Logging, אין לי חמש ספריות של . . . לא יודע, מה שלא תבחר - וזה לא מבלבל, אתה פשוט לוקח מתוך שניים, אחד.
        • והשניים, שעושים ספריות של Logging, הם ממש שונים, בצורה כזאת שבאמת אתה צריך לבחור מה שמתאים לך, ולא “מה שטעים לך”, מה שהטעם שלך . . . פשוט מה שמתאים לסיטואציה.
        • זה ממש נחמד, ונותן למח שלך לנוח, כי אתה יודע שאתה בוחר באופציה הטובה ביותר שאפשר לבחור.
    • יצא גם ספר - The Rust Performance Book - למי שמכיר Rust, אז יש לו Performance מטורף, וגם יוצא ספר שקצת מדבר על Performance, שזה 3=1+1 כזה, קצת . . .
    • וקצת למי שמתעניין, אז הוספתי גם שני פרויקטים ב-Rust - אחד גדול ואחד קטן:
      • אחד מהם זה פרויקט שעושה משהו כמו 1password - זאת אומרת, עם UI, רק עם Linux, לצערי, GTK-based - מישהו לקח Rust ו-GTK ומימש משהו כמו 1password או LastPass, מה שאתם לא משתמשים בו
      • השני הוא אולי קצת יותר מעניין, גם בגלל שהוא קטן - נקרא simples, ואני אגיב את זה בצורה בוטה: זה כמו Kafka קטן שמישהו מימש ב-Rust . . .
        • או באופן רשמי - event sourcing database
        • זאת אומרת - זה לא באמת Kafka, בואו לא נשלה את עצמנו - אבל זה ממש אחלה פרויקט כדי לקרוא את הקוד שלו
        • הם אומרים שאתה יכול לקחת את זה ל-Raspberry Pi . . . אני לא יודע אם מישהו משתמש במשהו כמו Kafka על Raspberry Pi, אולי ארגונים מחקריים או מישהו שרוצה לבדוק Distributed Systems וכאלה
        • אבל זה באמת אחלה פרויקט בשביל לקרוא את הקוד שלו, לקמפל (Compile) אותו, לשנות אולי טיפה את הקוד, להריץ עוד טיפה וכאלה - למי שרוצה “ללמוד דרך הידיים”, מה שנקרא.
    • זהו - אליך אלון!

אלון - (“!Alon is on the Mike”) sparkles[דמיינו אפקט סאונד לבחירתכם]
  • אתה (דותן) דיברת על כלי UI חמוד, אז אני אלך על כלי Terminal-י חמוד - DUF
    • שלך היה EUL? - אז חמוד, שלוש אותיות גם כן, אולי דיברנו עליו פעם.
    • למי שאוהב Terminal וגרפים ב-Terminal אז זה הכלי שלכם - אתם עושים ורואים את כל ה-Folders, גרפים, אחוזים, בארים - הכל בגרפיקת Terminal יפה.
    • אז לגיקי-הטרמינל (להקה חדשה?) בקהל, שאוהבים סטטיסטיקות . . .
    • (רן) זה בעצם בא להחליף את du, נכון? כאילו - du, אבל עם קצת יותר ויזואליזציה ושיטה? קצת Norton Commander ל-du.
    • (אלון) ממש . . האמת, נכון. אבל זה יותר יפה,  Norton Commander היה כחול, וזה עם צבעים יותר יפים, נעימים, למה . . קצת לכלכת . . .
    • (דותן) Norton Commander זה עם הצבע הנעים . . .
    • (אלון) זה היה עם . . . היה כחול, והיה לו את הפונט הצהוב הזוהר הזה, שאתה צריך משקפי שמש . . .
    • (דותן) כן . . . תקשיב, זה כחול-בורלנד (Borland-Blue), נקרא . . . 
    • (רן) “ב-DUF אתה תמצא לא פחות מ-256 צבעים שונים (!)” . . .  אוקיי, יפה ונחמד.
  • יש איזה כלי של Google שנקרא ko - זה כלי ל-Go, אז הם כנראה החליפו רק אות אחת ויצא להם ko . . .
    • זה כלי לבנייה ו-Deploy של Go על Kubernetes
    • אז אם Kubernetes זו אבסטרקציה, פתאום ניהיה עוד אבסטרקציה על האבסטרקציה . . . הרעיון הוא שאתה רק נותן Mode מעיין YAML-י כזה, של  מה שצריך לעשות, והוא בונה לך כבר את ה-Image, ואתה יכול לעשות איתו Deployment.
    • אז זה נראה מאוד מעניין, האמת - אז אם יש לכם איזה Kubernetes ו-Go ביחד, זה יכול להיות מעניין
    • (רן) יש עוד איזה Framework של Functions-as-a-Service מעל Kubernetes, שכחתי איך קוראים לזה . . . אני זוכר שראיתי משהו בעבר . . .
      • אולי זה יתפתח פשוט ל-ko בסוף?
      • (אלון) יכול להיות . . . זה כאילו . . . לפי מה שרשום פה, זה מה שהם ממליצים או משתמשים או לא יודע.
      • יש גם איזשהו כלי ב-Cloud, שהוא מבוסס על זה . . . של לבנות Image-ים, אז אני חושב שזה מבוסס על זה.
    • (דותן) אני רואה שאחד ה-Highlights פה הוא שאתה כאילו לא נותן . . . כשאתה בונה את ה-YAML-ים הנהדרים של Kubernetes, אתה לא שם Docker Image בצד ובלה-בלה-בלה, אלא אתה פשוט נותן איזשהו Prefix מיוחד שמתחיל ב //:ko, כמו פרוטוקול כזה שלהם - ובעצם כל מה שקורא אחר כך זה פשוט ה-url ל-Package שלך ב-Go 
      • אני מניח שמה שהם עושים זה בונים את הפרויקט ב-Go ודוחפים את זה לאיזה Minimal Image ב-Alpine או משהו כזה, והופ! נולד לך Image . . .
      • שזה, האמת, ממש משכנע . . .
    • (אלון) זה חמוד - כי אתה לא צריך Docker . . . זה מוריד לך את ה-Docker, אתה רק מגדיר ב-YAML את מה שאתה רוצה, שהם כבר אומרים “אוקיי, זה ה-Repo שלך? אני בונה לך אותו” . . . 
    • (דותן) מעניין!
    • (אלון) למה אני צריך לבנות לבד Docker? תמיד אני עושה בדיוק את אותם הדברים . . . 
      • בונה, לוקח את ה-Dependencies שלי, זורק עליהם . . . הרי אין פה איזה משהו מיוחד
      • אלא אם כן יש לך איזה משהו ספציפי, אבל ב-90% מהמקרים אתה הרי סתם אומר “מה אני צריך?” - ודוחף את זה פנימה וזהו.
      • אז חסכו לך את כל זה - וזה מעניין.
    • (רן) אני אגב לא רואה מניעה שזה יהיה גם בשפות אחרות - אולי הגרסא הראשונה זה ב-Go, אבל לא נראה שיש פה משהו שהוא מאוד ספציפי ל-Go.
    • (דותן) כן . . .קצת מזכיר לי את Buildpacks של Heroku
    • (רן) כן, נכון
    • (אלון) כן . . .
  • אז Netlix הוציאו איזה מאמר, על הStreaming . . . על כל האבולוציה של השימוש שלהם ב-Node.js ב-Netlix - הוציאו על זה וידאו נחמד.
    • אז מי שאוהב Node.js ומתעסק עם Performance יכול למצוא את זה מעניין.
    • האמת שזה קצת מוזר, כי כולם לאחרונה רשמו שהם יורדים מ-Node.js ופתאום Netflix, שהם די גדולים ומשמעותיים . . . 
    • די מעניין, האמת, כי זו חברה מעניינת והכלים שלהם מעניינים והם פותרים דברים בצורה מעניינת - בגלל זה זה לא איזה מאמר צדדי כזה, שאתה אומר “עוד מישהו הצליח לעשות איזה משהו”, אז אני חושב שיש פה משהו נחמד, ומי שבעולם ה-Node.js ומחפש Performance אז זהנראה לי נחמד מאוד.
      • ו-“Neflix הוציאו וידאו” זה אכן חדשות מטורפות
  • (רן) ועוד Netflix?
  • (אלון) עוד Netflix! איזה חיבור מדהים, הרצף! סתם  . . . למי שרוצה לבדוק Speed-Test, אז גיליתי את זה לא מזמן - יש את Fast.com
    • זה ממש נחמד, ואחד הדברים היפים הם שלא צריך ללחוץ על כלום - תמיד כשאתה רוצה לעשות Speed test, אתה ננכס לאתר ועושה “Start!” - למה? בוא תתחיל לבדוק . . . 
    • אז זה של Netflix - זה Fast.com, וזה בודק Performance נחמד.
    • (רן) אז כמה מילים על זה - קודם כל הוא בודק רק Download, כי זה הדבר היחיד שמעניין את Netflix, רק כמה Download, ממש לא מעניין אותם Upload
      • וגם לא Ping - רק מראה לך Download.
    • דבר שני - אני זוכר שכשהאתר הזה הוקם - Fast.com - זה הוקם בעקבות של הסיפור של Net Neutrality בארה”ב, לפני כמה שנים - אתם זוכרים את הסיפור הזה, שהיו כמה חברות גדולות שבאו ואמרו “מה זה? כל חברות ה-Streaming האלה שוברות לנו את האינטרנט! שימו להם מגבלות” וכל זה.
      • ואז Netflix באו ואמרו “רגע, חבר’ה - Net Neutrality! אתם לא יכולים לשים מגבלות רק על חברה אחת ולא על חברה אחרת”.
      • והם גילו באמת שהיו הרבה ISP שהגבילו את ה-Traffic ל-Netflix ולא הגבילו את ה-Traffic למקומות אחרים.
      • אז הם החליטו לבנות את Fast.com ואמרו - “תקשיבו, אתם בעצמכם תמדדו את היכולת של ה-ISP שלכם, ואם אתם לא מרוצים ממנו, אז תעברו ל-ISP אחר” - וזה התחיל אז.
    • אבל אני מסכים שזה אחלה כלי - כלי נורא פשוט למדידה של Download.
      • מה שכן - הוא לא מישראל - אתה לא עושה Download מישראל - אולי זה לא מה שאתה רוצה למדוד, אבל כשאתה עושה Speed Test, הוא בדר”כ מחפש את ה-Download הקרוב ביותר, והרבה פעמים זה קורה בישראל.
      • ו-Fast.com הולך, כנראה, ל-Netflix, באיזשהו מקום בעולם.
    • (דותן) אני יכול לשלוח להם מייל, תלונה או משהו? כי אני רואה רק 960Mb . . . ולא 1000 גדול.
    • (רן) אני לא רוצה להגיד לך מה יש לי על המסך . . . 
    • (אלון) בביטים . . .
    • עוד משהו על זה - כן יש שם Upload, אני אתקן - יש שם איזה חץ כזה . . .  זה לא ב-Default, כי זה פחות מעניין אותם, אבל אתה יכול לראות גם Upload, אז זה . . .
      • רק שלא יתבעו אותך דיבה, אתה יודע . . .
      • (רן) !I stand corrected, סבבה . . .
  • עוד אתר נחמד, אם אנחנו כבר בבדיקות מהירות - האמת שהוא יותר חמוד - הוא של Cloudflare
    • ו-Cloudflare, עש להם גם אתר - Speed.Cloudflare.Com - שהם מראים לך Dashboard, שחוץ מזה שהוא יפה ומהיר ונחמד, הוא גם עובד מיד ועם Upload והכל
      • והוא גם נותן לך את הסטטיסטיקות של ה-Jitter וה-Latency ודברים כאלה, וגם מראה לך מאיפה הוא בודק
      • את ה-End-point הקרוב לביתינו הוא - לפחות מהבית שלי - הוא גרמניה . . . אולי לכם יש משהו בארץ, אבל אולי בחור השחור של פתח-תקווה זה הדבר הכי קרוב שהוא מוצא.
      • (רן) אני הגעתי ל-TLV . . .
      • (אלון) אני הגעתי לגרמניה . . . זה מה שיש אצלי. אני פרנקפורט . . . למרות שיש להם גם Nodes בארץ, אני לא יודע למה הוא . . .
      • (רן) באמת Dashboard יפה, מראה כל מיני סטטיסטיקות ממש נחמדות.
      • (אלון) כן, והוא גם נותן מידע שאין לך לפעמים - לפעמים אתה אומר שהאינטרנט שלך מהיר אבל הדברים לא זזים בגלל ה-Jitter, אז אתם יכולים להסתכל פה ולהבין אם יש לכם בעיה במחשב, ב-Router, וכו’
      • ((דותן) אני גם גרמניה . . . אלון, נראה לי שאני ואתה יוצאים ישר לאוקיאנוס, ישירות . . .
      • (אלון) אנחנו על המהיר! נכון, הוא עובר ועוצר בחנייה פה, שכחתי את אינטרנט שלו . . .
      • (רן) ככה זה באופטי, כן . . .
      • (אלון) כן, אנחנו באופטי . . .
      • (רן) אבל הי - קיבלתי יותר מ-Fast.com . . . 
      • (אלון) זה אומר שחוסמים לך את Netflix. . . 
      • (רן) לגמרי . . .
      • (אלון) ראית מה זה?
  • ול-NET.! אז NET 5.0 יצאה
    • (דותן) וואו!
    • (אלון) ומדברים פה על . . . זה NET Core 3.1. - מדברים פה על שיפורי Performance די מרשימים שיש בגרסא הזאת.
    • באופן כללי, NET. - אם לא היה לא את העוול של פעם עם ה-Windows, נראה לי שהיום זה היה By-far אמור להיות ה-Framework הכי מצליח
      • אין שום סיבה - יש לו את כל הנתונים להצליח: יש לו את #C, שזהכנראה שפה הכי מתקדמת ונחמדה וה-Framework פסיכי, ולדעתי זה סתם PR רע שהיה לו לכמה שנים כשהם היו באמת לא-להיט ומאז קשה לו להתרומם.
      • אבל באמת - ה-Framework הזה מדהים, ה-NET. - הוא משתפר מרגע לרגע ו . . . לא יודע, אולי ב-NET. 7-8 זה כבר יהיה Framework פופולארי בחזרה
    • (דותן) רגע, אני אשפוך שנייה מים קרים
    • (דותן) לא, לא עכשיו . . .
    • (דותן) זה נראה, לפחות מה-Screenshot, שהשיפורים הם סביב SQL ו-Caching של SQL וכל מיני דברים כאלה . . . אבל אני מקווה שיש יותר מזה.
      • אני תמיד הייתי בעד ה-NET. - מהצד . . . כלומר, אני כבר לא בפנים, אבל מהצד.
    • (אלון) אז קודם כל כן - הם מדברים פה שה-Output, שזה Caching sample, איזה  Fusion’s “Caching” sample של איזה רכיב שהוסיפו פה.
      • אני לא יודע אם זה ספציפית רק על הרכיב הזה או עוד דברים - אבל באופן כללי . . . יש שם גם איזה לינק למאמר יותר רחב ובפירוט . . .
      • (דותן) אני רואה שזה באמת  . . .זה Across the board - המאמר הבא הוא ממש וואו - GC ו-Jit ומלא מלא דברים יש לו פה . . .
    • (אלון) כן - זה גם חופר פסיכי, כאילו במספרים, למי שזה מעניין אותו, זה חופר, יורד פה לפרטים ולכל המספרים, וזה נראנה פסיכי - מספיק להסתכל פה על הגרפים ולראות את השיפורי Performance . . .
      • כמובן שזה “בדיקות מעבדה” - Disclaimer וכל הבלה-בלה-בלה - אבל ה-Framework הזה פשוט מתקדם מדהים.
    • (דותן) אני אגיד לך מה - כשאני משווה את שני “ה-VM-ים הדינוזאורים” - Java ו-NET. - אז כש - NET. מפרסמים “שידרגנו גרסא ויש שיפורי Performance”, אז המאמר, שעכשיו אני מסתכל עליו ועומד מולו, הוא ממש כייפי לקריאה
      • כלומר - יושב בנאדם, בנה פה מאמר ש . . . לא יודע, עם ה-Scroll-bar אני יכול להגיד שיש פה 50, אולי 70 עמודים - והוא כתב אותו טוב מלמעלה עד למטה, ואני ככה “צד” כל מיני תכנים בעיניים - וזה נראה אחלה חומר קריאה גם לללמידה, ככה בכיף
      • הוא מלמד על לקחים שהם למדו, מה עבד ומה לא עבד - איך בונים שפה, בקיצור.
      • בעיני זה סוג של הבדל, נגיד, בין לחיות בתוך ה-Ecosystem של Java לבין NET., שפעם היום מתחרים גדולים, אני לא יודע עד כמה זה נכון עכשיו.
      • (אלון) אני לא יודע אם הם באמת היו מתחרים, כי תמיד היה להם את הבעיה של “רק Windows”, והעולם היה תמיד Linux, אז הם . . . אני לא יודע מתי הם באמת הובילו.
      • (דותן) פעם שדה הקרב היה הרבה יותר מיושר - אם אתה מסתכל על 2008, נגיד עד 2010, אז הקרב היה . . . היה שם פייט רציני.
        • היום הם כבר בטח לא.
      • (אלון) כן, למרות ששוב, כמו שאמרתי - אני חש שזה Marketing issue - ומן הסתם הקהילה לא שם, אז זה הבעיה . . . רוב הקהילה ב-Java אז הכלים נכתבים שם.
      • (דותן) כן, Windows Server היה משהו פעם . . . 
      • (אלון) כן, היום אף אחד כבר לא יודע מה זה . . . בסדר, לא יודע אם יש עוד דבר כזה בכלל
      • (רן) בוא נבדוק אם יצאה גרסא חדשה ל-IIS, יכול להיות שיצא IIS 6 או 7 או 8, לא זוכר . . .
      • (אלון) יו . . לא, היה 7
      • (רן) היה 7?
      • (אלון) היה עוד משהו, 7 אני זוכר שהיה, אחרי זה אני לא יודע.
    • מי שעבד עם IIS יותר מתקדם מ-7 - 8 ומעלה - אנא שלחו לנו גלויה, ואנחנו נפתח אותה בפרק הבא, ונגיב!
      • אז תודה למגיבים.
    • אז נמשיך . . .
  • כלי חמוד - דיברנו על UI ב-Terminal, אז progressbar ב-Go
    • למי שרוצה לעשות Progress Bar חמודים ב-Terminal, איזה יש פה ספריה חמודה ב-Go
    • קחו, אמצו, השתמשו.
    • ואגב, דרך פה יש את הפרויקט הזה, שאני לא זוכר, אני חושב שדברנו עליו, שנקרא croc
      • דיברנו - ב-Bumpers הקודם . . .
      • זה Client-to-Client, לשלוח קבצים - אז הוא פשוט משתמש בספרייה הזאת כדי לעשות את ה-Bar-ים החמודים שלו, אז זה כל מה שרציתי לציין פה.
    • (רן) חמוד, באמת נראה נחמד
  • (רן) אז אלון - תגיד לי: איך עובד DNS? אתה יכול להסביר לי איך עובד DNS?
    • (אלון) או - טוב ששאלת! אני שמח . . . במקרה הכינותי מראש: יש אתר ממש חמוד בשם How DNS works (זה HowDNS.Works - זה הדומיין . . .)
    • ואז יש Episode I, וזה ממש מסביר בצורה ציורית-קומיקסית כל שלב שקורה ב-DNS - 
      • מה קורה כשמקלידים ב-Browser, 
      • ואז ה-Browser עושה “עצור! מה זה הכתובת הזאת?”, 
      • הולך למערכת הפעלה, שואל את עצמו האם יש לו ב-Cache
      • שואל את המערכת הפעלה - שניהם מחפשים ב-Cache
      • לא מוצאים - הולכים ל-DNS
    • והכל בקומיקס ממש חמוד - אז מי שרוצה להבין DNS לעומק, יכול לראות את הקומיקס הזה, ואשכרה לדעת DNS לעומק.
    • (רן) ואם זה קל לך מדי - אפשר לעשות את זה שוב, בספרדית. יש את זה גם באנגלית וגם בספרדית.
    • (אלון) זה המבחן - במבחן אחרי זה אתה צריך להשלים . . . אתה מתרגם את הספרדית לאנגלית כדי לראות אם הצלחת . . .
    • (רן) כמו שהיה בבית ספר “מפה עיוורת” - היית צריך להגיד איפה הישובים.
    • (אלון) נכון, היה משהו כזה פעם (בית ספר?)
      • היה בצבא גם . . במבחן בקורס קצינים פעם היה משהו כזה, לא יודע.
  • (רן) כן . . . תגיד - מה מצב רשתות ה-GAN בזמן האחרון? הייתה התקדמות עם Generation של פרצופים?
  • (אלון) שמע, זה נושא מעניין שאני רוצה בדיוק לדבר עליו . . . אז היה פעם את האתר הזה, שמייצר את הפרצופים הזה . . שכחתי את שמו - שהיה מייצר פרצופים רדנומליים?
    • אז עכשיו יש את זה ב-New York Times ,ממש יפה - זה קצת התקדם, ועכשיו הוא ייצר מלא פרצופים דמיוניים . . .
    • המערכות האלה ב-AI, ואפשר לשחק באתר של ה-New York Times,  בגלל זה הוא כל כך יפה . . . אתה יכול לשחק עם הגיל של הפרצופים שם, ועם העיניים  . . .
    • אתה מקבל אינסוף פרצופים, על אותו פרצוף אפילו . . .
    • לסובב אותו, לחייך, אם אתה רוצה שהפרצוף יחייך או יהיה עצוב - זה ממש Gamification קל
    • אפילו אפשר לשנות Race, מאדם שחור ללבן, או Gender, מאישה לגבר - על ידי slider
    • אז . . . ממש מגניב.
    • (רן) למי שלא היה פה בפרקים האחרונים, מדובר על רשתות GAN, רשתות שבעצם מג’נרטות (Generates) תמונות של אנשים שהם לא אמיתיים - אבל התמונות נראות לחלוטין אמיתיות
      • אתם תראו את התמונה ותגידו - “וואלה, זה בנאדם”, נראה כמו תצלום של בנאדם
      • אף אחד מהאנשים שמופעים פה בתמונות לא באמת קיים - הכל מג’ונרט (Generated)
      • ומה שיפה זה שהם עשו בכתבה הזו של ה-NYT זה שבאמצעות Scroll פשוט של העכבר אתם יכולים לעבור בהדרגה מפרצוף אחד לפרצוף שני, או כמו שאלון אמר קודם - לשנות Gender, לשנות Race, לשנות הבעת פנים וכו’.
      • והכל נראה ממש טבעי - זה נראה כמו איזשהו סרטון של בנאדם שמתחיל לחייך, והכל נראה מאוד אמיתי ויפה, זה מגניב.
      • נכון שהטכנולוגיה עצמה לא חדשה, והיא באמת מאוד השתפרה - והתצוגה של ה-NYT פשוט מאוד יפה.
      • (אלון) אני חושב שהם באמת עשו פה מהלך יפה עם התצוגה - היו כל מיני אתרים, אבל זה באמת הכי מרשים שראיתי.

(רן) ואנחנו לקראת סיום - נעבור למצחיקולים שלנו: יש לנו פה כמה פריטים קטנים - 
  • אז האייטם הראשון - בעצם שני האייטמים הראשונים - הם מאת מחבר בשם מיכאל ציון - Michael Zion - חבר שעובד איתי (רן) ב-Appsflyer - בחור מאוד יצרתי, והוא יצר כמה פרויקטים בקוד פתוח,
    •  הראשון שבהם נקרא okify - זה פרויקט ב-Go, קטן, שנותן לכם להרגיש טוב עם עצמכם
    • למה להרגיש רע כשאפשר להרגיש טוב? יותר חשוב . . .השורה שלו היא “הרגשות שלכם יותר חשובים מ-Production” - קודם כל תרגיעו, הכל בסדר.
    • אפילו אם זה 404 - הכל בסדר, עשיתם הכל נכון, אין לכם מה לדאוג
    • גם אם ה-CI נכשל - זה לא אשמתכם! אתם עשיתם כל מה שצריך!
    • כל מה שאתם צריכים זה לקחת את ה-Output, להכניס אותו לתוך okify - והוא כבר יתן לכם איזושהי תפיכה נעימה על השכם.
    • כמו שהוא אמר - “יותר חשובים הרגשות שלכם מאשר ה-Production או ה-CI או אחרים” . . .
    • כלי מאוד נחמד - והוא אחר כך גם הולך ועושה בו קצת שימוש בכלים אחרים שהוא כותב
  • והכלי הבא נקרא singload - וזה למעשה Load Balancer שמפשט מאוד את העניינים
    • למה לעשות Load Balancing להרבה מאוד Server-ים שונים, אם אפשר לפשט את הסיפור הזה, ותמיד לעשות Load Balancing לאותו Server, לאותו Backend Server?
    • הוא אומר “Load Balancing זה קונספט נורא מורכב- בואו תקימו Cluster, שהוא Single-load, וכל ה-Cluster בסופו של דבר ינתב את כל ה-Traffic ל-Server אחד, ויהיה לכם מאוד ברור איזה Server הולך לקבל Traffic, בלי כל הסיבוך הזה של Load Balancing”.
    • (אלון) נורא קל ל-Debugging . . . למי שמכיר את הבעיה עם Load Balancer - נורא קשה לדעת איזה Server אחרי זה מקבל את התנועה . . . אחלה רעיון.
    • (רן) ה-Tagline שלו זה “Reduce load-balancing complexity by routing HTTP requests to a single node.”
    • אז תודה מיכאל! תודה על היצירתיות שלך ותודה על הפרודוקטיביות הנוספת שהוספת עכשיו לכל המאזינים של הפודקאסט - אנחנו מאוד מעריכים, ומצפים כבר לפרויקטים הבאים שאני רואה שאתה עובד עליהם . . .
  • (אלון) אז כמובן בטח שעכשיו שמעת ש-Twitter הוסיפו Stories, עכשיו כמו כל אפליקציה, ו-Linkedin הוסיפו Stories, ועוד רגע הבנק שלך יוסיף Stories ולכל אפליקציה היום יש Stories . . .
    • אז מי שהקדים את Twitter זה ה - VS Code!
    • יש פה איזה סרטון ממש משעשע שחובה לראות, על הבחור שהוסיף את ה-Extension ל-VS Code של Stories - איך הוא עשה את זה, למה הוא עשה את זה - ואת הבעיות הטכנולוגיות תוך כדי
    • ממש סרטון משעשע וחמוד
    • והיי - גם אחרי זה תתקינו את ה-Extension ותוכלו לפרסם Stories עם הקוד שלכם ב-VS Code, שזה כמובן מה שרצינו לעשות כל החיים . . .
    • (רן) כן . . .אז אם כל כך רציתם לחלוק עם העמיתים שלכם, עם המשפחה או עם הילדים איך היה היום שלכם ב-VS Code, אז תוכלו פשוט להקליד Story קצר שמתאר איך היה היום שלכם, ולחלוק אותו
      • הסרטון מאוד נחמד - גם טכנולוגי, אבל גם הומוריסטי, מוגש בצורה מאוד גיקית וחמודה - גיקית במכוון - אני בטוח שהרבה מהדברים שם זה משחק, אבל משחק מאוד יפה ונחמד.

זהו - עד כאן דברינו להיום. היה מאוד כיף, וזהו - נתראה בפעם הבאה. להתראות.


הקובץ נמצא כאן, האזנה נעימה ותודה רבה לעופר פורר על התמלול