יום שני, 6 ביוני 2022

440 Bumpers 79


אחרי כמעט חמישה חודשים: רן, אלון ודותן בסדרה של קצרצרים על חדשות טכנולוגיות מעניינות.


רן - 
  • בזמן האחרון אני נמצא הרבה בעולמות של Data Science ורציתי לספר על כמה דברים מעניינים שקורים שם, ואחד מהם זו ספרייה שנקראית JAX
    • ו-JAX זה למעשה מימוש-מחדש לספרייה יחסית-ותיקה שנקראית NumPy, שאני מניח שהרבה מאוד מכירים.
      • זה לא רק מימוש של NumPy - זה משהו שהוא קצת יותר גדול, ומכיל גם לא מעט דברים שמעבר.
    • למעשה זה מימוש-מחדש להרבה מ-Interface של NumPy - לדעתי זה נכתב ב-Google [אכן - google/jax] - ועושה שימוש בטכנולוגיות הרבה יותר מודרניות 
      • למי שלא מכיר, אז ב-NumPy - הרבה חלקים ממנו כתובים ב-C, אבל הרבה חלקים ממנו גם כתובים ב-Fortran וכו’
      • והוא לא עושה שימוש לא ב-GPU ולא ב-TPU או באקסלרטורים (Accelerators) שונים מסוגים שונים -
      • ו-JAX כן עושה את זה, נכון להיום - וגם הרבה מעבר.
    • הוא אמור להיות Drop-in replacement ל-NumPy וגם לכלים אחרים.
    • ניסיתי אותו - בינתיים הוא עובד סבבה . . . עוד לא עשיתי לו ניסוי כלים משמעותי
      • אבל נראה סופר-מעניין, למי שבתחום.
    • אז זהו - פשוט לחפש JAX ותמצאו את זה
    • (אלון) למה, בעצם . . . . למה? מי רוצה את זה? למה לי?
      • (רן) אז אם אתה עובד בעולם של Python ו-NumPy ואתה רוצה לכתוב תוכניות שרצות יותר מהר ממה ש-NumPy נותן לך היום - אז אתה רוצה את זה.
      • כי NumPy בעצמו הוא סופר-סופר מהיר, אבל יש לא מעט שיפורים שאפשר לעשות - בעיקר שימוש בחומרות יותר מודרניות.
      • אז זהו - זו הסיבה שתרצה לעשות את זה . . .
      • אם תרצה - אמרתי . . . אם תרצה.
    • (אלון) אם תרצה - אין זו אגדה . . .
  • (רן) ובעניין אחר, אבל לא רחוק - יוצא לי לעבוד לא מעט עם Jupyter Notebook ובסביבה של VSCode ויש לא מעט אינטגרציות בין שניהם
    • אז אם אתם עובדים באמת עם Notebooks ועם VSCode, אז יש לכם כמה דרכים שבהן אתם יכולים לעשות את זה.
    • אחת זה פשוט לפתוח ולערוך Notebook בתוך VSCode - זה בסדר ל-Notebook-ים קטנים
      • הניסיון שלי הוא שאם ה-Notebook גדול מדי - פשוט ב-VSCode דולף הזיכרון ובסופו של דבר . . . לא VSCode ספציפית, כנראה שזה ה-Extension - 
      • אבל בסופו של דבר זה מתחיל, ככה, לג’עג’ע כשיש Notebook-ים גדולים, בעיקר כשיש הרבה תמונות
    • אז זה לא סופר-סופר נעים - אבל מה שכן, יש עוד אופציה! - אתם יכולים פשוט, בתוך קובץ Python, לייצר Cell-ים קטנים - Cell-ים של Jupyter - ולהריץ אותם
    • היתרון של לעבוד בתוך VSCode הוא שיש לך את כל ה-IntelliSense ו-Copilot, אם אתם משתמשים
      • אז זה יכול לעזור וזה נחמד.
  • (אלון) התכוונת ל-Copilot - ו-Copilot משתמש בך . . . . אני הגעתי כבר למצב שהוא משתמש בי מדי פעם: הוא עושה לי “תזיז את העכבר, אתה מסתיר לי” . . . . וזהו.
    • (רן) אני מניח שהוא עושה בי שימוש לרעה בהרבה מקרים, אבל לא הרגשתי את זה . . .
      • אבל כן - תכל’ס הניסיון שלי עם Copilot הוא סבבה
      • זאת אומרת - לפעמים זה מפריע, אבל הרבה מקרים הוא ממש עושה “בול”, ממש מה שהתכוונתי. נחמד.
      • בעיקר כשאני כותב טקסטים - קבצי ReadMe ודברים כאלה - ההשלמות שם הן ממש יפות.
      • גם בקוד זה סבבה - אבל בטקסטים זה ממש  . . . חוסך “טונה של הקלדה”.
    • (אלון) כן, טוב - קפצנו אליו . . . אבל כן, הוא מדהים - זה  . . . מזמן לא נתקלתי בכלי חדש כזה שמפתחים אשכרה - אם עכשיו יקחו להם אותו, הם יהיו מוכנים לשלם עליו. אין הרבה כאלה . . .
    • (רן) כן . . . לא תמיד החווייה מדהימה, אבל יותר “כן מ”לא” - ובסה”כ זה ממש נחמד.
  • (רן) האייטם הבא שלי, בתחום של Machine Learning - זה איזשהו דף שמסביר איך עובד Random Forest
    • אז Random Forest זה אחד האלגוריתמים הנקרא-לזה-יחסית-קלאסיים  . . . זאת אומרת - זו לא רשת נוירונים אלה זה בעצם אוסף של עצי-החלטה.
    • והדף הזה למעשה בה ומסביר בצורה ויזואלית מאוד יפה - עם Scrolling ככה, “כמיטב המסורת”, Scroll-ים חמודים - איך נבנה Random Forest, ככה, בהדרגתיות.
    • וזה מגניב למי שבא ורוצה להבין את האלגוריתם הזה בצורה ויזואלית - אז יש פה הרבה דברים אינטראקטיביים
      • לא רק ה-Scroll-ים - יש פה גם דברים שאפשר ללחוץ עליהם והוא מסווג אותם
    • בקיצור - חמוד . . . סימולציה נחמדה של Random Forest, כתוב יפה, נראה יפה ויזואלית - מגניב לאללה.
    • (אלון) איך אני מת על כאלה דברים, שמסבירים לך אלגוריתם ב-View . . . איפה הדברים האלה היו כשלמדנו לתואר? . . . .
    • (רן) כן . . . חמוד לאללה. אני זוכר שאפילו הצגנו פה, בטח באחד הפרקים של הסדרה, כל מיני סימולציות של אלגוריתמי-מיון וחיפוש . . . 
  • והאייטם הבא שרציתי לדבר עליו זו ספרייה, או למעשה כלי, שנקרא Gradio - זה בעצם UI ל-Demo של Machine Learning
    • זאת אומרת שאם בניתם איזשהו מודל - נגיד, מסווג של תמונות חתולים - ואתם עכשיו רוצים לתת לאנשים ככה בתוך החברה או ככה לתת לחברים להתנסות
    • אז למעשה, Gradio נותן לכם איזושהי פלטפורמה די פשוטה, שבא אתם יכולים לייצר את ה-UI הזה.
    • זה לא משהו שמתאים ללקוחות-קצה, בדרך כלל - זה לא סופר-סופר-יפה . . . .
      • זה נראה בסדר, אבל אין לזה בדרך כלל איזשהו “touch “מוצרי” מאוד ספציפי
    • אבל בתור איזשהו כלי-פנימי זה מאוד נחמד - אתם בעצם יכולים לייצר מודלים, לחשוף אותם החוצה . . . 
      • הכל כתוב ב-Python - זאת אומרת, הוא מייצר איזשהו Backend ובסופו של דבר הוא מריץ JavaScript בדפדפן, אבל אתם לא צריכים לדאוג לזה.
      • אתם בסך הכל משתמשים בכמה בלוקים - נגיד בלוק של Input, בלוק של Demo, בלוק של Output - והוא בסופו של דבר יודע לחבר את הבלוקים האלה ולייצר Demo חמוד.
    • אז זהו - נחמד למי שרוצה לעשות איזשהו Demo של מודל שהוא בנה.
    • בנוסף . . . . לא אמרתי שבעצם Gradio זו חברה שנקנתה ע”י Hugging Face - אחת החברות הגדולות בתחום של Machine Leaning, בעיקר בתחום של NLP
      • למעשה, נכון להיום - אולי בזמן שהפרק הזה יתפרסם - יש מה שנרא מסיבת בלוקים!
      • מה זו מסיבת בלוקים”? זה בעצם איזשהו אירוע שבו מייצרים בלוקים (Blocks) ל-Gradio
    • אז Gradio מיוצר מבלוקים שונים - אמרתי שיש בלוקים של Input, בלוקים Output, בלוקים של מודלים
    • בעצם, אתם בתור מפתחים יכולים לחבר את הבלוקים האלה, ואז אפשר לחשוב על זה כמו על בלוקים של לגו  - סליחה על האלגוריה הטריוייאלית . . . [חכה שתדרוך על אחד]
    • וזהו - יש מסיבת בלוקים” שבה אתם יכולים לפתח ולהצטרף -
      • זה משהו שקורה Online - בצורה א-סינכרונית, לא צריך ממש להתחבר לשם . . . 
    • אז אם אתם רוצים להצטרף למסיבה - שמתי גם את הלינק הזה.
    • ובכל מקרה, בלי שום קשר - אתם יכולים להשתמש ב-Gradio כדי להחצין את המודלים שלכם.
    • (אלון) אני חייב לציין משהו על ה-Gradio הזה . . . אני שנייה אשלח לכם, כי אני רוצה את דעתכם, שהקהל פה ידע, אז שנייה [חכו רגע עם הקריאה של השורה הבאה לייצר את האפקט . . . ]
      • בקיצור  - עשיתי פה ציור, כדי לבדוק מה הוא מזהה, והוא החליט שזה ספר . . . 
      • עכשיו, אני רוצה לשמוע את דעתכם - עד כמה הוא קרוב למילה “ספר” . . . .
      • (דותן) ציירת כלב עם שפם, או . . . לא יודע, מה זה? . . .
      • (אלון) התחלתי מפרצוף, והוא עשה פרצוף ואז Smiling face אז עשיתי אותו עצוב . . .  ואז רציתי לראות האם הוא מזהה שפם אז אמרתי “נהפוך אותו לכלב” - והוא החליט שזה ספר . . .
    • (רן) כן . . . חשוב אולי להגיד את ה-Disclaimer ש-Gradio זה לא המנוע Machine Learning עצמו - הוא בסך הכל משתמש באיזשהו מודל ונותן לך אפשרות להחצין את המודל הזה, לשחק איתו . . . 
      • אם המודל גרוע אז הוא גרוע - זה לא אשמתו של Gradio, לצורך העניין . . . . זו אשמת מי שבנה את המודל.
    • אבל אני כן אגיד שראיתי לא מעט ממשקים כאלה לדוגמא - בחלק מהממשקים זה עבד מגניב ובחלק מהמקרים ממש לא
      • אבל שוב - זה עניין של הכוח של המודל עצמו - Gradio זו בסך הכל איזושהי ספריית UI שעוזרת לך להחצין את המודל ולתת לאנשים לצייר או לכתוב משפטים או להשלים משפטים או דברים בסגנון הזה.
    • (אלון) כן, האמת שזה מגניב . . . יש פה עוד דוגמאות חוץ מהציור הכשרוני שלי שהמודל דפוק, האמת שזה די מגניב . . .
    • (רן) זה נחמד כשאתה  . . .
    • (דותן) זה מעניין ב-Context של ילדים גם - זה די מפשט דברים, לאקספרימנטציה . . .
    • (רן) ה-Use case שהם בנו זה שיש Researcher שמייצר איזשהו מודל, ועכשיו הוא רוצה לתת את זה, נגיד, למשתמשים פנימיים כדי לבדוק אותו - והם יכולים לתת לו פידבק.
      • אז לפני כן זה היה קצת מסובך - זאת אומרת: “שילחו לי תמונות” או “תנו לי טקסטים ואני אריץ במודל ואגיד לכם מה ה-Output” . . . .
      • וככה עכשיו כל אחד יכול לשחק עם זה אינטראקטיבית, דרך האפליקציית Web, וזה נחמד.
    • וכן - נראה לי שגם לילדים זה חמוד . . . .יש ספרייה די גדולה, אם תסתכלו על ה-Quickstart או על ה-Guides, אז יש שם לא מעט דוגמאות של דברים שכבר עובדים ואתם יכולים לשחק איתם.
    • (דותן) אני מנסה את ה-DALL·E mini - זה יעבוד? [כן! . . .]
    • (אלון) וואי! זה מקביל ל-DALL·E הזה? . . . . 
    • (דותן) בוא נראה כמה זה טוב - זה לוקח מלא זמן בינתיים . . . אה, אוקיי . . . 
    • (אלון) טוב, אתה עושה ספויילר . . . יש לך את DALL·E, אני מקווה, באייטמים . . . .אם לא אז אתה עושה פה . . .
    • (דותן) אין לי . . . 
    • (אלון) טוב - אז מישהו צריך לשים [כי לא ראינו מספיק Raccoon Astronauts . . .]
    • (דותן) אני מנסה ואז אני אגיד לכם . . . . 
    • (רן) נגיד יש איזשהו Demo שמראה תמונות אולטראסאונד ויכול למצוא איזורים חשודים בתוך תמונות אולטראסאונד . . .
      • יש כל מיני כאלה של “לענות על שאלות”, “שאלות ותשובות” ודברים כאלה . . .
      • יש פה כמה דמואים נחמדים - וכמו בהרבה דמואים, זה עובד על הדוגמאות שהם נותנים ולא תמיד עובד על על דוגמאות אחרות שאתם מביאים מהבית . . . 
    • בכל מקרה, כמו שאמרתי - זו בסך הכל ספריית UI, זה לא המודל עצמו - על המודל אתם אחראיים . . . 
      • זה בסך הכל עוזר לכם לתת את המודל שלכם לבדיקה.
  • זהו, עד כאן להיום - אני סיימתי את החלק שלי . . . כמו שאמרתי - קיצצנו הרבה. אז אליך, דותן.
  • (דותן) טוב, מעניין - בינתיים ה-DALL·E mini הוא נחמד . . . עשיתי “Computer in the sea” ויצאו דברים נחמדים, אבל לא באיכות כמו של DALL·E האמיתי . . . טוב, אז נתחיל.

