יום חמישי, 23 באוגוסט 2018

347 Bumpers 50

רן, אלון, ודותן בפרק מספר 50 (!) של באמפרס.

רגע לפני - כנס רברסים 2018 מתקרב: 8-9 באוקטובר, אוניברסיטת תל אביב. האג’נדה כבר ידועה. בואו.

  • פרויקט של המאזין דב אמיר - Awesome Design Patterns. מימוש של Design Patterns בשפות שונות ועוד כל מיני מסביב, כבר עם מעל 7600 כוכבים ב GitHub.
  • השפה Fo - כמו Go רק עם עוד כמה פיצ’רים פונקציונליים כמו Generics - מבני נתונים ופונקציות גנריים. ולא - זו לא פארודיה, זה ניסוי שאפילו נראה די עובד.
  • ג’ון רסיג (John Resig) - היוצר של jQuery (עכשיו ב Khan Academy) תומך ב-GraphQL (כמחליף של REST) ועתיד לפרסם ספר בנושא, שהפרקים הראשונים ממנו כבר זמינים. אפשר לקרוא גם בבלוג שלו.
  • תמיכה ב-SQS ב AWS Lmdba - עד עכשיו הייתה תמיכה באיוונטים מהמון מקורות, עכשיו גם SQS. אחד משדרי הפודקאסט (“א”) כבר משתמש ב-Production - עובד, אבל עדיין אין תמיכה ב- FIFO (פיצ’ר חדש יחסית).
    •  אם זה חשוב לכם אז אפשר לנסות את Kinesis, אם כי זה לא בדיוק אותו הדבר.
  • שמעתם על DevOps? או על הקונספט של Cloud Native? תהיתם מה ההבדל? הנה מצגת שמציגה את ההבדל (לדעת כותב המצגת)
    • בגדול DevOps עוסק ב- CALMS בעוד Cloud Native מתרכז סביב תת-קבוצה של זה - Automation-Lean-Measurements (מאפשר ל- DevOps). 
  • החדשות המרעישות של השבוע - פייתון! גוידו ואן-רוסום (Guido van Rossum), מייסד השפה, הודיע שהוא מפסיק (אייטם אחד פחות לפרק 1 באפריל הבא). 
    • I'll still be here, but I'm trying to let you all figure something out for yourselves. I'm tired, and need a very long break.
    • אובדן אמון? מאבקי ירושה? משחקי הכס? שובו של פייתון 2? יהיה מעניין - פייתון 3 כיום בפריסה, פייתון 2 עם EOL ב-2019.
  • פרויקט Chromeless - להריץ Headless Chrome על AWS Lambda. אפשר להפעיל מכל מקום בלי להתעסק עם כלום - יש דמו (על Netlify).
  • פונקציית Sort שעובדת רק כשתמסתכלים עליה. זה עדיין לא החלק של הבדיחות - השתמשו כאן בספרייה מאוד נחמדה שנקראת Tracking.js, שמאפשרת המון דברים שקשורים לזיהוי תמונות ועוד.
  • פוסט מעניין שמרכז את 11 ספריות ה-JavaScript שאתם צריכים להכיר ב-2018 -  שווה לעבור.
  • דוח מצב - קצת סדר ב-React Native. בעיקר ענייני ביצועים (Performance). כל העניין מרגיש קצת תקוע, אולי מעט לחץ.
  • שפת תכנות בשם Crystal - ביצועים מאוד גבוהים, תחביר כיפי, שווה לנסות (הנה מישהו שמסביר למה זו השפה הבאה שלו). שווה לשים לב ל -Command Line Apps, מרגיש כמו שילוב בין Go לבין Ruby, הבנצ’מרקים נראים מאוד מעניינים.
  • יצא Node.js v10.5.0 -  תמיכה ב-Multi-threading. עדיין ניסיוני (--experimental-worker flag)
  • סלאק היה למטה לכמה שעות טובות, ללא Post-Mortem עדיין (לא מתאים לכזה סדר גודל). משהו כמו 3-4 שעות, כולל כמה הודעות שווא על חזל”ש עד שחזר באמת. אנשים ניסו להיזכר איך לכתוב מייל.
  • רוצים להיזכר במבני נתונים? סוג של קורס 101 ב  Data Structure Zoo - זמני חיפוש, מיון וכל מה שרציתם לדעת ו(נגיד ש)שכחתם.
  • פרויקט MicroPython - מצלמה עם בקר וכל מיני התקנים שמחוברים אליו. אפשר להריץ כל פעם פקודה ולראות מה קורה. מוזמנים לשחק - משעשע ומלמד.
  • קצת שינויים ב VS Code - יש תמיכה ב - Grid layout. אפשר לפצל את המסך בכמה אופנים.
    • וגם gitlens - מאפשר לראות בכל שורה הרבה פרטים על ההערות, מי ולמה - מומלץ בחום.
  • פריצה ל - eslint, פרויקט שמורץ ע”י הרבה ספריות. 

  • תוסף חדש ל-GraphQL, עבור VSCode, של Prisma.io
    • קבוצה שנקראה בעבר GraphCool - עשו שינוי כיוון לכלים למפתחים תחת GraphQL.
  • פרויקט GraphQL stack - מאפשר לבחון את כל הרבדים של המשמעות של “לאמץ GraphQL”, לתכנן מראש ולהבין את האפשרויות.
  • לועדה (TC39) שמתכננת את עתיד של Javascript נוספה הצעה לשיפור בשם Slice notion - בדומה לפייתון ול-Go. כולל נקודת התחלה, גודל הקפיצה ועוד. 
    • אפשר לעקוב אחרי תהליך האישור, ואם וכאשר - להשתמש ב-Reference ולהתחיל לשחק עם זה (אין קומפיילר שצריך לשנות).
    • אם יאושר, סביר שמתישהו יופיע גם ב-TypeScript.
  • תיאור של מעבר מ-Node.js ל-Go, בהתייחסות ל-GraphQL
    • אמ;לק - 
      • מצאו את עצמם עם קוד שאינו Type-safe, לא מצאו את הידיים ואת הרגליים.
      • ברגע שעברו, ראו שיפור משמעותי בביצועים וצריכת זכרון (x8)
    • באופן כללי - יש קושי בספריות של Go ל-GraphQL
  • אחד הכלים היצירתיים של הזמן האחרון - MDX: בעצם JSX עם Markdown
    • כעקרון Markdown כבר תומך ב-HTML, אבל אף אחד לא חיבר את זה קודם.
    • ההבדל מ-React Markdown - אפשר להשתמש ברכיבים שלך מתוך הקוד (בתיעוד למשל)
    • בין הכותבים יש שני נציגים מ-ZEIT - נראה כמו צוות מאוד מרשים של מפתחים, ומוצר מאוד מעניין.
  • בהמשך ל- React 16.4 - יש כאן פוסט על פרופיילר (Unstable עדיין) נסתר יחסית.
    • בשורה התחתונה - זה כנראה מיועד עבור React א-סינכרוני. כרגע לא דחוף, אבל שווה לדעת שזה קיים.
  • טרנד  חדש - React Headless Components (בונים חלק של React ועוצרים ב-UI).
    • דוגמא לספרייה של Paypal בשם DownShift.
    • מאפשר גמישות שימוש ברכיבים השונים בפונקציה בהתאם לצורך בפועל.
    • שווה לשים לב האם תוספת הסיבוכיות בפיתוח שווה את זה (על פני ליצור פשוט שני מצבים).
  • ספרייה חדשה בשם Requests-html של Kenneth Reitz - המשך ל-Requests (גם שלו).
    • אם השתמשתם קודם ב-BeautifulSoup - כנראה שגם הוא, אבל שווה לעקוב.
  • אייטם יותר מרעיש - פייסבוק הכריזו על עוד פרויקט שהם פותחים כקוד פתוח - XAR
    • המטרה היא ליצור יחידות הרצאה עצמאיות (self-contained exes)
    • מהיר יותר מ-PEX, ואפילו מ-Shiv (של לינקדאין).
    • שטח הבעיה - למשל אם רוצים לפרוס ללא שימוש ב-Docker (לדוגמא - במקרה ויש בעיה עם גודל של Image שלא לצורך).
  • פרויקט 1-liners - מעבר ליכולת לעשות משהו מגניב בשורה אחת, זה גורם לחשוב. מפורק יפה (כולל קוד בצורה נוחה), שימושי לכל מי שמתעניין בתכנות פונקציונאלי (functional programming).
  • תחת פרויקט Compositor יש כמה תתי-פרויקטים, ואחד מהם הוא kit - כלי שמאפשר ליצור ויזואליזציה של React (ולהציג את מה שבנית) - 
    • אם נכנסים לעומק, רואים שמאחורי זה יש כלי בשם styleguidist - כמו Storybook, מוכוון UI.
    • בשני המקרים רוצים לתאר מעיין ספרייה סטנדרטית (“רשמית”) של רכיבי ה-UI, על פניו Storybook מוכוון מפתחים ו-styleguidist מוכוון אנשי Product ומעצבים.
  • ספרייה חדשה בשם React native reanimated - יש כבר כמה כאלה, זו יותר אמביציוזית, ללא תחרות מבחינת ביצועים. מבחינת API די דומה לקיים.
    • מסוג הדברים שנוטים לעבוד טוב ב-iOS ופחות באנדרואיד, שווה לשים לב.
  • וידאו - בניית Containers from scratch. שיחה חיה, ובנייה תוך כדי.
  • חזרה לבייסיק - בסיס הפילוסופיה של Unix. שווה ומאפשר הבנה יותר עמוקה של מה שנבנה על זה.
  • אתר שנקרא [docopt] - חיבור בין מסכי העזרה ל-CLI. שנוי במחלוקת אבל מאוד אפקטיבי.
  • פרויקט בית חכם - home-assistant.io. הכל על בסיס קוד פתוח. בישראל אין (זמין) את כל מה שיש בארה”ב, ועדיין הפעם זה נראה כמו ניסיון טוב - כתוב בפייתון, יש אפליציית מובייל, שווה לנסות אם יש לכם את הזמן.  יש מצב שיהפוך למסחרי באיזשהו שלב.
  • בלומברג (פיננסים, מדיה, תוכנה, הכל) פותחים בחינם את קורסי ההכשרה שלהם ל-Machine Learning. המון חומר, נראה מדהים.
  • פרויקט GitHub בשם machine-learning-template - מגיע מתוך ספר (מומלץ) בשם Hands-On Machine Learning with Scikit-Learn and TensorFlow. מאוד פרגמטי, לא רק תיאוריה ומתימטיקה.

