יום שלישי, 26 בפברואר 2019

362 Elastic, distributed corporate with Uri Cohen

פודקאסט מספר 362 של רברס עם פלטפורמה - אורי ורן מארחים את אורי כהן, ידיד הקהילה כבר זמן רב, כיום עובד ב-Elastic (יש מצב ששמעתם את השם איפשהו). 
השיחה מכוונת לחברה עצמה ומה היא עושה - וגם על איך היא עושה את זה: “חברה מבוזרת”, כשאורי הוא אחד העובדים הבודדים בחברה שנמצא ביום-יום בישראל.

קצת על אורי - 
  • אורי עובד ב-Elastic כ-3 שנים, מגיע מרקע של פיתוח תוכנה ולפני כ-10 שנים עבר לצד המוצר (Product).
  • כיום אחראי ב-Elastic על ניהול מוצר של כל מוצרי הענן.

אז מה זה Elastic?
  • שמעתם על Elastic Search
    • פלטפורמת קוד פתוח, שנוסדה במקור כמעיין מנוע חיפוש מבוזר מעל סיפרייה בשם Lucene
    • מאפשרת להכניס מידע בצורת מסמכים (Documents) ולערוך עליו חיפושים, סכימות (Aggregations) וניתוחים שונים.
    • הפרויקט שוחרר לעולם ב-2010 ע”י שי בנון, מייסד החברה, ומאז כמות ה-Use Cases גדלה - 
      • בהתחלה Log Analytics, וסביבו נוצרו עוד שניים: LogStash - מעיין מיקוד של המידע לפני שנכנס ל-Elastic Search; ו - Kibana - שכבת UI מעל Elastic Search, שיודעת לעשות ויזואליזציה של הדאטה.
    • עבור לא מעט אנשים, זה גם ה-Stack שמעל ELK
      • מותג ידוע ונפוץ, קצת משחק של אהבה-שנאה בתוך החברה - נפוץ, אבל קצת מגביל את ה-Stack של החברה לכיוון של Logs בלבד.
      • לאורך השנים נוספו עוד דברים, כמו Beats ו-ELKB / BELK - ובסוף זה פשוט נקרא Elastic Stack
  • הרבה דברים מעניינים ולא שגרתיים . . .
    • פרוייקט נפוץ ומוערך בקוד פתוח 
    • יזם ישראלי שלקח חברה מאפס עד כדי הצלחה מסחרית מרשימה
    • החברה מבוזרת לחלוטין
    • מוצר טוב. גם חשוב.
    • כל זה - באותה חברה. תודה לשי על אחלה סיפור לפודקאסט!