דותן - 
  • האייטם הראשון זה נקרא jaq - זה בעצם jq clone
    • והפוקוס שלו [של jaq], מעל ה-jq שכולם מכירים, זה “Correctness, Speed, and Simplicity
      • ונראה לי שאת אף אחד מהם לא צריך . . .
    • אבל[!] - זה כתוב ב-Rust, שאת זה כן צריך . . .
      • רגע -  אלון . . . .
    • (רן) ה-jq הוא ב-JavaScript, אם אני זוכר נכון . . . .
      • (דותן) לא - הוא ב-C . . . הפתעה!
    • עכשיו, האמת ששום דבר מזה לא באמת צריך . . . . אולי, לא יודע, “Correctness”? . . . 
    • אבל הקטע המעניין הוא  . . . הוא גם נתן איזשהו בלוק ב-ReadMe, שהוא יצר את jaq כי הוא לא היה מרוצה מה-Startup time של jq - שזה 50ms . . . . זה לא היה מספיק טוב לו.
      • זו עוד סיבה לא לעשות . . . .
    • אבל הדבר המשוגע פה, שכן מצאתי כמעניין, או Intriguing, זה שזה 30 פעמים מהר יותר מ-jq . . . פי 30
    • קשה לי לחשוב . . . אלא אם כן הדבר הזה לא עושה כלום, קשה לי לחשוב על כלי שנכתב ב-C ואז כלי אחר שנכתב ב-Rust וה-Rust עושה לו out-perform של פי 30, זה דווקא ה-Highlight . . . משוגע.
    • (אלון) אני מניח שהבנאדם המשוגע הזה, אם מפריע לו ה-50ms של כלי שאתה משתמש בו לא-יודע-פעם-בכמה-זמן-למי-אכפת - כמה זמן הוא שרף מהחיים שלו? שנייה? על שימוש בכלי . . . 
    • (רן) תרשה לי לנחש שהוא כנראה לא משתמש בצורה אינטראקטיבית . . . הוא מריץ על איזשהו Batch וה-50ms האלה מצטברים . . . 
    • (אלון) כן, אני יודע. . . בסדר, אני צוחק - אבל אני מניח שההבדל הוא באלגוריתם . . .
    • (דותן) איזה Porting של איזה כלי משיג פי-30 Performance? זה לא . . . 
    • (אלון) אני מאמין שאפילו Python יביא לך את ה-Performance של פי- . . . אולי לא פי-30 - פי-1, אבל . . . 
    • (דותן) מול C . . . 
    • (אלון) כן - אבל אני מניח שזה יותר האלגוריתם מאשר השפה.
    • (רן) כן - האם לעשות לזה  . . . האם לטפל בכל מיני מקרי-קצה ודברים כאלה
      • זאת אומרת - JSON זה משהו שיש לו כבר לא מעט Legacy ויכול להיות שה-Parser ה-Rust-י לוקח כנראה  . . .
    • (דותן) זה בהחלט יכול להיות . . תעלומה.
      • האמת - זה פשוט נחת אצלי בתיבה של הדברים המעניינים ויש לי איזושהי תוכנית להבין למה, מתישהו . . . 
      • אז זה הנחמד ומה שנקרא “אתגר למאזינים” . . . 
    • (אלון) הימור שלי - אני מוכן להמר על חמישה שקלים, או עשרה שקלים - מה ההימור הקבוע שלנו? שכחתי . . . . - 
      • (רן) תהמר על חמישים . . . .
      • (דותן) כוסות שתייה . . . .
      • (אלון) כוסות שתייה, אין בעיה . . . . פרקים בפודקאסט! אני מוכר ב-NFT . . .  אני מחלק את הפרק הזה ב-NFT לראשון שמוצא את הפתרון [ההשתתפות אסורה על זהר ובני משפחותיהם]
        • אני אומר שאם מישהו משועמם מספיק יקח את הקוד ב-Rust, יבין מה הוא עשה ויכתוב אותו בחזרה ב-C - יהיה in-par ב-Performance . . . . זו דעתי פה.
      • (רן) עיזרו נא ילדים לדותן למצוא . . . 
      • (דותן) תפתח לו Issue ב-Repo ותבקש להמיר בחזרה ל-C ולראות אם זה אותו הדבר . . . 
  • טוב - האייטם הבא, והאמת שהוא טיפה יותר לימודי ומוחשי מזה: יש בחור שאני מכיר אותו יותר לפי ה-Twitter-name שלו מאשר כל דבר אחר, והשם שלו הוא Christoph Nakazawa - נדמה לי שזה cpojer@ או משהו כזה ב-Twitter
    • אני כבר לא כל כך זוכר מאיפה אני מכיר אותו . . . אולי מהצוות של React Native . . . . - והוא כתב שני מאמרים מאוד מאוד מעניינים לדעתי
    • אחד מהם זה על איך לבנות JavaScript Testing Framework, בכלל . . . 
      • איך בונים, מאיפה מתחילים . . . 
      • מן הסתם זה Walk-through כזה, שמביא אותך עד לקונספט של איך לבנות Testing Framework באופן כללי.
    • והשני זה איך לבנות JavaScript Bundler - שזה גם מעניין . . . 
      • יש הרבה מאוד Bundler-ים ב-JavaScript היום - webpack ו-Vite ואחרים - ואפשר לתהות מה שונה האחד מהאחר . . . 
      • ואז כדי לענות על זה - צריך להבין איך בונים את זה
      • וזה מה שהוא עושה במאמר השני - מאוד מעניין, וקצת נותן מבט לעולם הזה של ה-JavaScript Bundlers השונים.
  • האייטם הבא זה אייטם שקצת פוצץ לי את הראש . . . יש אפליקציה שנקראית - אפליקציה או לא יודע כבר איך לקרוא לזה, אבל נגיד אפלקיציה - שחיה על ה-Browser, כמו Figma וכמו הרבה אחרים “שנולדו לתוך Browser” או באו מתוך Browser - זה נקרא spline וזה פשוט 3D-Dsign ב-Browser
    • וזה מטורף - זה שזה עכשיו קורא ב-Browser ולא ב-3D Studio או בכל תוכנה אחרת - זה כבר ניהיה “של פעם” . . . 
    • זה שעיצבו את ה-3D זה אומר שאפשר לעשות כל מיני קולבורציות (Collaborations) . . .
      • אפשר לעשות כמו Embed ל-3D Stuff שלך
      • דברים משוגעים . . . 
    • הדבר הזה די תפס את הקהילה של ה-3D בסערה - הרבה כמו מה ש-Figma עשתה ל-Design ול-Photoshop, אפילו ל-Sketch - גם אז זה היה נחשב לפריצת דרך.
    • כשנכנסים לאתר שלהם אז כבר באתר עצמו, בגלל שהכל פה ב-Browser, אז זה מדהים . . . 
    • (אלון) איך זה עובד ככה? מה זה - WebAssembly? כאילו, עם WebGL? איך הם הגיעו לרמה הזאת? . . . 
    • (דותן) זה  . . . האמת שנורא חפרתי ולא הצלחתי לגלות כלום . . . 
      • חיפשתי איזשהו Blog-Engineering, חיפשתי איזשהו GitHub, אולי איזושהי מודעת דרושים, להבין במה הם משתמשים . . . ולא הצלחתי
      • השקעתי בזה איזו רבע-שעה-עשרים-דקות בחיפוש
    • אבל זה מדהים - מהדרך שבה זה רץ עד ה-Widget-ים בתוך ה-Browser, שאתה יכול לערוך ולשלוט ו . . . וואו . . . כאילו, זה מטורף.
    • (אלון) גם הדוגמאות שלהם  . . . כן, זה ממש מדהים איך שזה עובד כל כך מהר, זה . . . ממש מדהים
      • המחשב שלי עם ה-200 GPUs שלו סוחב את זה בקלות, אבל זה עדיין מדהים . . . 
    • (דותן) תראה - Figma זה מקרה מאוד משוגע  . . . אם תחשוב על זה אז Sketch עשה Disrupt ל- Photoshop - וכולם חשבו ש-Sketch זה ה-Endgame
    • והקולבורציה, לפחות ב-Figma, היא באמת משוגעת - למשל, המנוע-קולבורציה (Collaboration Engine) נשאב ממנועים של Multi-Player, במשחקים . . . 
      • ואז, כשאתה מעצב עם עוד מישהו בתוך האפליקציה, אז אתה בעצם רואה אותם זזים כמו שחקנים - הכל ב-real-time והכל . . . מדהים.
    • (אלון) זה כבר הסטנדארט - לראות את העכבר של כולם, לראות מי קם שנייה . . .
    • (דותן) בקיצור - מדהים. לא שאני מעצב ב-3D . . .  לפני 20 שנה עשיתי 3D Studio וכאלה, אבל וואו . . . מטורף.
  • עוד כלי קטן שמצאתי, שככה “מגרד לי כאב מאוד ספציפי” - זה כלי שנקרא pup
    • והוא בעצם  . . . אם מישהו מכיר, אני כותב בלוג-פוסטים ב-Markdown בדרך כלל ואחרי זה מה-Markdown מעלה את זה ל-Medium או לכל מיני מקומות אחרים.
      • והקטע המעצבן הוא שכשאתה רוצה לשים Images של תרשימים וכאלה, אז הלינקים נשברים - כי הם מפנים לתוך ה-Repositories שיש לך
      • אז בדרך כלל אני מחליף אותם באיזשהו Image-sharing Service כלשהו וזה קצת תהליך ידני
      • ועשיתי את זה, בעצם בלי לחשוב אפילו על להחליף את התהליך הזה, פשוט עשיתי את זה שוב ושוב ידנית  בלי כל כך לשים לב לזה שאני מבזבז המון זמן.
    • אז זה כלי מאוד נחמד שעושה Parsing ל-Markdown, מחלץ החוצה את כל ה-Images, מעלה אותם ל-Service Images, בתשלום או חינמי - “ותופר” את זה בחזרה לתוך ה-Markdown.
    • מאוד מאוד נחמד, התחלתי להשתמש בו באופן תדיר ורגיל
    • (אלון) מגניב, כתוב ב-Rust . . . 
    • (דותן) כן, כתוב ב-Rust . . . האמת שאתה תראה שזה טרנד . . . . 
      • בכלל, באופן כללי - יש מלא כלים משוגעים שכתובים ב-Rust 
      • ואני חווה, לפחות בחודשים האחרונים, איזשהו “פרץ של כלים” שפשוט נכתבים ב-Rust . . . 
    • (רן) אתה יודע, קוראים לזה הטיית האישוש” . . . . אבל זה בסדר.
    • (דותן) יכול להיות . . . .
      • (רן) . . . והבת שלי הולכת ממש לעוף על ה-Studio הזה . . . ממש חמוד ה-3D Studio, מגניב . . . .
    • (דותן) . . . יכול להיות, אבל אני חייב להגיד לך שאני די “במדידת דופק” על הרבה איזורים וגם אם אני נגיד משווה את זה ל-Node ו-Ruby וככה - איך שהתפתחה הקהילה - ואני די מרגיש שעכשיו זה ה . . . יש כיוון כזה, כשאתה פורץ איזשהו קו ואז טכנולוגיה שהייתה Buzz הופכת להיות ממש “גועשת”
      • ונראה לי שזו די הנקודה עכשיו, אני מרגיש שדברים תמיד בסביבה, שקורים.
  • אז עוד כלי נחמד שנקרא kondo - מלשון Marie Kondo, אותה אחת שפיתחה אני מניח “דרך חיים של סדר וניקיון” . . .
    • לא שאני שותף לזה . . . הייתי רוצה . . . 
      • (רן) שותף פאסיבי . . .
    • (דותן) כן . . . אז מישהו כתב כלי שבעצם עושה “סדר וניקיון” בקבצים
      • צריך לשים פה איזה 800 Disclaimer-ים, כי הכלי הזה בעצם מוחק דברים . . . .
      • הוא מוצא כל מיני קבצים מיותרים - Artifact-ים כאלה שזרוקים, כל מיני Shit כזה ש-Build system זרקו איפשהו - ומנקה את הדברים האלה.
    • זה גם כלי שכיום לא ממש צריך . . .  כי למה לבזבז? יש לך המון מקום, למה לבזבז זמן ולהסתכן בלמחוק קבצים שאולי אתה צריך? . . .
      • אבל אני חייב להגיד שלפעמים יש מערכות בהן באמת מייצרים “הרים של דאטה” כחלק מה-Build שלהם
      • או לחליפין - הדברים האלה יכולים להכיל מידע סודי / פרטי / אישי שלא רוצים שבטעות יידחפו לתוך איזה Repo או משהו כזה, אז שווה כן לנקות.
    • זהו - כלי נחמד, שתומך ספציפית בטכנולוגיה
      • נגיד Haskell הוא מכיר, Node הוא מכיר וכל כלי פיתוח שיש - לומדים אותו, הבחור הזה לומד את הכלי ומייצר לו כמה יוריסטיקות של מחיקה של Cache Data.
  • אני ארוץ נראה לי טיפה יותר מהר . . . אז הספרייה הבאה היא Zag, שזה State-Machine Framework
    • בזמן האחרון יש איזשהו “רנסנס של State Machines” ויוצאים המון State Machines Contents
    • וזה אחד שפותח ע”י הצוות שפיתח את Chakra UI, שהיום אפשר כבר להגיד שזה אחד ה-Framework-ים ל-UI המובילים שיש ב-React.
      • אז הם הוציאו גם את זה.
    • סטנדרט האיכות שלהם הוא מאוד גבוה וזה מאוד Complete - כמו הרבה מאוד דברים שהם עושים
      • אז אני מאוד ממליץ, למי ששוקל לאמץ State Machine ל-Client Side.
    • (רן) ב-”State Machine” אתה מתכוון לדברים בסגנון של Redux, מלפני כמה שנים?
      • (דותן) לא, לא State Management - פשוט State Machine, כמו שאנחנו מכירים, “בחיים” . . .
    • (רן) אוקיי . . . ומתי תשתמש בו? למה זה כל כך . . .
      • (דותן) ל-UI יש State, ולפעמים אתה פותר את ה-State הזה בקוד, 
      • כאילו - “If המשתנה שלי בבטן הוא 8 אז . . . .” וכו’ וכו’ . . .
      • (רן) הבנתי . . .
      • (דותן) ועוד פעם - זה קצת מצחיק, כי זה מדעי המחשב ל . . . 
    • (רן) וזה עוזר לך למדל את זה בצורה יותר פורמאלית . . . 
      • (דותן) כן . . . זה מדעי המחשב, לא יודע אם סמסטר א’ או ב’ . . . 
    • (אלון) זה אוטומטים לכל דבר . . . . [ד”ש לגדי]
    • (דותן) אז עולם ה-Frontend גילה שזה אחלה Pattern להשתמש בו - ואפשר.
      • ועכשיו, כאילו . . . 
    • (רן) נגיד - Flow של Onboarding של משתמש חדש, אז כנראה יהיה לך שם ספריית מצבים . . .
      • (אלון) . . . ואז אם מישהו חוזר - אז לאן הוא חוזר ומה הוא יכול לעשות וכל זה . . . כאילו, כן . . . אוטומט.
    • (דותן) אז ה-Highlight הוא, שוב פעם - שזה התגלה
      • ואנחנו מקבלים בזמן באחרון ספריות State-Machine-Dedicated, כאילו - Literally State Machine, אתה בא, מעצב את הצעדים שלך וזה בא איתך - קדימה, אחורה ובכל מיני מקומות.
  • עוד אייטם מאוד נחמד - למי שמכיר ngrok, אז זה כמו Binary שאפשר להוריד בחינם, ויש את זה גם בכסף, ברישיון - 
    • הוא בעצם פותח לך Tunnel לעולם ואתה יכול לתת למישהו Unique URL כזה, שלך
      • והוא יכול לגשת ל-Service שרץ ממש על המחשב שלך
      • כמובן שה-Tunnel הזה חוצה כל, נקרא לזה “מכשולים של Network”, אפשריים . . . 
      • וזה העניין - אתה פשוט רוצה לתת למישהו URL לגשת ל-Service המקומי שלך.
    • אז bore זה בעצם אותו הדבר - לגמרי Open Source
    • כלומר - מי שרוצה ומעוניין יכול לקחת את זה במקום את ngrok ופשוט להנות מכלי שהוא חינמי לגמרי.
      • וכמובן אתה יכול גם לקרוא את הקוד שלו ולהבין שהוא לא גונב לך דברים . . .
      • לא שאני אומר ש-ngrok עושה את זה, אבל כל אחד והפחדים שלו . . . .
    • סופר-סופר נחמד לדעתי.
  • הכלי הבא, או הספרייה הבאה - זה נקרא Jest Preview
    • חזרה ל-Frontend . . . .
    • בעצם, זה נותן לך להריץ טסטים ב-Jest, למי שעובד עם Jest
    • הוא פותח אוטומטית Server מקומי שמגיש את כל מה שהטסט עושה פשוט ל-HTML, ל-App
      • אתה יכול לפתוח Browser ולראות מה הטסט עושה, ב-Real time
      • זה בהנחה שהטסט בודק UI
    • אני משתמש בזה וזה חוסך המון זמן, כי  תמיד אתה מנסה לנחש איך נראה ה-UI שהטסט כרגע מייצר ובודק . . .
      • אתה מנחש את זה או בטלפתיה או בכל מיני דרכים לא יעילות ומוזרות . . . 
    • (אלון) יש את ה-USB של הטלפתיה, במחשב . . . אם יש לך אז אתה מחבר וזה עובד . . .
    • (דותן) אה, זה גם . . . 
    • (רן) זה לא Port סריאלי (Serial)? זה Port סריאלי . . . 
    • (דותן) כן - אבל צריך דרייברים . . . .
    • (רן) עפנו על עצמנו . . . .
  • (דותן) עוד כלי - זה נקרא WTF, לא נגיד את הראשי-תיבות כי אנחנו בעצם תחת Age Restriction בפודקאסט . . . . [גם את הפינה הזו סגרנו בפרק עם זהר, לא?]
    • אז זה פשוט Dashobard למפתחים - יש כאלה, נגיד Glances שאני זוכר מ-Python
    • זה Dashobaord נחמד שמרכז לך המון דברים ,כתוב ב-Go, כלי . . . 
    • (אלון) אמרת Go בטעות - התכוונת ל-Rust . . .
    • (דותן) לא, האמת שזה כתוב ב-Go במקרה . . . “בטעות”, הייתי אומר, אבל בסדר . . . 
  • ובמעבר חד ל-Database-ים - יש פה מאמר שקראתי, ולדעתי הוא מרתק - כי הוא נותן לך המון פשטות בזה - על איך בונים . . .
    • לא יודע אם זה “איך בונים”, אבל זה על מה הקווים לבנייה של Postgres Database שהוא Distributed
      • כמו הרבה Database-ים, נקרא לזה “דור חדש++” - CockroachDB וכל מיני כאלה
      • הם משתמשים בפרוטוקול של PostgreS, אבל בסוף כמובן שזה לא PostgreS
    • אז יש פשוט “יד ביד”, בשפה שאני יכול להעיד שהיא די פשוטה לכל אחד שמכיר קצת Database-ים
    • והוא מלמד איך הדבר הזה נבנה - מרתק, ומייצר נקרא-לזה-Inspirition 
      • אז אפשר, למי שרוצה לעשות איזשהו פרויקט אקדמי או פרויקט-תחביב - לדעתי לגמרי אפשר להתחיל מזה ולבנות איזשהו צעצוע של Database” כזה . . . 
    • (אלון) עד כמה זה קרוב למציאות וכמה זה הנחות מאוד נאיביות - יש לך מושג? . . . 
    • (דותן) תשמע, זה קרוב-עד-כדי ה . . . אני חושב, בגלל שאני זוכר את התקופה הזאת, שזה קרוב עד כדי ההתחלה עם Raft . . .
      • למי שזוכר את Raft - אז כשהוא יצא, יצאו כל מיני “התאמות” לכל מיני מערכות
        • אני לא זוכר אם ZooKeeper היה גם בסיבוב הזה . . . 
      • אבל יצאו כל מיני מערכות שעלו כ-Cluster - וזה היה גרוע, בכל מיני צורות
      • ואז אני חושב שגם בפודקאסט דיברנו על Jepsen והבדיקות האלה של מלא מערכות שהן Distributed שנכשלו . . . 
        • [2013 נראית פתאום כל כך רחוק . . . מעניין גם כפרספקטיבה - 187 Final Class 31 - ThoughtWorks Radar 2013]
        • תקופה כזאת . . . מה שנקרא “חבלי לידה” של הטרנד הזה
        • ואני חושב שהמאמר הזה הוא די מקביל לאז . . . 
    • כלומר - אם היום אתה תחפש איך בונים דברים עם Raft, שזה פרוטוקול, נקרא לזה קונסולידציה (Consolidation) של Distributed Systems, אז כנראה שאתה תקבל מאמרים דומים
      • רק שזה טייק על “בוא נדבר רגע על PostgreS, בוא נראה . . . .”
    • מה שאהבתי פה זה שהוא גם נותן לך תחושה - וזה גם קצת מציאותי - שה-Wire Protocol של PostgreS הוא מאוד עוצמתי.
    • אז אם אתה רוצה לכתוב Database חדש, אז למה לא להשתמש בזה כאיזשהו Façade מעל ה-Database שלך?
      • אין שום סיבה שלא, וזה גם חלק ממה שהוא אומר - זה גם מעניין
    • (אלון) מעניין . . .
    • (דותן) נגיד, אם Mongo מממשים איזשהו Interface של PostgreS DB - אז זה יכול להיות גם מעניין.
      • אני רק שם את זה פה . . . 
      • ואז אפשר להחליף את המנוע ב-PostgreS, אבל . . .  בסדר.
    • (אלון) בקיצור - לקחת PostgreS, וכשיש לכם בעיות אז כנראה שניצחתם . . . .לא, סתם.
  • (דותן) האייטם הבא - נכון, זה גם Rust, אבל האמת שדרכו גילית משהו שהופתעתי איך לא ראיתי - יכול להיות שאתם מכירים את זה כבר: יש ספר שיצא, מסתבר, יחסית לא מזמן אבל לפני כמה שנים, שנקרא Code the Classics - יצא לכם לראות את הדבר הזה?
    • (אלון, רן) לא . . . .
    • (דותן) זה ספר נייר - ויש אותו גם בגרסא דיגיטלית בחינם - אבל אני חושב שה-Highlight בו הוא שזה ספר שאתה קונה והוא פיזי . . . .
      • אז קודם כל הוא עוסק במשחקים קלאסיים
      • והדבר המדהים בו זה שהוא יפה - זה כמו מגזין כזה, חתיכת אומנות
      • אז בעצם צילמו משחקים קלאסיים שם וחתכו כל מיני חתיכות של אומנות מתוך המשחקים ופרשו את זה בצורה מאוד יפה
      • זה מדהים לכל אחד - ואני חושב שזה מדהים למי ששיחק במשחקים, מי שמספיק זקן כדי להיות כזה ששיחק בהם.
    • זה המוצר שאתה קונה - אבל בעצם התוכן הוא איך לתכנת את זה, את כל המשחקים האלה . . . 
      • וזה מלווה בסיפור מאוד מאוד ויזואלי.
    • הספר מלמד איך לתכנת את זה ב-Python, שזה נראה סביר כי זו שפה מאוד Accessible לכולם.
    • זה Volume 1 - הבנתי שאמור היה להיות Volume 2 כי חיפשתי ולא מצאתי, אבל יכול להיות שבסוף לא היה . . .
    • ואז בעצם בא מישהו ובנה את  . . . עשה Porting למשחקים האלה ב-[אלון מרגיש הפרעה בכח]-Rust  . . .
      • עם בערך שלושה או ארבעה Game Engines שונים ב-Rust - כאן: rust-game-ports
    • אז זה מעניין - כי אתה יכול פשוט לכתוב את זה בשפה אחרת וגם לראות איך מנועים שונים מתפקדים בצורה אחרת 
    • ובכלל - Rust כ-Gaming Language זה דבר מעולה, בכלל - לנסות להתפקס על זה ולכתוב משחקים ב-Rust
    • אז זה ממש נחמד . . . אני הורדתי את ה-PDF של הספר הדיגיטלי בחינם - אפשר לקרוא, מדהים.
    • זהו . . . פיספסתי פשוט את הדבר הזה. תופעה מדהימה.
  • האייטם הבא זה React Hook שאומר לך מה קורה עם הקומפוננטות (Components) שלך . . .
    • ככה, “Hook כזה קטנצ’יק” . . . ואתה יכול לדבג עם זה קומפוננטות (Debug components)
    • פעם היה why-did-you-render כדי להבין שיש “קומפוננטות מגעילות” כאלה שמרנדרות (Render) סתם כי  . . לא יודע, הן מקבלות דאטה שהוא חדש “סתם”, זאת אומרת שונה ברפרנס אבל לא שונה במהות של הדאטה.
    • וזה אחלה Hook שאורז בתוכו כמה וכמה כלים - פלוס כמה דברים שאני לא חושב שהיו בספריות אי פעם
    • ממש - אין שום סיבה שלא להשתמש בו, ממש מגניב
      • ממליץ מאוד לכל מי שעובד עם צוותי Frontend או בכלל עושה Frontend.
    • מעבר חד - . . . 
    • (אלון) יש לו Mode “לכבות אותו”? . . .  כי הכי הגיוני לפזר אותו בכל הקוד וכאילו “Tick” . . . מקסימום תדרוס אותו, זה Java, למי אכפת . . . .
  • (דותן) האייטם הבא זה אייטם קצת מטורף, כאילו . . . זה אתר שנקרא copy.sh, שמאחוריו יש GitHub Project שמאחורי הטכנולוגיה
    • וזה בעצם סוג של Porter אוטומטי מ-x86 Machine ל-Wasm
    • מה זה אומר? זה אומר שיש פה אתר שבו אתה יכול בעצם ללחוץ על אחת ממערכות ההפעלה, מ-Linux עד Windows 95/98 וכו’
      • ופשוט אתה מקבל את מערכת ההפעלה בתוך ה-Browser, בחתיכת <iframe> שמחורי הקלעים . . . .
    • (רן) אני מנסה את . . . אני ב-Windows 3.1  . . . 
    • (אלון) אני ב-Windows 2000 חברים - ואני מנסה לשחק שולה!
      • [בום!]
    • (אלון) רן - בוא נראה . . . CMD עובד? אני עושה Run-cmd . . . די! 
      • [צרחות]
    • (דותן) זה משוגע . . . כנסו ל-GitHub Repo ונסו ככה להרגיש את השטח - 
    • (אלון) . . . “A Duplicate name exists on the network” . . . . מישהו נראה לי התחבר לי למכונה או משהו, יש לי Error  . . . 
    • (דותן) בקיצור - זה משוגע, אני אפילו . . . “המוח מתפוצץ” מה שנקרא.
    • (רן) זה חמוד מאוד . . . רק יש פה איזשהו Bug - העכבר לא במקום שהוא אמור להיות, כאילו . . . .
    • (דותן) נכון, כן . . . יש כן . . . תשמע, זה רק אומר שזה ממש אמיתי . . . .
    • (רן) כן . . . 
      • (אלון) שמע, אם אני עושה Format למכונה - מה קורה?
      • (דותן) לא, אל תעשה אתז ה, די נו . . . אל תהרוס.
      • (אלון) אבל מה קורה?
      • (דותן) באים אנשים אחריך, תשאיר את זה נקי . . . .
      • (אלון) לא - זה משותף או שמראים לך את זה בכל פעם? ואם אני מפרמט? . . . .
      • (דותן) לא יודע . . . . כמו שאני מכיר אותך, נראה לי  שזהו - זה היה האייטם . . . 
      • (אלון) היה האייטם - ואי אפשר כבר להיכנס אליו יותר . . . .
      • (דותן) טוב, זה היה נחמד . . . 
      • (אלון) כן ,הנה - אני אשאיר פה Comment ואז אני אדע - אני אחזור ואבדוק אם הוא קיים
      • ואז אני אדע אם אני יכול לעשות  ניסויים יותר מורכבים . . . .
  • (דותן) טוב . . . אייטם הבא, נמשיך לרוץ - יש פרויקט שנקרא ruffle - וזה Flash Player emulator
    • כאילו שלא היה לנו מספיק Flash בחיים  . . . 
    • זה כתוב גם ב-Rust, עובד
      • ראיתי שיש אנימציות עובדות, אינטראקטיביות עובדת
      • לא יודע אם בחיים צריך שוב פעם Flash  . . . אני מניח שיש כאלה  שצריכים Legacy staff . . . .
    • זה גם סופר-נחמד, גם Wasm פה בסיפור
    • ואם לא אמרתי קודם, אז גם הדבר המשוגע הזה של ה-Virtual Machine כתוב ב-Rust
  • האייטם הבא נקרא bionic reading
    • למי שראה, יש בשבועות האחרונים איזשהו טרנד של bionic reading . . .
    • (אלון) כן - זה התפוצץ ב-Twitter באיזו התלהבות ש . . . .הוציאו את זה.
    • (דותן) אז יש לך טקסט - והמוח האנושי מסוגל להשלים מילים “אוטומטית”, אז למה לא לתת לו לעשות את העבודה שהוא יודע לעשות?
    • “אז בואו ניקח חלקי מילים, “נאיר” . . . . “ - קראתי את האלגוריתם של הפרויקט פה -  . . .  “נאיר בסביבות חצי מהמילה בצבע מודגש וחצי בצבע פחות מודגש”
      • וככה, בעצם, המוח שלך יודע להתפקס על ההתחלה של המילים ולהזניח את יתר המילה
        • כי יתר המילה פחות מודגשת . . . 
      • וכמובן שכל הסיפור הזה מתבסס על זה שאתה מתרגל לזה ואז קורא חצאי-מילים, המוח שלך קורא חצאי-מילים - וזה רץ הרבה יותר מהר.
    • אז יש פה מישהו שכנראה נחשף לטרנד הזה, ראה תמונה של זה - ומימש בערך בעשר שורות של JavaScript ל-Extension ל-Chrome - שפשוט עושה לך Bionic Reading להכל.
    • אני חסיד של כל השיטות האלה - טכניקות Speed-Reading וכאלה
      • ניסיתי את זה קצת - ואני חושב שזה טוב, בסה”כ
      • אם אתה מצליח להתרגל לזה זה טוב . . . 
      • אני לא יודע מה זה יעשה לך בעתיד- כאילו, אם אתה מתרגל לזה, אז מה יקרה כשאתה קורא טקסט פשוט, לא בצורה הזאת, נראה לי קצת מפחיד . . . .
      • אבל די נחמד בסה”כ . . . .
    • (אלון) אני חושב שהמימוש שלו מאוד נאיבי . . . אם תסתכל על האתר של ה-Bionic Reading, אז קודם כל יש שם כל מיני Flavour-ים והטקסט שהמקורי מג’נרט (Generates)מרגיש “יותר שלם” . . . 
      • משהו בחצי הזה לא בדיוק שם . . . . שם הוא לוקח, אם נגיד יש את ה-”Reading” אז הוא יקח את ה-”R” או את ה-”Read”, אבל הוא לא יעשה לך חצי מילה, כאילו באמצע - “Rea” וכאלה . . .
    • (דותן) כן, אני מסכים שיש פה איזה  . . . . החלק הכייפי הוא שאתה יכול פשוט לקרוא את זה 
      • ובגלל שזה Extension ל-Chrome אז אתה יכול פשוט לשנות את זה בעצמך . . . 
    • (אלון) כן, אני רק חושב שבמקורי מחובר לזה מילון ופה לא . . . זה אני חושב ההבדל, ואז הוא יודע  . . .
    • (דותן) אתה יכול להוסיף מילון בקלות, זה החדשות הטובות . . . 
    • (אלון) לא, אני בטוח, רק מה שמוזר לי - למה זה לא Extension נורמאלי? למה הוא לא עשה לזה Publish? קטע . . . 
    • (דותן) לא יודע . . . 
    • (אלון) טוב - יש פה הזדמנות עסקית . . . 
    • (דותן) יכול להיות, לא יודע . . .  יש את מה שנקרא Jiffy Reader שזה גם נראה לי שלו, אולי זה זה . . . 
      • כאילו, אולי הוא התחיל ממשהו ואז . . . 
    • בכל מקרה - זה אחלה ומי שאוהב להתעסק  . . . בגלל שהפרויקט מאוד קטן אז נראה לי שמאוד קל לשחק עם זה  ולעשות דברים מעניינים.
  • האייטם הבא נקרא RustDesk - זה פשוט Team Viewer שהוא Open Source
    • כתוב ב-Rust
    • ונראה שהדבר הזה עובד ומתקתק ועובד טוב . . . .
    • תמיד מדהימה אותי הטכנולוגיה ל-Screen Sharing - כי זה כל כך הרבה דברים במקום אחד
      • זה שליטה על כל ה-Input Devices ולרנדר (Render) ודרך רשת ו . . . זה משוגע
    • אז למי שרוצה ומעוניין לבדוק איך זה עובד - יכול להיכנס לפרויקט, זה Open Source
      • יש פה גם UI, גם Server - 
      • וגם את החלק הנקרא-לזה-Frontend-י - כל ה-Widget-ים וכו’ - אז זה Flutter
  • זהו, אייטם אחרון -  יותר בסימן השוק ומה שקורה בחוץ: יש המון פרשנויות בועה-לא-בועה וכו’ וכל מיני דברים כאלה . . .
    • [הם כן]
    • אני לא מתייחס לזה - אבל אני מתייחס לאיזשהו וידאו שראיתי, של איזושהי קרן שנקראית Craft Ventures
    • והם מסבירים בעצם איך עובדים בזמן נקרא-לזה-נפילה-כלכלית . . . .  - Operating during a downturn
    • זו קצת הגזמה . . .  מה שכתבתי פה זה שזה פשוט הכל - לפחות רוב החלק הראשון של הוידאו - הוא פשוט נתונים והיסטוריה ולא דעות
      • אז למי שרוצה קצת Take על הדברים האלה, רוצה לראות איך העולם הפיננסי התנהג, היסטורית - אז יכול לראות את הוידאו הזה
    • לי זה היה ממש אחלה ומרתק
    • (אלון) טוב . . . היית צריך להגיד לנו לפני, לראות אותו ולהגיד לנו שהולכות להיות נפילות . . . 
    • (דותן) בדרך כלל עדיף לראות את ה-Video-ים האלו לפני הנפילה . . .  כמה שיותר - וככה אתה יודע איך להמר . . .
    • (רן) אם אנחנו כבר שם - אז כדאי למכור את המניות לפני הנפילה ולקנות כשאנחנו הכי למטה . . . 
    • (אלון) יאמר לזכות דותן - לא הקלטנו חצי-שנה - האייטם הזה ממתין חצי שנה, והוא מדבר על זה שזה הולך ליפול, אז . . . 
      • אז דותן - כל הכבוד! רק התזמון של ההקלטה לא טוב . . . .
    • (דותן) כן . . . .
    • (רן) בואו נפרסם את הפרק רק אחרי ההתאוששות ואז הכל יהיה בסדר . . . 
      • [ומה עם ה-CFP?! . . . ]
    • (אלון) אני אומר שבסיום כל אחד ייתן את הדעה שלו פעמיים - אחת שהשוק הולך להתאושש והשנייה שהכל הולך להיות קטסטרופה
      • נחתוך את זה בעריכה - ואז נשלוף את זה בעוד כמה שנים ונראה מה אמרנו . . . 
      • (רן) אה - כמו שאנחנו תמיד עושים . . . .
      • (אלון) כן . . . 
    • (דותן) אפשר לעשות כאילו Section של מניות, קבוע - 
      • שבעצם  . . . חודש לפני וחודש אחרי - ואז אתה יכול  . . .
      • (אלון) כן - “המניה הזאת - תשקיעו בה!”, ואז אם זה ממשיך לעלות אחרי ההקלטה אז “מה המומחים אמרו, חודש[!] לפני  . . . .”
      • טוב, אנחנו סוטים מהנושא . . . 
    • (רן) אז אלון . . . 

