[קישור לקובץ mp3]
אחרי כמעט חמישה חודשים: רן, אלון ודותן בסדרה של קצרצרים על חדשות טכנולוגיות מעניינות.
רן -
- בזמן האחרון אני נמצא הרבה בעולמות של Data Science ורציתי לספר על כמה דברים מעניינים שקורים שם, ואחד מהם זו ספרייה שנקראית JAX
- ו-JAX זה למעשה מימוש-מחדש לספרייה יחסית-ותיקה שנקראית NumPy, שאני מניח שהרבה מאוד מכירים.
- זה לא רק מימוש של NumPy - זה משהו שהוא קצת יותר גדול, ומכיל גם לא מעט דברים שמעבר.
- למעשה זה מימוש-מחדש להרבה מ-Interface של NumPy - לדעתי זה נכתב ב-Google [אכן - google/jax] - ועושה שימוש בטכנולוגיות הרבה יותר מודרניות
- למי שלא מכיר, אז ב-NumPy - הרבה חלקים ממנו כתובים ב-C, אבל הרבה חלקים ממנו גם כתובים ב-Fortran וכו’
- והוא לא עושה שימוש לא ב-GPU ולא ב-TPU או באקסלרטורים (Accelerators) שונים מסוגים שונים -
- ו-JAX כן עושה את זה, נכון להיום - וגם הרבה מעבר.
- הוא אמור להיות Drop-in replacement ל-NumPy וגם לכלים אחרים.
- ניסיתי אותו - בינתיים הוא עובד סבבה . . . עוד לא עשיתי לו ניסוי כלים משמעותי
- אבל נראה סופר-מעניין, למי שבתחום.
- אז זהו - פשוט לחפש JAX ותמצאו את זה
- לא להתבלבל עם Jax שהיה פעם בעולם ה-Java - זה משהו אחר לגמרי, הם רק לקחו את השם . . .
- (אלון) למה, בעצם . . . . למה? מי רוצה את זה? למה לי?
- (רן) אז אם אתה עובד בעולם של Python ו-NumPy ואתה רוצה לכתוב תוכניות שרצות יותר מהר ממה ש-NumPy נותן לך היום - אז אתה רוצה את זה.
- כי NumPy בעצמו הוא סופר-סופר מהיר, אבל יש לא מעט שיפורים שאפשר לעשות - בעיקר שימוש בחומרות יותר מודרניות.
- אז זהו - זו הסיבה שתרצה לעשות את זה . . .
- אם תרצה - אמרתי . . . אם תרצה.
- (אלון) אם תרצה - אין זו אגדה . . .
- (רן) ובעניין אחר, אבל לא רחוק - יוצא לי לעבוד לא מעט עם Jupyter Notebook ובסביבה של VSCode ויש לא מעט אינטגרציות בין שניהם
- אז אם אתם עובדים באמת עם Notebooks ועם VSCode, אז יש לכם כמה דרכים שבהן אתם יכולים לעשות את זה.
- אחת זה פשוט לפתוח ולערוך Notebook בתוך VSCode - זה בסדר ל-Notebook-ים קטנים
- הניסיון שלי הוא שאם ה-Notebook גדול מדי - פשוט ב-VSCode דולף הזיכרון ובסופו של דבר . . . לא VSCode ספציפית, כנראה שזה ה-Extension -
- אבל בסופו של דבר זה מתחיל, ככה, לג’עג’ע כשיש Notebook-ים גדולים, בעיקר כשיש הרבה תמונות
- אז זה לא סופר-סופר נעים - אבל מה שכן, יש עוד אופציה! - אתם יכולים פשוט, בתוך קובץ Python, לייצר Cell-ים קטנים - Cell-ים של Jupyter - ולהריץ אותם
- אתם עושים את זה על ידי זה שאתם עושים #% - “הערה” - ו-%% - ואוטומטית VSCode הופך את זה ל-Cell ומריץ אותו
- ואז זה נחמד יותר . . . . אתם יכולים להריץ קטעי-קוד קטנים, לראות בצד ימין את ה-Output - וזה חמוד.
- אפשר גם לייצר ממש גרפים והכל . . . . זה נחמד.
- היתרון של לעבוד בתוך VSCode הוא שיש לך את כל ה-IntelliSense ו-Copilot, אם אתם משתמשים
- אז זה יכול לעזור וזה נחמד.
- (אלון) התכוונת ל-Copilot - ו-Copilot משתמש בך . . . . אני הגעתי כבר למצב שהוא משתמש בי מדי פעם: הוא עושה לי “תזיז את העכבר, אתה מסתיר לי” . . . . וזהו.
- (רן) אני מניח שהוא עושה בי שימוש לרעה בהרבה מקרים, אבל לא הרגשתי את זה . . .
- אבל כן - תכל’ס הניסיון שלי עם Copilot הוא סבבה
- זאת אומרת - לפעמים זה מפריע, אבל הרבה מקרים הוא ממש עושה “בול”, ממש מה שהתכוונתי. נחמד.
- בעיקר כשאני כותב טקסטים - קבצי ReadMe ודברים כאלה - ההשלמות שם הן ממש יפות.
- גם בקוד זה סבבה - אבל בטקסטים זה ממש . . . חוסך “טונה של הקלדה”.
- (אלון) כן, טוב - קפצנו אליו . . . אבל כן, הוא מדהים - זה . . . מזמן לא נתקלתי בכלי חדש כזה שמפתחים אשכרה - אם עכשיו יקחו להם אותו, הם יהיו מוכנים לשלם עליו. אין הרבה כאלה . . .
- (רן) כן . . . לא תמיד החווייה מדהימה, אבל יותר “כן מ”לא” - ובסה”כ זה ממש נחמד.
- (רן) האייטם הבא שלי, בתחום של Machine Learning - זה איזשהו דף שמסביר איך עובד Random Forest -
- אז Random Forest זה אחד האלגוריתמים הנקרא-לזה-יחסית-קלאסיים . . . זאת אומרת - זו לא רשת נוירונים אלה זה בעצם אוסף של עצי-החלטה.
- והדף הזה למעשה בה ומסביר בצורה ויזואלית מאוד יפה - עם Scrolling ככה, “כמיטב המסורת”, Scroll-ים חמודים - איך נבנה Random Forest, ככה, בהדרגתיות.
- וזה מגניב למי שבא ורוצה להבין את האלגוריתם הזה בצורה ויזואלית - אז יש פה הרבה דברים אינטראקטיביים
- לא רק ה-Scroll-ים - יש פה גם דברים שאפשר ללחוץ עליהם והוא מסווג אותם
- בקיצור - חמוד . . . סימולציה נחמדה של Random Forest, כתוב יפה, נראה יפה ויזואלית - מגניב לאללה.
- (אלון) איך אני מת על כאלה דברים, שמסבירים לך אלגוריתם ב-View . . . איפה הדברים האלה היו כשלמדנו לתואר? . . . .
- (רן) כן . . . חמוד לאללה. אני זוכר שאפילו הצגנו פה, בטח באחד הפרקים של הסדרה, כל מיני סימולציות של אלגוריתמי-מיון וחיפוש . . .
- [ב-2014?! . . . 219 Bumpers 14, אבל הלינק המקורי כבר מת, נשאר רק זה - AlgoRythmics]
- אני זוכר שראיתי לא מעט דפים כאלה, אז זה ספציפית מדבר על Random Forest - ובנוי מאוד מושקע ויפה.
- והאייטם הבא שרציתי לדבר עליו זו ספרייה, או למעשה כלי, שנקרא 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
- למי שלא מכיר את jq - זה כזה Query על JASON
- והפוקוס שלו [של jaq], מעל ה-jq שכולם מכירים, זה “Correctness, Speed, and Simplicity”
- ונראה לי שאת אף אחד מהם לא צריך . . .
- אבל[!] - זה כתוב ב-Rust, שאת זה כן צריך . . .
- (רן) ה-jq הוא ב-JavaScript, אם אני זוכר נכון . . . .
- (דותן) לא - הוא ב-C . . . הפתעה!
- עכשיו, האמת ששום דבר מזה לא באמת צריך . . . . אולי, לא יודע, “Correctness”? . . .
- אבל הקטע המעניין הוא . . . הוא גם נתן איזשהו בלוק ב-ReadMe, שהוא יצר את jaq כי הוא לא היה מרוצה מה-Startup time של jq - שזה 50ms . . . . זה לא היה מספיק טוב לו.
- זו עוד סיבה לא לעשות . . . .
- אבל הדבר המשוגע פה, שכן מצאתי כמעניין, או Intriguing, זה שזה 30 פעמים מהר יותר מ-jq . . . פי 30
- והלכתי ל-Benchmark-ים והכל - וזה משוגע.
- קשה לי לחשוב . . . אלא אם כן הדבר הזה לא עושה כלום, קשה לי לחשוב על כלי שנכתב ב-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 ובעצם לקח את כל העולם של העיצוב ומימש את הכל ב-Browser, ב-Component שחי על Wasm וכתוב ב-Rust
- אני מניח שאולי ה-spline Design הזה גם בנוי באותה צורה
- והקולבורציה, לפחות ב-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 אז . . . .” וכו’ וכו’ . . .
- (רן) הבנתי . . .
- (דותן) ועוד פעם - זה קצת מצחיק, כי זה מדעי המחשב ל . . .
- (רן) וזה עוזר לך למדל את זה בצורה יותר פורמאלית . . .
- (דותן) כן . . . זה מדעי המחשב, לא יודע אם סמסטר א’ או ב’ . . .
- (אלון) זה אוטומטים לכל דבר . . . . [ד”ש לגדי]
- יצא לי, האמת, בכמה פעמים שהייתי צריך אוטומט, בדרך כלל יש איזושהי ספרייה . . .
- ב-Ruby היו ספריות חמודות ל-State Machine , ב-Frontend אני לא מכיר . . . אבל נשמע אחלה.
- (דותן) אז עולם ה-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 כי חיפשתי ולא מצאתי, אבל יכול להיות שבסוף לא היה . . .
- אני אנחש שזה פשוט מאמץ מטורף לכתוב דבר כזה או לבנות ספר כזה.
- [תזמון מעניין . . . The second volume #demoscene the AGA years is now in stock]
- ואז בעצם בא מישהו ובנה את . . . עשה 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, בחתיכת </a> שמחורי הקלעים . . . .</li></ul><li>(רן) אני מנסה את . . . אני ב-<a href="https://copy.sh/v86/?profile=windows31">Windows 3.1</a> . . . </li><li>(אלון) אני ב-<a href="https://copy.sh/v86/?profile=windows2000">Windows 2000</a> חברים - ואני מנסה לשחק שולה!</li><ul><li>[בום!]</li></ul></ul></ul><ul><ul><li>(אלון) רן - בוא נראה . . . CMD עובד? אני עושה Run-cmd . . . די! </li><ul><li>[צרחות]</li></ul><li>(דותן) זה משוגע . . . כנסו ל-<a href="https://github.com/copy/v86">GitHub Repo</a> ונסו ככה להרגיש את השטח - </li><li>(אלון) . . . “A Duplicate name exists on the network” . . . . מישהו נראה לי התחבר לי למכונה או משהו, יש לי Error . . . </li><li>(דותן) בקיצור - זה משוגע, אני אפילו . . . “המוח מתפוצץ” מה שנקרא.</li><li>(רן) זה חמוד מאוד . . . רק יש פה איזשהו Bug - העכבר לא במקום שהוא אמור להיות, כאילו . . . .</li><li>(דותן) נכון, כן . . . יש כן . . . תשמע, זה רק אומר שזה ממש אמיתי . . . .</li><li>(רן) כן . . . </li><ul><li>(אלון) שמע, אם אני עושה Format למכונה - מה קורה?</li><li>(דותן) לא, אל תעשה אתז ה, די נו . . . אל תהרוס.</li><li>(אלון) אבל מה קורה?</li><li>(דותן) באים אנשים אחריך, תשאיר את זה נקי . . . .</li><li>(אלון) לא - זה משותף או שמראים לך את זה בכל פעם? ואם אני מפרמט? . . . .</li><li>(דותן) לא יודע . . . . כמו שאני מכיר אותך, נראה לי שזהו - זה היה האייטם . . . </li><li>(אלון) היה האייטם - ואי אפשר כבר להיכנס אליו יותר . . . .</li><li>(דותן) טוב, זה היה נחמד . . . </li><li>(אלון) כן ,הנה - אני אשאיר פה Comment ואז אני אדע - אני אחזור ואבדוק אם הוא קיים</li><li>ואז אני אדע אם אני יכול לעשות ניסויים יותר מורכבים . . . .</li></ul></ul></ul><ul><li>(דותן) טוב . . . אייטם הבא, נמשיך לרוץ - יש פרויקט שנקרא <a href="https://github.com/ruffle-rs/ruffle">ruffle</a> - וזה Flash Player emulator</li><ul><li>כאילו שלא היה לנו מספיק <a href="https://en.wikipedia.org/wiki/Adobe_Flash">Flash </a>בחיים . . . </li><li>זה כתוב גם ב-<a href="https://www.rust-lang.org/">Rust</a>, עובד</li><ul><li>ראיתי שיש אנימציות עובדות, אינטראקטיביות עובדת</li><li>לא יודע אם בחיים צריך שוב פעם <a href="https://en.wikipedia.org/wiki/Adobe_Flash">Flash</a> . . . אני מניח שיש כאלה שצריכים Legacy staff . . . .</li></ul><li>זה גם סופר-נחמד, גם <a href="http://">Wasm</a> פה בסיפור</li><li>ואם לא אמרתי קודם, אז גם <a href="https://copy.sh/v86/">הדבר המשוגע הזה של ה-Virtual Machine</a> כתוב ב-<a href="https://www.rust-lang.org/">Rust</a></li></ul><li>האייטם הבא נקרא <a href="https://github.com/ansh/bionic-reading">bion</a><a href="https://github.com/ansh/bionic-reading">ic</a><a href="https://github.com/ansh/bionic-reading"> </a><a href="https://github.com/ansh/bionic-reading">read</a><a href="https://github.com/ansh/bionic-reading">ing</a></li><ul><li>למי שראה, יש בשבועות האחרונים איזשהו טרנד של <a href="https://github.com/ansh/bionic-reading">bion</a><a href="https://github.com/ansh/bionic-reading">ic</a><a href="https://github.com/ansh/bionic-reading"> </a><a href="https://github.com/ansh/bionic-reading">read</a><a href="https://github.com/ansh/bionic-reading">ing</a> . . .</li><li>(אלון) כן - <a href="https://twitter.com/danjas/status/1527570811296661506">זה התפוצץ ב-Twitter באיזו התלהבות</a> ש . . . .הוציאו את זה.</li><li>(דותן) אז יש לך טקסט - והמוח האנושי מסוגל להשלים מילים “אוטומטית”, אז למה לא לתת לו לעשות את העבודה שהוא יודע לעשות?</li><li>“אז בואו ניקח חלקי מילים, “נאיר” . . . . “ - קראתי את האלגוריתם של הפרויקט פה - . . . “נאיר בסביבות חצי מהמילה בצבע מודגש וחצי בצבע פחות מודגש”</li><ul><li>וככה, בעצם, המוח שלך יודע להתפקס על ההתחלה של המילים ולהזניח את יתר המילה</li><ul><li>כי יתר המילה פחות מודגשת . . . </li></ul><li>וכמובן שכל הסיפור הזה מתבסס על זה שאתה מתרגל לזה ואז קורא חצאי-מילים, המוח שלך קורא חצאי-מילים - וזה רץ הרבה יותר מהר.</li></ul><li>אז יש פה מישהו שכנראה נחשף לטרנד הזה, ראה תמונה של זה - ומימש בערך בעשר שורות של <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript">JavaScript </a>ל-<a href="https://chrome.google.com/webstore/detail/bionic-reading/kdfkejelgkdjgfoolngegkhkiecmlflj">Extension ל-Chrome</a> - שפשוט עושה לך <a href="https://bionic-reading.com/about/">Bionic Reading</a> להכל.</li><li>אני חסיד של כל השיטות האלה - טכניקות Speed-Reading וכאלה</li><ul><li>ניסיתי את זה קצת - ואני חושב שזה טוב, בסה”כ</li><li>אם אתה מצליח להתרגל לזה זה טוב . . . </li><li>אני לא יודע מה זה יעשה לך בעתיד- כאילו, אם אתה מתרגל לזה, אז מה יקרה כשאתה קורא טקסט פשוט, לא בצורה הזאת, נראה לי קצת מפחיד . . . .</li><li>אבל די נחמד בסה”כ . . . .</li></ul><li>(אלון) אני חושב שהמימוש שלו מאוד נאיבי . . . אם תסתכל על <a href="https://bionic-reading.com/about/">האתר של ה-Bionic Reading</a>, אז קודם כל יש שם כל מיני Flavour-ים והטקסט שהמקורי מג’נרט (Generates)מרגיש “יותר שלם” . . . </li><ul><li>משהו בחצי הזה לא בדיוק שם . . . . שם הוא לוקח, אם נגיד יש את ה-”Reading” אז הוא יקח את ה-”R” או את ה-”Read”, אבל הוא לא יעשה לך חצי מילה, כאילו באמצע - “Rea” וכאלה . . .</li></ul><li>(דותן) כן, אני מסכים שיש פה איזה . . . . החלק הכייפי הוא שאתה יכול פשוט לקרוא את זה </li><ul><li>ובגלל שזה <a href="https://github.com/ansh/bionic-reading#how-it-works">Extension ל-Chrome</a> אז אתה יכול פשוט לשנות את זה בעצמך . . . </li></ul><li>(אלון) כן, אני רק חושב שבמקורי מחובר לזה מילון ופה לא . . . זה אני חושב ההבדל, ואז הוא יודע . . .</li><li>(דותן) אתה יכול להוסיף מילון בקלות, זה החדשות הטובות . . . </li><ul><li>נגיד, אוקיי, אז <a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript">JavaScript</a> - בוא נפתח את <a href="https://github.com/ansh/bionic-reading/pulls">ה-Pull-Requests</a> . . . .</li><li>יש <a href="https://github.com/ansh/bionic-reading/pull/42">Improves word midpoint selection algorithm . . . כבר יש לו Pull-Request</a></li><li>כן, הוא מציע כל מיני שיפורים . . . זה החלק הנחמד פה - שזה כל כך פשוט, מה שהוא עשה, שעכשיו . . . </li><li>נגיד - ההצעה שהצעת - זה לא מסובך להוסיף מילון אנגלית, אני מניח שיש מלא כאלה ב-<a href="https://developer.mozilla.org/en-US/docs/Web/JavaScript">JavaScript</a></li></ul><li>(אלון) לא, אני בטוח, רק מה שמוזר לי - למה זה לא Extension נורמאלי? למה הוא לא עשה לזה Publish? קטע . . . </li><li>(דותן) לא יודע . . . </li><li>(אלון) טוב - יש פה הזדמנות עסקית . . . </li><li>(דותן) יכול להיות, לא יודע . . . יש את מה שנקרא <a href="https://www.jiffyreader.com/">Jiffy Reader</a> שזה גם נראה לי שלו, אולי זה זה . . . </li><ul><li>כאילו, אולי הוא התחיל ממשהו ואז . . . </li></ul><li>בכל מקרה - זה אחלה ומי שאוהב להתעסק . . . בגלל שהפרויקט מאוד קטן אז נראה לי שמאוד קל לשחק עם זה ולעשות דברים מעניינים.</li></ul><li>האייטם הבא נקרא <a href="https://github.com/rustdesk/rustdesk">RustDesk</a> - זה פשוט Team Viewer שהוא Open Source</li><ul><li>כתוב ב-<a href="https://www.rust-lang.org/">Rust</a></li><li>ונראה שהדבר הזה עובד ומתקתק ועובד טוב . . . .</li><li>תמיד מדהימה אותי הטכנולוגיה ל-Screen Sharing - כי זה כל כך הרבה דברים במקום אחד</li><ul><li>זה שליטה על כל ה-Input Devices ולרנדר (Render) ודרך רשת ו . . . זה משוגע</li></ul><li>אז למי שרוצה ומעוניין לבדוק איך זה עובד -<a href="http://"> יכול להיכנס לפרויקט, זה Open Source</a></li><ul><li>יש פה גם UI, גם Server - </li><li>וגם את החלק הנקרא-לזה-Frontend-י - כל ה-Widget-ים וכו’ - אז זה <a href="https://flutter.dev/">Flutter</a></li></ul></ul><li>זהו, אייטם אחרון - יותר בסימן השוק ומה שקורה בחוץ: יש המון פרשנויות בועה-לא-בועה וכו’ וכל מיני דברים כאלה . . .</li><ul><li>[<a href="https://twitter.com/shaulmert/status/1532074319756394496">הם כן</a>]</li><li>אני לא מתייחס לזה - אבל אני מתייחס לאיזשהו וידאו שראיתי, של איזושהי קרן שנקראית <a href="https://www.craftventures.com/">Craft Ventures</a></li><li>והם מסבירים בעצם איך עובדים בזמן נקרא-לזה-נפילה-כלכלית . . . . - <a href="https://www.youtube.com/watch?v=vBkzm4a7iY4">Operating during a downturn</a></li><li>זו קצת הגזמה . . . מה שכתבתי פה זה שזה פשוט הכל - לפחות רוב החלק הראשון של הוידאו - הוא פשוט נתונים והיסטוריה ולא דעות</li><ul><li>אז למי שרוצה קצת Take על הדברים האלה, רוצה לראות איך העולם הפיננסי התנהג, היסטורית - אז יכול לראות את הוידאו הזה</li></ul><li>לי זה היה ממש אחלה ומרתק</li><li>(אלון) טוב . . . היית צריך להגיד לנו לפני, לראות אותו ולהגיד לנו שהולכות להיות נפילות . . . </li><li>(דותן) בדרך כלל עדיף לראות את ה-Video-ים האלו לפני הנפילה . . . כמה שיותר - וככה אתה יודע איך להמר . . .</li><li>(רן) אם אנחנו כבר שם - אז כדאי למכור את המניות לפני הנפילה ולקנות כשאנחנו הכי למטה . . . </li><li>(אלון) יאמר לזכות דותן - לא הקלטנו חצי-שנה - האייטם הזה ממתין חצי שנה, והוא מדבר על זה שזה הולך ליפול, אז . . . </li><ul><li>אז דותן - כל הכבוד! רק התזמון של ההקלטה לא טוב . . . .</li></ul><li>(דותן) כן . . . .</li><li>(רן) בואו נפרסם את הפרק רק אחרי ההתאוששות ואז הכל יהיה בסדר . . . </li><ul><li>[ומה עם ה-<a href="http://">CFP</a>?! . . . ]</li></ul><li>(אלון) אני אומר שבסיום כל אחד ייתן את הדעה שלו פעמיים - אחת שהשוק הולך להתאושש והשנייה שהכל הולך להיות קטסטרופה</li><ul><li>נחתוך את זה בעריכה - ואז נשלוף את זה בעוד כמה שנים ונראה מה אמרנו . . . </li><li>(רן) אה - כמו שאנחנו תמיד עושים . . . .</li><li>(אלון) כן . . . </li></ul><li>(דותן) אפשר לעשות כאילו Section של מניות, קבוע - </li><ul><li>שבעצם . . . חודש לפני וחודש אחרי - ואז אתה יכול . . .</li><li>(אלון) כן - “המניה הזאת - תשקיעו בה!”, ואז אם זה ממשיך לעלות אחרי ההקלטה אז “מה המומחים אמרו, חודש[!] לפני . . . .”</li><li>טוב, אנחנו סוטים מהנושא . . . </li></ul><li>(רן) אז אלון . . . </li></ul></ul><br />אלון - <ul><li>(אלון) אז התכנסנו לבאמפרס ואלון על הבמה . . . טוב - אז אני אתחיל מאיזה Twitter-thread שמישהו - <a href="https://twitter.com/amilajack">Amila Welihinda</a> - החליט לרכז - זה <a href="https://twitter.com/amilajack/status/1479328649820000256?s=21">מלא מלא CLI Items חמודים</a>, אז שווה להסתכל</li><ul><li> יש פה איך <a href="https://twitter.com/amilajack/status/1479328652244373507">להחליף bat במקום cat</a>, ואז הוא מציג את הקבצים קצת יותר יפה</li><li>יש <a href="https://twitter.com/amilajack/status/1479328656195342337">Fancy-Diff</a> ו-<a href="https://twitter.com/amilajack/status/1479328668769914880">Fix ל-JSON Viewer</a> בתוך הטרמינל . . . ממש חמוד, זה אחד החמודים . . .</li><li>(רן) שנייה, יש פה טעות - אחד הכלים נכתב ב-<a href="https://go.dev/">Go </a>. . . זה בסדר, דותן?</li><li>(אלון) דותן לא מאשר CLI Tools ב-<a href="https://go.dev/">Go</a> . . . </li><li>(דותן) אני לא יודע איך להגיב . . .</li><li>(אלון) תרשום ב-Comments אחרי זה - ואנשים יעברו וידעו מה לא . . . </li><li>(דותן) האמת שהרוב נכתב ב-<a href="https://www.rust-lang.org/">Rust </a>באמת . . . .</li><li>(אלון) אבל נגיד <a href="https://twitter.com/amilajack/status/1479328673253625860">ה-F-Searcher, ה-Fuzzy Search</a> . . . .</li><li>(דותן) תן לזה זמן וזה יגיע, ה-Port היותר יעיל ויותר . . . </li><li>(אלון) כן - מישהו יגיד ש”ה-5ms איטי לי מדי - אני רוצה את זה ב-1ms . . . .”</li><li>(דותן) האמת שממש אהבתי את ה -<a href="https://twitter.com/amilajack/status/1479442528994689025"> Hex Editor</a>, זה מדהים</li><ul><li>כאילו, לא חשבתי על הקונספט של לשים צבעים בבייטים . . .</li><li>(רן) ה-<a href="https://t.co/nD7Zmox9TP">hexyl</a> . . . </li><li>(אלון) כן, האמת שזה די מגניב</li></ul><li>הקיצר - יש פה גם - אם דיברת על טרמינל ב-Client אז <a href="https://twitter.com/amilajack/status/1479328678601363456">יש פה את Duf</a>, איך שלא קוראים לו [הכי קל בטקסט . . . ], שהוא shows a better du summary</li><li>יש את <a href="https://github.com/htop-dev/htop">htop</a> שזה “<a href="http://">a</a><a href="http://"> modern</a><a href="http://"> </a><a href="http://">`top`</a><a href="http://"> replacement</a>”, יש את ה-<a href="https://twitter.com/amilajack/status/1479442528994689025">Hex Viewer</a> . . . </li><li>בקיצור - יש פה המון, שווה להסתכל, קחו מה שבא לכם, <a href="https://twitter.com/amilajack/status/1479450486742781952">fig </a>וכו’ . . . .</li><ul><li>רשימה ממש חמודה - רוצו ויהיה לכן <a href="https://twitter.com/shemag8/status/1531587957655748608">טרמינל קצת יותר חמוד ונחמד</a></li></ul></ul><li>ולדבר הבא - יש איזה IDE חדש שנתקלתי בו בשם <a href="https://replit.com/">replit</a>, זה - <a href="https://replit.com/">repl</a><a href="https://replit.com/">-</a><a href="https://replit.com/">it</a></li><ul><li>הרעיון הוא שהוא “IDE משותף” - כמו ש-Google Docs וכו’, כשכותבים כמה במקביל</li><li>אז הרעיון גם פה הוא שכותבים כמה במקביל, ואז אפשר לראות מי כתב ו-Comment-ים תוך כדי . . . .</li><li>אני לא יודע עד כמה הוא עם Extension-ים וחזק עדיין, אבל הקונספט שכתבו IDE שמראש מיועד ל-Collaborative Sharing - אני חושב שזה ממש חמוד.</li><ul><li>זה גם נראה כמו <a href="https://code.visualstudio.com/">VSCode </a>קצת - אז אני לא יודע אם הוא מבוסס עליו<a href="http://"> </a>או . . . </li></ul><li>(רן) אנחנו משתמשים בו, השתמשנו בו לפעמים לראיונות עבודה . . . . בתוך IDE Online, לראיונות מרחוק </li><ul><li>זה נחמד, זה כלי טוב</li></ul><li>(אלון) כן . . . גם ב-<a href="https://code.visualstudio.com/">VSCode</a> יש כלים ל-Collaborative והם משתפרים - אבל הם לא . . . לפחות זה לא נראה ברמה הזאת</li><ul><li>זה נראה הרבה יותר Slick וחי ו”בדיוק מה שאני עושה”</li></ul><li>אז כמו שאמרת - לראיונות או סתם אם יש לכם חברים בעבודה, אם יש כאלה אנשים - אז אתם יכולים לעבוד תמיד יחד . . . </li></ul><li>האתר הבא זה <a href="https://learngitbranching.js.org/">L</a><a href="https://learngitbranching.js.org/">earn</a><a href="https://learngitbranching.js.org/"> G</a><a href="https://learngitbranching.js.org/">it</a><a href="https://learngitbranching.js.org/"> B</a><a href="https://learngitbranching.js.org/">ranching</a></li><ul><li>זה פשוט אתר UI-י, אינטראקטיבי, שמלמד איך נראה <a href="https://git-scm.com/">Git</a> . . . - </li><ul><li>מה קורה? איך אני עושה Commit? איך נראה עץ? איך אני עושה Merge? איך אני עושה Split? . . . . מה שאתם רוצים.</li></ul><li>אז אני אוהב לשחק פה עם הפקודות וזה ממש מראה מה קורה ומסביר ואיך חוזרים אחורה והכל . . . </li><li>אז למי שרוצה קצת פעם אחת ולתמיד להבין איך באמת Git עובד ולא <a href="https://git-scm.com/docs/git-pull">Git-Pull</a> ו-<a href="https://git-scm.com/docs/git-push">Push </a>ומתישהו <a href="https://stackoverflow.com/questions/5509543/how-do-i-properly-force-a-git-push">Force </a>כי כלום לא עובד והרסתם הכל . . . .</li><ul><li>אז זה אתר ממש ממש חמוד ואינטראקטיבי</li></ul><li>(דותן) העיצוב של ה-Mac מסגיר את השנה שבה זה נבנה . . . . הייתי מנחש 2014 . . .</li><li>(רן) זה מזכיר לי את <a href="http://">האייטם הקודם עם המערכות הפעלה</a> שלך, דותן . . . . נראה שגנבו משם איזושהי מערכת הפעלה מאלפיים-ומשהו ו . . . כן.</li><li>(אלון) כן . . . מה שנחמד זה שאפשר לשחק שם על העץ של ה-<a href="https://git-scm.com/">Git</a> ואז הוא מראה לך בצד איזו פקודה אתה מריץ - </li><ul><li>את לוחץ על הפקודה אז הוא מקפיץ לך את ה-UI בצד השני</li><li>זה הכל נורא אינטראקטיבי ואפשר לשחק עם זה - ממש חמוד.</li></ul></ul><li>האייטם הבא - <a href="https://cloud.google.com/blog/products/databases/introducing-alloydb-for-postgresql">Google הוציאו Database חדש! - AlloyDB</a></li><ul><li>להבנתי הוא גם פותח בארץ . . . החבר’ה בארץ פיתחו אותו, אז כל הכבוד.</li><li>נראה סופר-מרשים - זה המתחרה של ה-<a href="https://aws.amazon.com/rds/aurora/">Aurora</a>, אבל לפחות לפי ה . . . .</li><ul><li>אם הם מבטיחים חצי ממה שהם כותבים פה, אז זה הרבה יותר מרשים מה-<a href="https://aws.amazon.com/rds/aurora/">Aurora</a>, מהרבה בחינות</li></ul><li>לא נכנס לכל מה שהוא עושה, אבל קודם ב-Benchmark-ים שלהם - שבואו ניקח את זה עם כוכבית גדולה - אבל הם פי-2 מ-<a href="https://aws.amazon.com/rds/aurora/">Aurora</a> ב-Benchmark-ים, בביצועים</li><li>יש להם שם דברים די מדהימים - בגלל שהם עובדים על ה-Storage שלהם, של <a href="https://cloud.google.com/blog/products/storage-data-transfer/a-peek-behind-colossus-googles-file-system">Colossus</a>, ה-Shared Storage, אז להרים רפליקות (Replications) זה ב-Seconds . . . .</li><ul><li>אז פתאום . . . בדרך כלל, אחת הבעיות ב-Database-ים רלציוניים זה שכשמגיע Scale אז אתה תמיד צריך להיות ב-Over-Scale, כי כדי להעתיק רפליקה הוא צריך להתחיל לקרוא את הדאטה או להרים Logging או להרים איזה Backup - וזה דאטה שב-Database-ים גדולים יכול להיות עשרות דקות . . . </li><li>אז פה מדובר ב-Seconds . . . . אז זה די משמעותי, הדברים האלה - כתיבה במקביל . . . </li><li>נראה מדהים, באמת - נראה מדהים</li></ul><li>הוא <a href="https://cloud.google.com/blog/products/databases/introducing-alloydb-for-postgresql">כרגע חינם ב-Preview, ב-Google Cloud</a>, אז . . . .</li><li>(רן) זה משהו שרץ ומסתמך על <a href="http://">Google Cloud</a> - זה לא משהו שאתה יכול להריץ אצלך על המחשב . . . </li><li>(אלון) לא . . . זה ב-<a href="https://cloud.google.com/">Google Cloud</a>, זה <a href="https://cloud.google.com/sql/docs/postgres">Postgres</a> . . .</li><ul><li>(רן) ב-<a href="https://cloud.google.com/sql/docs/postgres">Postgres </a>category . . .</li></ul><li>(אלון) אז זה <a href="https://cloud.google.com/sql/docs/postgres">Postgres </a>בלבד - גם דיברתי שם, אפשר אפילו לשים Extention-ים של <a href="https://cloud.google.com/sql/docs/postgres">Postgres </a>כמו <a href="https://postgis.net/">PostGIS </a>ועוד כל מיני חברים . . .</li><ul><li>זה <a href="https://cloud.google.com/sql/docs/postgres">Postgres</a> under the hood, אבל . . . . לא בדיוק “Under the Hood” אבל השתמשו שם . . . הם יצאו מתוך <a href="https://cloud.google.com/sql/docs/postgres">Postgres</a> ובאיזושהי נקודה הם התפצלו, זה נראה די מהר</li><li>אבל באמת באמת - כל הכבוד לחבר’ה פה שעשו את זה - נראה . . .</li></ul><li>(דותן) בהמשך לקטע הישראלי, אני רואה שמי שכתב את זה - את הפוסט הזה - זה <a href="https://twitter.com/andigutmans?lang=en">Andi Gutmans</a> - הלא הוא היוצר של <a href="https://www.php.net/">PHP </a>ו-<a href="https://www.zend.com/">Zend </a>. . . אז . . . </li><ul><li>מגניב - אז עכשיו הוא ב-Google . . .</li></ul><li>(רן) אחד מהם לפחות . . . יש גם את <a href="https://en.wikipedia.org/wiki/Zeev_Suraski">זאב </a>- שכחתי את שם המשפחה שלו . . . </li><ul><li>(דותן) נכון . . . <a href="https://en.wikipedia.org/wiki/Zeev_Suraski">סורסקי</a></li><li>(רן) <a href="https://en.wikipedia.org/wiki/Zeev_Suraski">סורסקי</a>, תודה - שהוא גם ישראלי</li></ul><li>(אלון) אז בקיצור, חבר’ה - זה נראה ממש מרשים עם <a href="https://www.mongodb.com/docs/manual/sharding/">Sharding </a>. . . זה “שילוב של <a href="https://www.cockroachlabs.com/">Cockroach</a> עם <a href="https://aws.amazon.com/rds/aurora/">Aurora</a> על סטרואידים” כזה . . . </li><ul><li>נראה באמת . . . .אם זה באמת עובד טוב, אז זה נראה כאילו “מה צריך יותר מזה?”</li><li>יש לנו “<a href="https://cloud.google.com/sql/docs/postgres">Postgres</a> על סטרואידים” - זה נראה לי שאפשר להגיד שלום להרבה מערכות, אבל בסדר . . . </li></ul><li>אני מאוד בעד - כי אני אוהב גם את <a href="https://cloud.google.com/sql/docs/postgres">Postgres</a> מאוד ומאמין בו, אז זה בכלל לקחת אותו הלאה</li><ul><li>אני מקווה שזה עובד כמו שזה נראה.</li></ul><li>(רן) ואחרון שלך, אלון . . . .</li></ul><li>(אלון) האחרון שלי זה <a href="https://steampipe.io/">Steampipe</a></li><ul><li>אם התחלנו ב-SQL אז בואו נמשיך - זה בעצם מה שהם רושמים: Select * From Cloud . . . </li><li>זה נותן להריץ ב-CLI שאילתות SQL מעל ה-Cloud - נגיד Select * From Instances</li><ul><li>ולקבל את ה-Instances עם “While Memory גדול מככה וככה” או “Where CPU גדול מככה” ו”כשה-Cost הוא כזה”</li><li>ולעשות מלא שאילתות על ה-Cloud שלך בשפות SQL</li></ul><li>אז זה ממש חמוד וממש נוח - אפשר להוציא מזה סטטיסטיקות די בקלות</li><ul><li>מפתחים שתמיד מתעצלים לבדוק Cost וכאלה אז פתאום אולי יתחילו להתלהב מזה, כי אפשר להוציא את הסטטיסטיקות די ב-Script ובקלות</li><li>אולי אפילו להכניס את זה לאיזה CI פתאום . . . </li><li>ולקבל מידע בקלות בלי ללמוד כל מיני API מוזרים</li></ul><li>אז זה ממש ממש נחמד - אני אישית מאוד אהבתי את זה, אחלה כלי CLI.</li><li>(רן) נחמד - תודה</li></ul></ul><br />ואנחנו ממש לקראת הסוף והגענו לחלק של המצחיקים<ul><li>(רן) רציתי לספר לכם על <a href="https://www.linkedin.com/in/pinscherprogrammer/">פינצ’ר המתכנת</a> . . . יכול להיות שסיפרנו עליו בעבר, אני כבר לא זוכר, הוא כבר נמצא בסצינה לא מעט זמן</li><ul><li>אז <a href="https://www.linkedin.com/in/pinscherprogrammer/">פינצ’ר המתכנת</a> הוא מתכנת מתוסכל מאוד עם זקן גדול ומשקפי-שמש אימתניים - שבא ומספר על חיי היומיום שלו - על איך פתחו לו באג, על למה מזמנים אותו לפגישות . . . </li><li>בקיצור - אני חושב שכמעט כל המפתחים יכולים ככה להזדהות עם הסיטואציות היומיומיות האלה, שמוצגות בהומור וחן רב</li><li>אז לכו - צפו בסרטונים שלו - <a href="https://www.linkedin.com/in/pinscherprogrammer/">פינצ’ר המתכנת</a>, נמצא בלינקדאין</li><li>ממליץ, תצחקו . . .</li><li>(אלון) כן . . . . יש לו כמה באמת “לפנתיאון”, <a href="https://www.linkedin.com/in/pinscherprogrammer/">לפינצ’ר הזה</a></li><ul><li>מה שכן - עד שהקלטנו, הוא פרסם שהוא יצא לפגרה . . . אבל לא נורא, יש מלא Video-ים, אפשר לצפות בישנים</li><li>יש מספיק היסטוריה - הוא התחיל לפני הפגרה שלנו, עכשיו הוא יצא לאיזו פגרה כדי לאסוף עוד חומרים, אבל מומלץ מאוד.</li></ul></ul><li>(רן) ואולי האייטם האחרון להיום והכי מרגש - <a href="https://www.youtube.com/watch?v=KL4z6-A6o3U&t=1s">כנס רברסים 2022 יצא לדרך!</a></li><ul><ul><li>(אלון) תופים!</li><li>(רן) יפה, אלון, אני לא צריך לעשות עריכה קולית - אתה עושה לי הכל . . . .</li></ul></ul><ul><li>אז בעצם דותן מוביל את צוות התוכן</li><ul><li>(אלון) דותן!</li><li>[<a href="https://twitter.com/jondot/status/1531323357303656448">הצוות</a><a href="https://twitter.com/jondot/status/1531323357303656448"> </a><a href="https://twitter.com/jondot/status/1531323357303656448">(המדהים!)</a><a href="https://twitter.com/jondot/status/1531323357303656448"> של רברסים היה זמין לכל אחת ואחד בוורקשופ בנושא איך להגיש הצעה לכנס</a>]</li></ul><li>(רן) אני השנה קצת יותר מסתכל מהצד - אבל זהו: <a href="https://sessionize.com/reversim-summit-2022/">הקול-קורא להגשות פתוח</a>, הכנס עצמו הולך לקרות באוקטובר</li><li>וזהו - תבואו ותגישו: הולך להיות כיף והולך להיות מעניין, אז מוזנים להגיש וכמובן שאחר כך מוזמנים להשתתף.</li></ul></ul><br />זהו, בזה אנחנו מסיימים - תודה רבה! <br /> האזנה נעימה ותודה רבה לעופר פורר על התמלול!