חברה מבוזרת - 
  • איך נראה היום-יום בכזו חברה - לובשים פיג’מה ומתחברים ל-Skype? למה בכלל לקום דווקא בבוקר?
    • מבחינת אורי - לקום בבוקר, לפזר את הילדים במסגרות השונות, אימון - והתחלת יום עבודה סביב 9:30-10:00; רוב הבוקר שקט - עבודה מול ארה”ב; סביב 15:00-16:00 מתחילות פגישות עד סביב 19:00; ההמשך תלוי - יש ערבים פנויים ויש כאלה עם עוד סבב פגישות לילה.
    • נשמע פחות מושלם מהאידיאל המדומיין של רן (למעט יום ראשון . . .)
      • מצד אחד יכולת תיאורטית להיות יותר ידידותי למשפחה, ומצד שני - השעות נראות קצת פחות ידידותיות, רוב הערבים מוקדשים לעבודה
      • הבוקר רגוע, ואפשר לאכול צהריים עם הילדים, ומצד שני 2-3 ערבים בשבוע סגורים בהרבה מקרים לעבודה אחרי ארוחת הערב.
      • זה גם תלוי-תפקיד - במקרה של אורי זה מאוד רוחבי, כשהוא אחראי על כל מוצרי ה-Cloud (משפחת ה-Hosted Services של Elastic Cloud, וגרסת ה-Private Cloud של החברה - שני מודלים של הפצה לאותו Code base).
      • עיקר העבודה סביב 15:00-16:00 - איך מפרידים?
        • החברה פתוחה לעבודה מהבית, ולפעמים הילדים נכנסים לישיבות . . . כשצריך סוגרים דלת ולפעמים גם זה לא עוזר. יש Tolerance ברמת החברה.
  • איך מנהלים כזו חברה? או אפילו צוות מוצר?
    • דיברנו בעבר על Automattic, עבר זמן . . . בחברה רגילה זה לא “פשוט עובד”
      • ומדובר בחברה גדולה - מעל 1,200 עובדים, וגדלה מהר.
    • התרבות בחברה מאוד חשובה - החברה נוצרה סביב קוד פתוח, והעבודה מלכתחילה התבססה על מבנה מבוזר - מערכות Ticketing, שימוש ב-GitHub וב-Google Docs כשנכנס.
    • היררכיות התקשורת מאוד ברורות - 
      • כשצריך תשובה מיידית אז Slack 
      • כשרוצים דיונים משמעותיים עוברים ל-Offline: לפעמים Mailing lists או GitHub Tickets (אפשר לראות את הדיונים).
      • כשהא-סינכרוניות מפסיקה לעבוד, מכנסים פגישה ב-Zoom, ומתעדים את ההחלטה עבור כל מי שלא היה או הצטרף מאוחר יותר לחברה למשל.
    • מהם הטריגרים למעבר מתקשורת א-סינכרונית (שהיא מטבע הדברים בעיקרה טקסטואלית) לסינכרונית (“בוא נעלה על שיחה”)?
      • כשרואים שטיקט נתקע, ולא מתקבלת החלטה
      • כשיודעים מראש שמדובר בנושא עם המון דעות וחבל לבזבז אנרגיה על מיילים
      • וצריך המון שיקול דעת ואמפטיה . . . כשמדברים פנים אל פנים יש טון ושפת גוף והמון דברים שהולכים לאיבוד בטקסט, כמו גם הבדלי תרבות וסגנון
        • הכלל הראשון  - Assume no malice: לקרוא כל דבר מתוך הנחה שמי שכתב התכוון לטוב
        • אם צריך - כל אחד יכול לעצור וליזום שיחה (Zoom).
        • זה ערך בחברה - חלק מה-Source code - לא רשימת “עשה ואל-תעשה” אלא משהו שמבטא את רוח החברה
        • יש גם את “Everyone has an accent” - זה לא רק מבטא אלא גם תרבות ועולם דימויים וכו’.
        • וכמובן “Home Dinner” (חשוב שהעובדים יהיו קשורים למשפחה) ו - “Space Time” (לאפשר לאנשים לעשות דברים פחות מובנים וליזום בעצמם)
        • זה לא משהו שהחברה ניבנתה לפיו, אלא סט ערכים שנוצר בחברה ונאסף על מנת שמצטרפים חדשים יכירו.
    • האם חברה מבוזרת = פחות פגישות ויותר עבודה א-סינכרונית אינדיבידואלית?
      • מובנה בחברה - היום פרושה על פני 39 מדיניות והמון איזורי זמן, עם הגדרות שבוע עבודה שונות, כך שלקבוע פגישה זה לא פשוט.
        • גם לפגישות קבועות יש סבב של Time-Zones, כדי שלא כל פעם יהיה נוח רק לאותו איזור
      • יש גם צד פחות טוב - כמות המידע הא-סינכרוני שצריך לעבד היא גדולה מאוד, ובחברה מעדיפים לטעות לכיוון “עודף-מידע” מאשר “חוסר-מידע”, מה שמגביר את זה עוד יותר
        • בוקר טיפוסי כולל כמה שעות של קריאה של מה שקרה בלילה . . .
    • יש פונקציות שאינן מבוזרות - אופרציה? פיננסים?
      • למעט Sales - לא. יש צוותי מכירות בלונדון, צרפת וכו’ - צמודים ללקוחות בהתאם למיקום. כל השאר לא.
      • יש צוותים יותר מבוזרים מאחרים - ל-Marketing למשל יש מרכז כובד ב-Mountain View, אבל ה-Engineering פרוש על פני כל העולם.
        • צוות ה-Cloud של אורי פרוש על פני 13-14 מדינות, בערך בכל איזור זמן שעולה על הדעת
    • קצת לגבי הצד הפסיכולוגי - כל היום עובדים מהבית (רן ניסה פעם ולא היה קל): פתרון אפשרי הוא לשכור משרד ליד הבית, אבל זה עדיין להיות לבד, ואם יש בעיה אתה מתמודד קודם כל בעצמך; מעבר לזה - חיי חברה: מה אתה יודע על חבריך לעבודה? יש להם כלב? הם אוהבים סקי? זה חסר בכלל?
      • כדי שזה יעבוד טוב חייבים גם קשר פיסי בלתי אמצעי - פעמיים בשנה החברה לוקחת את כל צוות ה-Engineering (מאות אנשים), ומטיסה את כולם למקום אחד בארה”ב או באירופה, לשבוע שלם של road map ודיונים אסטרטגיים אבל גם בילויים וארוחות משותפות ליצרת קשר אישי שנשאר גם כשכל אחד חוזר למקום.
      • וכן - זה חסר.
        • חלק מכוסה, לפחות חלקית, באמצעים אחרים - ערוץ Water Cooler ב-Slack למשל, עבור תקשורת פחות פורמלית, בדיחות וכו’.
        • כל אחד יכול לשכור משרד. אורי ניסה וגילה שבסוף יותר נוח לו בבית, ומתרגלים.
        • בארץ כבר יש 10-11 אנשים ויש ערוץ ישראלי (עובדים בראשון, אפשר לדבר עברית וכו’)
      • אפשר לעבוד יחד, אבל יש לזה השלכות - 
        • לדוגמא - בצוות שאורי עובד איתו יש פגישה שבועית, כש-20 מתוך 30 חברי הצוות נמצאים ב-Mountain View. כאשר הפגישה השבועית התקיימה עם 20 איש בחדר אחד ועוד 10 ב-Zoom, מי שהתחבר מרחוק איבד הרבה מהשיחה. ההחלטה הייתה ליצור Level Plain Field —> גם מי שבמשרד מתחבר “מרחוק”, ואז כולם באותם תנאים, אין שיחות צדדיות (יש Slack . . .) וכו’.
        • ועדיין - יש דוגמאות של שני עובדים ששכרו יחד משרד בתל אביב.
    • הפגישות עצמן - הם רק עסקים או גם צחוק? רן מזכיר וידאו של מנכ”ל (?) Trello (עוד חברה מבוזרת, או לפחות הייתה) מלפני שנתיים בערך, שאמר שכל פגישה מתחילה ב-10 דקות של Small Talk, באופן מובנה (הבלוג שלהם עדיין מלא בזה). האם יש משהו כזה ב-Elastic?
      • לא משהו מובנה, אבל מעניין דווקא - כמעט כל פגישה מתחילחה ב 3-5 דקות של Small Talk, ואולי זה משהו שצריך לאמץ.
      • בכל מקרה - פגישות חייבות להיות מובנות (לא רק ב-Zoom): יש פרוטוקול לפגישות, אג’נדה ברורה, מסמך שמוצמד לזימון, מישהו שאחראי לכתוב Notes. מאוד מסודרים עבור פגישות אפקטיביות.
    • טכנולוגית - אין כאן משהו חדש (Google Docs, GitHub, Slack, Zoom . . .). הקסם הוא בתרבות ולא בכלים.

