אחרי כמעט חמישה חודשים: רן, אלון ודותן בסדרה של קצרצרים על חדשות טכנולוגיות מעניינות.
רן -
- בזמן האחרון אני נמצא הרבה בעולמות של 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
- קשה לי לחשוב . . . אלא אם כן הדבר הזה לא עושה כלום, קשה לי לחשוב על כלי שנכתב ב-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 או משהו כזה, אז שווה כן לנקות.
- זהו - כלי נחמד, שתומך ספציפית בטכנולוגיה
- אני ארוץ נראה לי טיפה יותר מהר . . . אז הספרייה הבאה היא 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, בחתיכת <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 אז אתה יכול פשוט לשנות את זה בעצמך . . .
- (אלון) כן, אני רק חושב שבמקורי מחובר לזה מילון ופה לא . . . זה אני חושב ההבדל, ואז הוא יודע . . .
- (דותן) אתה יכול להוסיף מילון בקלות, זה החדשות הטובות . . .
- נגיד, אוקיי, אז JavaScript - בוא נפתח את ה-Pull-Requests . . . .
- יש Improves word midpoint selection algorithm . . . כבר יש לו Pull-Request
- כן, הוא מציע כל מיני שיפורים . . . זה החלק הנחמד פה - שזה כל כך פשוט, מה שהוא עשה, שעכשיו . . .
- נגיד - ההצעה שהצעת - זה לא מסובך להוסיף מילון אנגלית, אני מניח שיש מלא כאלה ב-JavaScript
- (אלון) לא, אני בטוח, רק מה שמוזר לי - למה זה לא 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 category . . .
- (אלון) אז זה 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 יצא לדרך!
- (אלון) תופים!
- (רן) יפה, אלון, אני לא צריך לעשות עריכה קולית - אתה עושה לי הכל . . . .
- אז בעצם דותן מוביל את צוות התוכן
- (רן) אני השנה קצת יותר מסתכל מהצד - אבל זהו: הקול-קורא להגשות פתוח, הכנס עצמו הולך לקרות באוקטובר
- וזהו - תבואו ותגישו: הולך להיות כיף והולך להיות מעניין, אז מוזנים להגיש וכמובן שאחר כך מוזמנים להשתתף.
זהו, בזה אנחנו מסיימים - תודה רבה!
האזנה נעימה ותודה רבה לעופר פורר על התמלול!
אין תגובות:
הוסף רשומת תגובה