אלון - 
  • (אלון) אז התכנסנו לבאמפרס ואלון על הבמה . . . טוב - אז אני אתחיל מאיזה Twitter-thread שמישהו - Amila Welihinda - החליט לרכז - זה מלא מלא CLI Items חמודים, אז שווה להסתכל
    •  יש פה איך להחליף bat במקום cat, ואז הוא מציג את הקבצים קצת יותר יפה
    • יש Fancy-Diff ו-Fix ל-JSON Viewer בתוך הטרמינל . . .  ממש חמוד, זה אחד החמודים . . .
    • (רן) שנייה, יש פה טעות - אחד הכלים נכתב ב-Go . . . זה בסדר, דותן?
    • (אלון) דותן לא מאשר CLI Tools ב-Go . . . 
    • (דותן) אני לא יודע איך להגיב . . .
    • (אלון) תרשום ב-Comments אחרי זה - ואנשים יעברו וידעו מה לא . . . 
    • (דותן) האמת שהרוב נכתב ב-Rust באמת . . . .
    • (אלון) אבל נגיד ה-F-Searcher, ה-Fuzzy Search . . . .
    • (דותן) תן לזה זמן וזה יגיע, ה-Port היותר יעיל ויותר . . . 
    • (אלון) כן - מישהו יגיד ש”ה-5ms איטי לי מדי - אני רוצה את זה ב-1ms . . . .”
    • (דותן) האמת שממש אהבתי את ה - Hex Editor, זה מדהים
      • כאילו, לא חשבתי על הקונספט של לשים צבעים בבייטים . . .
      • (רן) ה-hexyl  . . . 
      • (אלון) כן, האמת שזה די מגניב
    • הקיצר - יש פה גם  - אם דיברת על טרמינל ב-Client אז יש פה את Duf, איך שלא קוראים לו [הכי קל בטקסט . . . ], שהוא shows a better du summary
    • יש את htop שזה a modern `top` replacement”, יש את ה-Hex Viewer . . . 
    • בקיצור - יש פה המון, שווה להסתכל, קחו מה שבא לכם, fig וכו’ . . . .
  • ולדבר הבא - יש איזה IDE חדש שנתקלתי בו בשם replit, זה - repl-it
    • הרעיון הוא שהוא “IDE משותף” - כמו ש-Google Docs וכו’, כשכותבים כמה במקביל
    • אז הרעיון גם פה הוא שכותבים כמה במקביל, ואז אפשר לראות מי כתב ו-Comment-ים תוך כדי . . . .
    • אני לא יודע עד כמה הוא עם Extension-ים וחזק עדיין, אבל הקונספט שכתבו IDE שמראש מיועד ל-Collaborative Sharing - אני חושב שזה ממש חמוד.
      • זה גם נראה כמו VSCode קצת - אז אני לא יודע אם הוא מבוסס עליו או . . . 
    • (רן) אנחנו משתמשים בו, השתמשנו בו לפעמים לראיונות עבודה . . . . בתוך IDE Online, לראיונות מרחוק 
      • זה נחמד, זה כלי טוב
    • (אלון) כן . . . גם ב-VSCode יש כלים ל-Collaborative והם משתפרים - אבל הם לא . . . לפחות זה לא נראה ברמה הזאת
      • זה נראה הרבה יותר Slick וחי ו”בדיוק מה שאני עושה”
    • אז כמו שאמרת - לראיונות או סתם אם יש לכם חברים בעבודה, אם יש כאלה אנשים - אז אתם יכולים לעבוד תמיד יחד . . . 
  • האתר הבא זה Learn Git Branching
    • זה פשוט אתר UI-י, אינטראקטיבי, שמלמד איך נראה Git . . .  - 
      • מה קורה? איך אני עושה Commit? איך נראה עץ? איך אני עושה Merge? איך אני עושה Split? . . . . מה שאתם רוצים.
    • אז אני אוהב לשחק פה עם הפקודות וזה ממש מראה מה קורה ומסביר ואיך חוזרים אחורה והכל . . . 
    • אז למי שרוצה קצת פעם אחת ולתמיד להבין איך באמת Git עובד ולא Git-Pull ו-Push ומתישהו Force כי כלום לא עובד והרסתם הכל . . . .
      • אז זה אתר ממש ממש חמוד ואינטראקטיבי
    • (דותן) העיצוב של ה-Mac מסגיר את השנה שבה זה נבנה . . . . הייתי מנחש 2014 . . .
    • (רן) זה מזכיר לי את  האייטם הקודם עם המערכות הפעלה שלך, דותן . . . . נראה שגנבו משם איזושהי מערכת הפעלה מאלפיים-ומשהו  ו . . . כן.
    • (אלון) כן . . . מה שנחמד זה שאפשר לשחק שם על העץ של ה-Git ואז הוא מראה לך בצד איזו פקודה אתה מריץ - 
      • את לוחץ על הפקודה אז הוא מקפיץ לך את ה-UI בצד השני
      • זה הכל נורא אינטראקטיבי ואפשר לשחק עם זה - ממש חמוד.
  • האייטם הבא - Google הוציאו Database חדש! - AlloyDB
    • להבנתי הוא גם פותח בארץ . . . החבר’ה בארץ פיתחו אותו, אז כל הכבוד.
    • נראה סופר-מרשים - זה המתחרה של ה-Aurora, אבל לפחות לפי ה . . . .
      • אם הם מבטיחים חצי ממה שהם כותבים פה, אז זה הרבה יותר מרשים מה-Aurora, מהרבה בחינות
    • לא נכנס לכל מה שהוא עושה, אבל קודם ב-Benchmark-ים שלהם - שבואו ניקח את זה עם כוכבית גדולה - אבל הם פי-2 מ-Aurora ב-Benchmark-ים, בביצועים
    • יש להם שם דברים די מדהימים - בגלל שהם עובדים על ה-Storage שלהם, של Colossus, ה-Shared Storage, אז להרים רפליקות (Replications) זה ב-Seconds . . . .
      • אז פתאום  . . . בדרך כלל, אחת הבעיות ב-Database-ים רלציוניים זה שכשמגיע Scale אז אתה תמיד צריך להיות ב-Over-Scale, כי כדי להעתיק רפליקה הוא צריך להתחיל לקרוא את הדאטה או להרים Logging או להרים איזה Backup - וזה דאטה שב-Database-ים גדולים יכול להיות עשרות דקות . . . 
      • אז פה מדובר ב-Seconds . . . . אז זה די משמעותי, הדברים האלה - כתיבה במקביל . . . 
      • נראה מדהים, באמת - נראה מדהים
    • הוא כרגע חינם ב-Preview, ב-Google Cloud, אז . . . .
    • (רן) זה משהו שרץ ומסתמך על Google Cloud - זה לא משהו שאתה יכול להריץ אצלך על המחשב . . . 
    • (אלון) לא . . .  זה ב-Google Cloud, זה Postgres . . .
    • (אלון) אז זה Postgres בלבד - גם דיברתי שם, אפשר אפילו לשים Extention-ים של Postgres כמו PostGIS ועוד כל מיני חברים . . .
      • זה Postgres under the hood, אבל  . . . . לא בדיוק “Under the Hood” אבל השתמשו שם . . . הם יצאו מתוך Postgres ובאיזושהי נקודה הם התפצלו, זה נראה די מהר
      • אבל באמת באמת - כל הכבוד לחבר’ה פה שעשו את זה - נראה  . . .
    • (דותן) בהמשך לקטע הישראלי, אני רואה שמי שכתב את זה - את הפוסט הזה - זה Andi Gutmans - הלא הוא היוצר של PHP ו-Zend . . . אז . . . 
      • מגניב - אז עכשיו הוא ב-Google  . . .
    • (רן) אחד מהם לפחות . . . יש גם את זאב - שכחתי את שם המשפחה שלו . . . 
    • (אלון) אז בקיצור, חבר’ה - זה נראה ממש מרשים עם Sharding . . . זה “שילוב של Cockroach עם Aurora על סטרואידים” כזה . . . 
      • נראה באמת  . . . .אם זה באמת עובד טוב, אז זה נראה כאילו “מה צריך יותר מזה?”
      • יש לנו Postgres על סטרואידים” - זה נראה לי שאפשר להגיד שלום להרבה מערכות, אבל בסדר . . . 
    • אני מאוד בעד - כי אני אוהב גם את Postgres מאוד ומאמין בו, אז זה בכלל לקחת אותו הלאה
      • אני מקווה שזה עובד כמו שזה נראה.
    • (רן) ואחרון שלך, אלון . . . .
  • (אלון) האחרון  שלי זה Steampipe
    • אם התחלנו ב-SQL אז בואו נמשיך - זה בעצם מה שהם רושמים: Select * From Cloud . . . 
    • זה נותן להריץ ב-CLI שאילתות SQL מעל ה-Cloud - נגיד Select * From Instances
      • ולקבל את ה-Instances עם “While Memory גדול מככה וככה” או “Where CPU גדול מככה” ו”כשה-Cost הוא כזה”
      • ולעשות מלא שאילתות על ה-Cloud שלך בשפות SQL
    • אז זה ממש חמוד וממש נוח - אפשר להוציא מזה סטטיסטיקות די בקלות
      • מפתחים שתמיד מתעצלים לבדוק Cost וכאלה אז פתאום אולי יתחילו להתלהב מזה, כי אפשר להוציא את הסטטיסטיקות די ב-Script ובקלות
      • אולי אפילו להכניס את זה לאיזה CI פתאום . . . 
      • ולקבל מידע בקלות בלי ללמוד כל מיני API מוזרים
    • אז זה ממש ממש נחמד - אני אישית מאוד אהבתי את זה, אחלה כלי CLI.
    • (רן) נחמד - תודה