לא מזמן החברה הונפקה (אוקטובר 2018) - וזה משהו שיש לו פוטנציאל לאימפקט משמעותי על החברה. ועדיין - אין חדר שבו כולם יכולים להיפגש להרים כוסית . . . אין נראה יום כזה? או היום שאחרי? מה השתנה?
  • היה לאורי המזל והכבוד להיות בניו יורק בזמן ההנפקה, והגישה הייתה מאוד מסודרת - 
    • אי אפשר לחשוף את תאריך ההנפקה למי שלא הגיע ספציפית עד שבוע לפני
    • כשחושפים - פותחים Zoom כללי לכולם, הייתה אפילו הקצאת Expense לקנות יין . . .
    • היה שידור ישיר מה-Trading Floor - שעה-שעתיים של תהליך למציאת המחיר למסחר (ב-NYSE), כשבזמן הזה כולם יחד (האנשים בבית קיבלו גם פרשנות עם הוידאו, וכנראה ידעו אפילו יותר . . .)
  • מה השתנה? החברה מאוד פתוחה, ואחד היסודות של זה הוא שקיפות (Transparency). 
    • בהרבה חברות ההחלטות מתקבלות במקום אחד ואז מתוקשרות החוצה כמו שהן, ללא תהליך קבלת ההחלטות, ונוצר מצב שבו אנשים בקצוות שלא מבינים למה הוחלט כך ולא אחרת
    • על מנת להתמודד עם זה, כל תהליך קבלת ההחלטות מתועד באופן מאוד מפורט, אפשר ללכת ולהסתכל על כל שלב, ויש עדכונים שוטפים מכל פונקציה בארגון באופן שבועי
      • מכל צוות ב-Engineering נשלח בכל שבוע עדכון: על מה עובדים, מה התחדש, משרות פתוחות (אם מישהו רוצה לעשות שינוי)
      • מכל זה, Head of Engineering שולח עדכון ברמת כל החברה - אלא הפיצ’רים החדשים, אלו דברים שלא עבדו טוב ומה עשינו וכו’
      • כנ”ל HR, Legal, Sales וכו’
    • לפני ההנפקה היה אפשר לחשוף הרבה יותר, בעיקר מכיוון Sales - כמה מכרנו החודש וכו’ 
      • אחרי ההנפקה כבר אסור לעשות את זה . . .
      • עדיין מנסים לשמור על שקיפות - אם לא כל צוות אז פונקציות עיקריות
        • מה יצא, מה ה-Road-map, כל מיני KPI וכו’
  • הייתה גדילה משמעותית בכח-אדם - 
    • החברה גדלה גם לפני, ופעלה במעיין Mode הנפקה גם קודם - תהלכים וארגונים נבנו בצורה מסויימת
      • הנפקה מאוד מבגרת את החברה - תהליכים שנראים אפילו מעיקים בהתחלה הרבה פחות מעיקים בהמשך והופכים את ההתנהלות ביום-יום לטובה יותר