בדיחות למתכנתים - 
  • בלוג נחמד בשם AIweirdness.com של Janelle Shane - אלגוריתמים של AI ושל Machine Learning טועים בצורה מצחיקה (“ממה מורכב הפוני? - 90% מתכת”, וכאלה). או נכשלים בכוונה במבחן טיורינג, תלוי איך מסתכלים על זה.
  • בלוג - The Saddest Moment, על סבילות לנפילות (fault tolerance) של אלגוריתמים מבוזרים. כתוב באופן הומוריסטי ומתאר דוגמאות נאיביות שלא מחזיקות במבחן המציאות.
  • ועוד שטויות של AI - תמונה של שני אנשים עם חליפות סקי על רקע עצים. מה יכול להשתבש? יצא מאוד יפה. יש עוד כאלה בבלוג שמוזכר באייטם הקודם.

וגם לסיום - כנס רברסים 2018 מתקרב: 8-9 באוקטובר, אוניברסיטת תל אביב. האג’נדה כבר ידועה. בואו.

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

יום שלישי, 21 באוגוסט 2018

346 Transparency @ Monday.com

פודקאסט מספר 346 - אורי ורן מארחים את רן דוידוביץ’ לשיחה על שקיפות בימי שני (Transparency @ Monday.com). וגם בשאר הימים.

  • רגע לפני - כנס רברסים 2018 מתקרב: 8-9 באוקטובר, אוניברסיטת תל אביב. בואו.
  • רן - בן 38, אב לחמישה - ומנהל קבוצת BigBrain ב-Monday מאז מרץ 2018.
  • מונדיי (Monday) נבנתה סביב הרעיון של מתן פתרון לקבוצה של אנשים עם מטרה משותפת שרוצים לעבוד יחד באופן שקוף.
    • ייחודיות - פתרון מאוד גמיש,  כש-70% מהקבוצות אינן בהכרח באורייטזציה טכנולוגיות. יש גם כאלה (כולל Outbrain), אבל גם סתם קבוצות, כנסיות, וה- To Do list של אורי).
  • קבוצת BigBrain בתוך Monday - לקחת כל מחלקה בארגון ולהריץ אותה ב x10 - בעזרת נתונים. הכל אינטגרטיבי ונעשה באמצעות כלים פנימיים, הכל חשוף למשתמשים.
    • 10 אנשים - $4M בחודש על שיווק.
    • למה פתרונות דומים ל Salesforce או Analytics בכלים פנימיים? כשרן הגיע זה היה הפוך, אבל הסיבוכיות של האיטגרציות והסנכרון עבור כלים חיצוניים הופכת את זה להגיוני. 
      • אורי - לפעמים זה גם עולה יותר מהרשיון עצמו.
    • המוצר כולל המון חלקים, כולל למשל ניהול של כל גוף המכירות (ניהול הלידים ותחזיות המרה - Conversion).
      • המון רמזים לד.נ.א. של Wix (שמונדיי התחילה כפרויקט בתוכה, ואז כ-daPulse).
    • דוגמאות - מספרי Sign-Ups ונתוני המרה (Conversion), כולל גרף תחזית עבור 35 ימים קדימה על סמך נתונים יומיים.
      • מדהים לראות מה זה עושה לחברה כשמידע כזה הופך זמין - ההשפעה של מה שעשיתי היום על חודש קדימה, וכמות השאלות החדשות שזה מעורר.
  • שינוי תרבותי - אנחנו רוצים שכולם יהיו (וירצו להיות) חשופים לנתונים האלה, וזה חלק מהד.נ.א. של החברה. הכל שקוף לכולם, כולל בורדים מאוד בכירים (בורד - Board - לוח עם משימות, לא Board of Directors של מונדיי…).
  • אורי - דמוקרטיזציה של דאטה ב-Airbnb, מצביעים של שיפור ביצועים משמעותי.
    • ב-Outbrain הגישה מעט שונה - כיוון שגוף Engineering לא בונה דברים סתם אלא במטרה לייצר אימפקט על המצב העסקי, זה כולל KPI ו-Dashboards עבורם. אם זה ימתין לצוות BI שיבנה את זה - זה לא יקרה בזמן סביר. מהנדסים צריכים לדעת SQL, אז פתחנו להם גישה למידע והם יכולים (ומצופה מהם) לבנות Dashboard בעצמם.
  • בסופו של דבר, BigBrain זה רעיון, ואוסף של כלים לדמוקרטיזציה של מידע שפתוחים לכולם, וכולם רואים את ההשפעה של מה שהם עושים. צוות BigBrain מאפשר את זה ואחראי למהימנות המידע. 
    • אורי - זה בעצם Data-driven efficiency team. על צוותים שאחראים ל-Single Source of Truth יש המון אחריות.
      • הקבלה ל-Outbrain - גופי ה-BI וה-BA הולכים ומשתלבים עם גופי ה-Operations לגוף אחד שמטרתו יעילות מבוססת נתונים (Data driven).
  • רן - מה לגבי מידע על תהליכי גיוס? המודל על פניו נראה מאוד דומה. עוד לא קורה ב-Monday אבל בהחלט כיוון אפשרי, לפחות על השלבים הראשונים של ה-Funnel.
    • אורי - ב-Outbrain נוסף מודול עבור מערכת ה-HR, עוד אין מספיק מידע; כן יודעים ש-71% ממקור של חבר-מביא-חבר; ב-Monday זה סביב ה-60%. מעניין לחשוב מה הם ה -30-40% אחרים (?Diversity)
  • אני רוצה להתחיל Data Democratization אצלי בחברה - מהם הצעדים הראשונים? רן מציע לדלג על שלב ה”גישה למפתחים ל-SQL”, ולנסות כלי כמו MetaBase - התקנה של 5 דקות וקוניגורציה של יומיים, והכל הופך נגיש לכולם, וזה ויראלי. מאפשר גם לבחון עד כמה שארגון בשל למהלך כזה. מוצר מאוד מומלץ.
    • בשלב הבא (כשהדרישה עוברת את מה ש MetaBase יכול לתת מבחינת עומסים ויכולות ניתוח), צריך Dashboard מרכזי שמאפשר ניתוח על כלל המידע בארגון. אנחנו עדיין בתהליך (המלצה על Looker).
    • אורי ממליץ על Redash - מאוד אינטואיטיבי, פותח את העיניים. “למה הקמפיין שלי לא עובד?” עכשיו יש נתונים ב-95% מהמקרים. מקרה דומה ב-Monday.
    • שווה למדוד retention פנימי (כמה מהפניות אפשר לפתור עצמאית וכמה אכן לא חוזרות).
    • כלים פנימיים משנים חברה - צריך להקדיש לזה משאבים, אחרת הכל הולך על כלים חיצוניים והכלי הפנימי נותר ללא שינוי במשך שנים.
    • עוד חברות בכיוון הזה? המון סטארטאפים, כולם רוצים. דוגמא גדולה אחרת היא Netflix.
  • למה פותחים את המידע? בחברות גדולות השאלה עולה יותר, והשאלה המקבילה צריכה להיות “למה לא?” האם הסיכון (רגולטורי או אחר) הוא אמיתי? זה חוזר למקום של האם אתה סומך על העובדים שלך? אתה סומך עליהם בדברים הרבה יותר גדולים, וכאן זה עוזר להם לעבוד. צריך להגדיר היטב מה צריך להיות סגור, וכל השאר צריך להיות פתוח.
    • אפשר להעביר נתונים תהליך של Anonymization ואז ניתן להשתמש יותר בקלות. מי אמר GDPR?
  • בנושא אחר - יוזמת Startup for Startup: יוזמה של Monday לתת טיפים על בעיות שאנחנו רואים שחוזרות מסביב, מזמינים חברות ונותנים פידבק.
    • השיחה בעברית, הבלוג באנגלית- שימושי גם לחברות לא ישראליות / עובדים לא דוברי עברית.
  • מילות סיכום - יש הרבה חשש משקיפות של מידע, ולפעמים מצאנו את עצמו צריכים להסביר למה לא. לדעתנו אי אפשר בלי זה. 

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