ואנחנו ממש לקראת הסוף והגענו לחלק של המצחיקים
  • (רן) רציתי לספר לכם על פינצ’ר המתכנת . . . יכול להיות שסיפרנו עליו בעבר, אני כבר לא זוכר, הוא כבר נמצא בסצינה לא מעט זמן
    • אז פינצ’ר המתכנת הוא מתכנת מתוסכל מאוד עם זקן גדול ומשקפי-שמש אימתניים - שבא ומספר על חיי היומיום שלו - על איך פתחו לו באג, על למה מזמנים אותו לפגישות . . . 
    • בקיצור - אני חושב שכמעט כל המפתחים יכולים ככה להזדהות עם הסיטואציות היומיומיות האלה, שמוצגות בהומור וחן רב
    • אז לכו - צפו בסרטונים שלו - פינצ’ר המתכנת, נמצא בלינקדאין
    • ממליץ, תצחקו . . .
    • (אלון) כן . . . . יש לו כמה באמת “לפנתיאון”, לפינצ’ר הזה
      • מה שכן - עד שהקלטנו, הוא פרסם שהוא יצא לפגרה . . . אבל לא נורא, יש מלא Video-ים, אפשר לצפות בישנים
      • יש מספיק היסטוריה - הוא התחיל לפני הפגרה שלנו, עכשיו הוא יצא לאיזו פגרה כדי לאסוף עוד חומרים, אבל מומלץ מאוד.
  • (רן) ואולי האייטם האחרון להיום והכי מרגש - כנס רברסים 2022 יצא לדרך!
      • (אלון) תופים!
      • (רן) יפה, אלון, אני לא צריך לעשות עריכה קולית - אתה עושה לי הכל . . . .

זהו, בזה אנחנו מסיימים - תודה רבה!
 

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

אין תגובות:

הוסף רשומת תגובה