איך מגייסים אנשים - איך מגיעים אליהם? איך עושים ראיונות? חווית המועמד 0-100 . . .
  • יש מגייסים בכמה מדינות (מועסקים ע”י החברה) - אבל לא בהכרח במדינות בהן מגייסים
  • מפרסמים משרות באתר - יש לחברה שם טוב ויש כמות גדולה של מועמדים אורגניים מתוך האתר
  • יש תוכניות רגילות של חבר מביר חבר וכו’, וגם Sourcing (בעיקר דרך LinkedIn).
  • ראיונות - לגמרי Remote, באמצעות Zoom - 
    • 5-6 ראיונות (מסינון recruiter ועד ראיון אחרון)
    • תלוי בתפקיד ובבכירות מי מראיין

ואז מתחילים לעבוד - Zoom כבר התקנתי, מה עכשיו?
  • תתקין Slack . . .
  • מקבלים הרשאות לכל מה שצריך, לכל צוות יש תהליך On Boarding מאוד מסודר עם מסמכים מפורטים
  • אחרי שמתאפסים, בונים תוכנית ל-90 ימים ועוקבים אחרי יעדים
  • האם יש Online university מסוג כלשהו? 
    • יש Offline . . . קוראים לזה X-School, ופעם בחודשיים מטיסים את כל המתגייסים החדשים לכמה ימים ב-Mountain View: יומיים כלליים על החברה ועוד יומיים ספציפיים לתפקיד.
      • מאוד מסודר ומוגדר - יש תמונה קבוצתית שבועית (מי שב-Slack שולח תמונה…)
    • יש גם Online עבור המוצרים עצמם - יש Training.
      • גם עבור מכירות, כולל Certification
      • גם עבור Engineering
      • תהליכי On-boarding ספצייפם לצוותים מסויימים

ניכנס לראש של עובד צעיר בחברה - פעם ראשונה בחברה מבוזרת כזו, וזו פעם ראשונה שלו לבד עם עצמו, נגיד חודשיים בהתחלה. יש כאלה שעבורם זה עשוי להיות יותר קשה (לפתור באג לבד וכו’). הרבה קושי נוסע מזה שאתה לא יודע שלכולם קשה, כי אתה לא רואה אותם . . . האם יש טפוסי עובדים ספציפיים שזה לא מתאים להם? האם היכולת להיות Lone Wolf (כי מי צריך נינג’ות כשיש צ’אק נוריס) היא משהו שמחפשים בתהליך גיוס?
  • לא בהכרח, כי יש המון עבודת צוות - פשוט במדיומים אחרים
  • לכל עובד חדש מצמידים מנטור, בדרך כלל באיזור הזמן של העובד, שעוזר לו להבין מה קורה ולהשלים את תהליך הקליטה בהצלחה
  • ועדיין - היו כאלה שבאו אחרי כמה חודשים ואמרו שלא מתאים, אבל זה מיעוט קטן, לפחות במה שאורי חשוף אליו
  • ספציפית לטיפוסים - אפשר היה לחשוב שאילו יהיו כאלו שתרמו בעבר לקוד פתוח וכו’, אבל ב-Elastic לא מצאו קורלציה ספציפית
  • זה אולי שובר בודדים - אבל יש גם כאלה שפורחים. כמו בכל חברה, תמיד יש סיכוי שזה לא יסתדר אבל אין משהו חריג
    • אולי להפך - המספרים של ה-Engagement Survey מאוד גבוהים ביחס לכל מתחרה בקטיגוריה, וגם אבסולוטית. אנשים נהנים . . .