יום שני, 20 באוגוסט 2018

345 carburetor 25

פרק מספר 345 של הפודקאסט, קרבורטור מספר 25 עם נתי שלום, רן, ואורי
הפעם נדבר על מעבר לטכנולוגיות חדשות digital transformation ואיך עושים את זה נכון

  • 3:45 רן מציג את הבעיות עליהן ידברו בהמשך
  • 5:05 כשאומרים ענן מתכוונים לדברים שונים ויש המון אופציות
  • 5:35 מדברים על האבולוציה של מעברים טכנולוגים והאג׳יליות שהם מצריכים
  • 7:15 יש תעשיות שנמחקו כי לא הצליחו להתאים את עצמן לשינויים
  • 8:10 יש הרבה טכנולוגיות והשאלה הכי קשה היא איך לבחור ולהמליץ על גישה נכונה, יש מעט מאוד אנשים שיודעים להמליץ מה נכון לעשות
  • 10:25 ארגונים המסתכלים על הטרנספורמציה כמעבר מנק׳ אחת לנק׳ שניה יגיעו לתהום, קשה לחשוב על זה כרכבת ולתכנן את המעבר כ״כורי עכביש״
  • 11:15 האתגר הוא לבנות את ה״רכבת״ ולייצר תשתית ארגונית המאפשרת לאמץ טכנולוגיות חדשות
  • 12:55 אג׳ייל היא דוגמא מצויינת לצורת פתרון לבעיה מורכבת
  • 13:50 לא הכלנו את האג׳יליות לפרוייקטי טרנספורמציה, איך נוכל להביא את הטכנולוגיות החדשות ללא דיסרפשן, ובאינקרמנטים קטנים
  • 15:00 אורי נותן דוגמא למעבר שנעשה באאוטבריין בצורה אינקרמנטלית
  • 17:05 אמזון היא דוגמא מצוינת לאיך באינקרמנטים קטנים אימצו גישה פרגמטית ובנו סט של טכנולוגיות המאפשר לעשות את המעבר הזה
  • 19:00 נתי נותן דוגמא מפרויקט שעשו עם פרטנר
  • 23:21  השינוי בסדר הטרנספורמציה גרם לפרטנר להצליח בטרנספורמציה
  • 24:05 עוד דוגמא אג׳ילית מצוינת היא RDS שהתחיל ללא autoscaling כי הערך של השירות היה מספיק גבוהה כדי לצאת
  • 25:25 בהכללה ניתן להתייחס לתשתית כ feature ולא מטרה ויכול להיות שהיא לא מביאה מספיק ערך כדי להיות חלק מה mvp
  • 26:00 יש גישה שנקראת Lift&Shift שאומרת אל תשנה כלום ופשוט תעביר את האפליקציה לדאטה סנטר משותף וקיבלת ניהול אחיד לכל התשתיות
  • 26:25 גישה נוספת דורשת יותר שינויים והיא הוספת שכבת אוטומציה שתהווה הכנה ל devops 
  • 26:50 מעבר לזה מדברים על microservices ו serverless
  • 28:40 כעת ניתן להבין פר אפליקציה איפה היא נמצאת בציר האג׳יליות הנ״ל ולקבל החלטות נכונות על הטרנספורמציה
  • 30:15 הרחבה על שיטת Lift&Shift
  • 32:20 בשיטת ה mvp  ניתן להוציא תוצאות יותר מהר ולקבל פידבק מהלקוח
  • 32:50 נתי מתאר את הכלים הניתנים ע״י ספקי הענן המאפשרים טרנספורמציה אג׳ילית
  • 33:40 יש פתרונות אוטומציה לסביבה ההיברידית המאפשרים לעשות אינטגרציה, ןלאפשר לא להזיז אפליקציות אלא לתת להם לדבר אחת עם השניה וזו בעיה יותר ריאלית
  • 35:00 עם כלים כמו Kubernetes ניתן להגיע לפורטביליות בצורה יחסית פשוטה
  • 35:55 אוטומציה נועדה לחבר את הדברים ברמת תשתית וברמת workflow כלומר עבור שירות המורכב מסט של פתרונות
  • 36:45 מסכמים את הגישה שנתי הציג
  • 39:00 נתי מציג שירותי אוטומציה
  • 39:45 נתי מדבר על פלאגינים לKubernetes המאפשרים להרחיב את הפלטפורמה כדי שתוכל להתאים לפלטפורמות שאינן Kubernetes
הקובץ נמצא כאן, האזנה נעימה ותודה רבה לדניאל שלו על התמלול