אז מה אתם מחפשים - בישראל ובעולם?
  • כמעט הכל . . . עשרות (אם לא מאות) משרות פתוחות באתר, כשכל מה שכתוב עליו Anywhere רלוונטי גם לישראל
  • אין עדיין יישות משפטית בארץ - עובדים בארץ הם עובדי החברה מבחינתה לכל דבר ועניין, אבל טכנית עדיין צריך לעבוד כעצמאי ולהוציא חשבונית לחברה בחו”ל. צפויה להיווצר יישות בארץ, לא ברור בדיוק מתי אבל בקרוב. משהו שצריך לקחת בחשבון.
  • יש בלי סוף משרות Engineering, בכל הצוותים - 
    • ב - Elastic Search בעיקר Java ומערכות מבוזרות
    • ב - Kibana זה יותר Front-end - JavaScript, Node
    • ב - Beat - יותר Golang, Scala
    • יש Marketing, Product, יש בצוות של אורי.
    • כל מה שמסווג כ-Anywhere . . .
הקובץ נמצא כאן, האזנה נעימה ותודה רבה לעופר פורר על התמלול

יום שלישי, 19 בפברואר 2019

361 Bumpers 56

רן, אלון, ודותן בפרק מספר 56 של באמפרס (361 למניין רברס עם פלטפורמה) - סקירה של טכנלוגיות ודברים מעניינים מהזמן האחרון. 

רן - 
  • בפרק שעבר דיברנו על הרבה הכרזות מה -2018 AWS:reinvent, ונשארו עוד כמה שלא הוזכרו - 
    • שירות מנוהל Managed Kafka בשם Amazon MSK - מעניין למי שאוכל Kafka לארוחת בוקר (אנחנו מקבלים את כולם באהבה)
      • יש כבר ל-AWS שירות דומה בשם Kinesis אבל לא בדיוק אותה אופרציה
      • אם אתם בונים מאפס אז אולי זה לא ממש משנה, אבל אם כבר יש משהו שעובד על Kafka אז לעבור זה פחות כיף
      • הקונספט עצמו אולי קצת מאכזב - בשונה מ-Kinesis, זה לא Serverless, צריך לבחור שרת, גודל וכו’; קצת דומה למודל של RDS (ניהול החומרה הוירטואלית נשאר על המשתמש), יוצר בעיות בפיקים (גם ב-Kinesis היה צריך לתכנן Capacity, ועדיין יותר קל לתכנן ל-Scale).
      • עדיין יותר קל מלנהל Kafka בעצמך, לא כל כך זול, לשיקולכם.
    • עצור! עכשיו תמשיך . . . Amazon EC2 מאפשר להשהות (Pause) ואז להמשיך Workloads
      • אפשר להקפיא Instance בזמן (בלי לעצור אותו), ואז להמשיך מאוחר יותר
      • לא מצאנו שימוש ספציפי עדיין (בכל זאת EC2 as is), אבל רעיון מעניין
      • חלק פחות נחמד - מתרחק מהקונספט של State-less Server (מתחיל מאפס בכל פעם), חוסך את הסקריפט של האתחול ויכול להיות נוח. 
        • למה בכל זאת? ממש טוב ל-Chaos Engineering, ולשרתים שומרי שבת. בקרוב ב-B&H?
    • רוצים לתזמן זמני ריצה? AWS Lambda עכשיו תומך ב-Custom Run-times, ומאפשר לשתף קוד
      • קודם יכולתם לכתוב באחת מהשפות הנתמכות וזהו, עכשיו אפשר לשתף יותר
      • המגבלה לגדול הקוד (בשפות Script למיניהן זה כואב יותר) מאפשר לשתף ספריות שכבר “חיות בענן” ואפשר רק לתת רפרנס אליהן בלי כל הקוד.
        • קונספט חדש של Serverless Library? פרקי 1 באפריל ממשיכים להכות . . .
      • עדיין יש את המגבלה של 75Gb לכל הפונקציות Lambda, אבל עכשיו זה פחות אקוטי, כי לא צריך לדפלה (!) את כל הספרייה.
        • כן, “לדפלה” (Deploy) עבר את האקדמיה. או יעבור. מתישהו. אולי. 
        • יש פורומים של רופאים שבוחנים תרגום עברית לז’רגון טכני - האם קיים גם לתוכנה? שאילתא לאבשלום קור בדרך.
    • ועוד אחד אחרון - AWS App Mesh: למי שכותב microServices יש צורך ברכיב שעושה את ה-Routing בין השירותים השונים, מוסף Metrics וכו’ - Service Mesh.
      • אחד השירותים הבולטים לזה הוא Envoy, במקור נכתב ב-Lyft והיום כבר קוד פתוח (הזכרנו את Istio שמשתמש ב-Envoy).
      • אז בגדול -  AWS יצרו Envoy מנוהל. חדש, לא השתמשנו עדיין אבל נראה מעניין.
  • עוד מישהו שם לב לכך שבזמן האחרון GitHub מחדשים די הרבה? או פשוט מפרסמים יותר? בכל מקרה - חידושים אחרונים - 
    • תוכנית חדשה שמאפשרת Private Repositories בחינם - אם בעבר היה צריך לשלם (או ללכת ל bitbucket או GitLab), נכון להיום אפשר להחזיק מספר Repositories פרטיים עם כמה תורמים Collaborators בכל אחד. אם צריך רק משהו קטן זה סבבה.
    • ועוד אחד - GitHub release Radar: עוברים על הספריות בפרופיל גבוה ועושים סקירה של Releases משמעותיים ומעניינים מהזמן האחרון (חודשי), מפרוייקטים יחסית בוגרים. שווה לעקוב.
      • למשל - Alda: שפת תכנות למוסיקה (!) - מתכנתים ומסיקאים יכולים מאוד להנות מזה
        • נראה כמו קוד, אפשר לבחור כלים ואקורדים, יש מדריך נחמד. מומלץ.
  • מכירים Grafana? מערכת דשבורדים משוכללת, בשימוש בהמון מקומות. התחיל כקוד פתוח והפך לחברה.
    • לפני כמה שבועות הוכרז מוצר חדש - Loki: כמו Prometheus, רק עבור לוגים . . .
    • אפשר לראות שזה מתחרה הELK - אם נוח לכם עם Prometheus, יהיה לכם נוח עם Loki ללוגים.
    • הכל בנוי לפי תויות ולא Full-text - לא מאנדקסים שוב דבר, אבל לכל המטריקות תמצאו גם את הלוגים הרלוונטיים (אם תשתמשו באותן תגיות).
    • נשמע מאוד מעניין ועם הגיון בריא, נקווה שיקיים. אם יודעים מה מחפשים זה אמור לעבוד.
  • חברה-בת של Alphabet (כן, נו - Google) בשם Waymo מריצה כבר כמה חודשים פיילוט לשירות של מכוניות אוטונומיות באריזונה.

אלון - 
  • קליל ונחמד - Remove BG: פשוט להעלות תמונה ולהעיף את הרקע שלה
    • בדמו זה נראה מעולה, במשחק ראשוני קצת פחות, ועדיין לא רע, יש אפילו API
    • בהמשך לטרנד השירותים לעיבוד תמונה מסוג אחד בלבד (רקע, סטיילינג, וכו’) - ועוד רגע בטח יגיע ה-Editor שמשתמש בכולם בתור שירותים.
  • ספריה בשם TypeORM: זה בעצם ORM עבור Node.js
  • מזמן לא שמענו על Google ML - הזכרנו שזה לא ממש עבד בפועל, והמאזין דויד ויינברג הפנה את תשומת ליבנו לכך שהם העלו את מספר התמונות הדרוש ל classification מ-100 ל-1000.
    • אנחנו היינו עדים לזה שבהתחלה הם דיברו על 10 . . .
  • קצת עצוב - התוכנית של Ruby 3x3 להיות x3 יותר מהירים תוך 3 שנים? אז ב Ruby 2.6 הוציאו סוף כל סוף Just In Time compiler, רק שאם עובדים עם Rails זה לא רק שלא משפר את הביצועים - זה דופק אותם באופן משמעותי neutral face 
    • בטח ב-2020 יורידו את כל השטויות מהקוד ואז זה יהיה באמת x3. לא מחדשים שום דבר לבעלי אייפון.
    • כבר הזכרנו ש-Ruby ,ובכן, קצת מת.
  • אתר בשם The Node.js Security Handbook - מרכז כל מיני עצות ובעיות מוכרות ב Node.js
    • מי שרוצה לבדוק את עצמו - נחמד
  • ועוד אחד - JSX-INFO 
    • זה npm שמראה את השימוש של כל האלמנטים שמשתמשים בהם מתוך JSX
    • ניתוח נחמד של הקוד. לא ברור עד כמה שימושי, אבל נחמד לסטטיסטיקה.
  • זוכרים את Doom? אז יש כאן הסבר על איך יצרו את האפקט (המהמם) של האש.
  • הרחבה ל-Chrome בשם rxjs-watcher: מאפשר debugging כדי לראות מה קורה תוך כדי ה-Streaming, נחמד.
  • גם GitLab הצטרפו לחגיגת ה-Serverless - מאפשרים להריץ פונקציות בענן שלהם.
    • לא ברור מה היתרון על ספקי ענן אחרים מעבר ל-Ecosystem של GitLab, אבל כולם רוצים היום להריץ פונקציות אז שיהיה.
    • לפעמים רוצים להריץ פעולות כחלק מה-Build - יש למשל גם את GitLab CI, ואם רוצים לגבות DB אן עוד פעולות מהסוג הזה אז יש כאן יתרון מסויים. 
    • אז מתי יוצא Reversim Serveless?
  • מתעניינים בלימוד VIM? הנה סדרה של טוויטים עם סרטונים נחמדים ותגובות חיוביות
    • ב-Release Radar האחרון של GitHub שהזכרנו קודם דובר על SpaceVim - סביבת עבודה קונסיסטנטית מקונפגת מראש ל-VI (הרעיון הועתק מתוך spaceemacs, על אותו עיקרון) - רן התקין ועד עכשיו נראה די טוב, מאפשר להתקין רק חבילות שצריך (רק Go למשל).
  • ועכשיו להכרזה שדותן חיכה לה כל חייו (?) - MongoDB ב - AWS (!)
    • קוראים לזה DocumentDB, אבל עם תאימות (comparability) ל MongoDB.
    • נשמע כמו משהו מבטיח. לא ניסינו, אבל סומכים על AWS מהניסיון שזה בטח לא מאבד מידע (אולי). ספרו איך היה (אם תזכרו).
  • עוד מהפכה (קטנה) בעולם של React - סופי אלפרט (Sophie Alpert), מי שניהלה את הקבוצה של React, עוזבת את Facebook.
    • לא ברור עדיין איך זה ישפיע, אבל זו דמות משמעותית בעולם של React שעוזבת.
  • ועוד סיפורי כשלונות עם K8S (מעבר לזה שאלון הוקלט אומר “קוברנטיקס” בשידור- בשביל זה תצטרכו ממש להקשיב, זה לא עובר בטקסט)
    • ריכוז של סיפורי נפילות - לא התעמקנו, אבל נראה כמו קריאת לילה נעימה (אם אתם בעניין של סיוטים)

דותן - 
  • כמה ענייני Rust להסרת חלודה (צריך להתחיל לסגור את הפער מול Go איכשהו, לא?)- 
    • סטיב קלבניק (Steve Klabnik) - “הפנים” של התיעוד (Documentation) של Rust - עוזב את Mozilla. האם גם את Rust? תלוי איך קוראים את זה.
    • אמרנו שנחזור לג’ון קרמק (John Carmack) - האבא של דום ואולי המפתח הכי טוב בעולם - החליט לכתוב ב-Rust (!).
      • רגע - אלון מוסיף ניקוד ללוח בצד של Rust
      • האיש באופן כללי מנסה הכל והמון, וזה די מדהים בהתחשב ברשימת העיסוקים שלו (כן, גם אתם עסוקים - תהיתם פעם למה התמונת פרופיל שלו כוללת ארמדיל על טיל? האיש הוציא עשרות מיליוני דולרים מהרווחים של Doom על בניית חללית ל-Ansari XPRIZE עם Armadillo Aerospace. פחות עבד בסוף, ועדיין  -יותר עסוק מכם).
      • בפעם האחרונה שהוא ניסה משהו כזה זה היה עם Lisp, ואחרי כמה חודשים הוא הוציא שפה מבוססת-Lisp, שאיתה הוא משתמש ב-Oculus. יש למה לחכות.
        • אה - כן, הוא ה-CTO של Oculus. איש עסוק, אמרנו. ה-CTO המקורי נדרס במסגרת מלחמת כנופיות . . . ג’ון ידידינו החליט להיכנס, ותוך כדי שחרר קטעי וידאו על האתגרים של VR, כולל דגמים שהוא בנה בעצמו בסגנון מקגייוור מדבק וחול בערך. כנראה עומד דרגה אחת לפני משפטי צ’אק נוריס על שמו.
  • מדריך פרקטי להקשחה של לינוקס - מרכז את כל הדברים שאפשר לעשות על מנת להקשיח את הלינוקס שלכם (בהיעדר ניסוח טוב יותר)
    • הקשחה - במובן של הורדת כל האלמנטים והשירותים שאינם בשימוש בפועל, מתוך מחשבה שזה סתם עלול לפתוח איזושהי פירצה אפשרית או לחשוף חולשות שלא לצורך
    • לפעמים דרישות רגולטוריות, לפעמים סתם מתוך פרנואידיות
    • יש שירותים שהם Add-on או אופציונליים מלכתחילה (Audit, Kernel, . . . ) - אם לא משתמשים, שלא יהיה.
  • עוד רשימה ששווה לשמור בצד - Repository בשם Professional Programming
    • נשמע קצת Fluff, אבל מפתיע עם אחוז גבוה של רלוונטיות, תוכן שכבר לא כל כך זמין ביום-יום אבל הרבה דברים פשוטים ובסיסיים ששווה לשמור (Design Patterns, ארכיטקטורות וכו’).
  • כיסינו פעם כל מיני רטרו 8bit engines - ועכשיו יצא אחד מבוסס React/ Redux ב-Javascript, שהופך את כל העניין ליותר נגיש
    • רב המנועים האלה הם שיכפולים של ה-Pico8 - אפשר לערוך סאונד, אנימציה, לכתוב קוד. נחמד שהספציפי הזה מבוסס Javascript.
    • אם מישהו רוצה לשחק בזה עם הילדים, נראה שה-Script8 הוא מקום טוב להתחיל בו.
  • תורת התורים! Queueing theory - למי שלא נתקל איכשהו בלימודים, המון מודלים סטוכסטיים ותיאור יפה של מערכות פיזיות ווירטואליות מבוסס על המון מתימטיקה, ממערכות Kanban ותורים אמיתיים ועד תורים בכל מערכת הנדסית א-סנכרונית (Call Centers וגם חדרי מיון למשל - חפשו מאמרים של פרופ’ אבישי מנדלבאום). 
    • כשמכירים את ה-Patterns, יודעים איך לתקוף את הבעיה נכון. וד”ש ל-Erlang C.
  • מעבר חד ל-Front-end - ניסיון לתכנן את 2019 בשתי שאלות:
  • בחזרה ל-State Management - נראה שזו הולכת להיות שנת ה-Redux abstractions
    • אם לפני שנתיים-שלוש הסתכלנו על ספריות שבאות מעל Redux וחוסכות קוד וזה לא נראה פופלארי במיוחד ואף אחד לא אימץ, אז עכשיו נראה שמשהו משתנה בגישה (ה-hooks הופכים את החיים ליותר פשוטים בסביבה הזו, הזכרנו את Dan Abramov)
    • יש את GraphQL ואת Mobx שיוצרים סביבה יותר נוחה, והקהילה של Redux אולי מרגישה קצת מאחור עם הרבה overhead.
    • מארק אריקסון (Mark Erickson) מנהל רשימת לינקים מטורפת ל-Redux. כבר משהו כמו 3 שנים, כוכב עולה, מעיין Redux Starter Kit
      • הכל נראה כמו Mobx פתאום . . . נחמד לקחת מוצר-כמעט-מדף במקום כל התשתיות הפרטיות
    • עוד ספריה בשם AutoDux של אריק אליוט (Eric Elliot, עוד כוכב עולה) - אותו הדבר בגדול
    • ויש גם את mobx state, שהופך קצת פחות אטרקטיבי כי אפשר לקחת דברים יותר “קלים”.
      • והפיל בחדר - GraphQL . . .
  • עוד אייטם - UI Builder עבור React
    • מסוג הדברים שתמיד בונים, וכאן יש Open source. לא ברור המודל העסקי (כנראה אין, גם הם לא מצאו ושחררו את הקוד) אבל מגניב.
  • ויש גם SciFi UI לדסקטופ שלכם - מופיע ב-releases של Github שהזכרנו קודם
    • רק להתקין ולהפוך ל-Hacker slightly smiling face ויש גם לMac  . . .
    • בא עם קפוצ’ון באופן אוטומטי
  • אחרון - Sampling python profiler
    • כתוב ב-Rust, מהווה Sampling ל-Python
    • מתחבר לזיכרון של Python, מייצר Stack Trace, מבין את השימוש . . . עובד טוב שזה די מדהים.
      • פתרון אפשרי אחר - ובן, לעבור ל-Go.

ולחלק האמנותי - 


  • ורגע לפני סיום - כנס רברסים 2019 כבר מתארגן, ה-Call For Papers בעיצומו ופתוח עד סוף פברואר (28.2)
    • למי שעדיין לא הגיש אף פעם - אין דרישות מוקדמות, רק נושא מעניין. תגישו! יש אפילו סדנאות הגשה, וגם סשנים חדשים.
    • הכנס עצמו יערך ביוני בגני התערוכה, מכירת כרטיסים כנראה חודש ומשהו לפני. סמנו ביומנים, יהיה מגניב.


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