יום ראשון, 23 בדצמבר 2018

357 Bumpers 54

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

רן - 
  • ציטוטים משעשעים על תכנות - Programming Quotes. הרבה אמרות שפר נחמדות בסגנון “Life is too short to run proprietary software”. 
    • הייתה הרצאה של ארז לוטן בנושא בכנס רברסים האחרון - יש וידאו.
  • סדר בעננים - CNCF Landscape - עמוד שממפה את טכנולוגיות הענן (Cloud Native) השונות בצורה ויזואלית יפה ומאורגנת, ומאפשר לראות עד כמה הנושא עשיר בתת-טכנולוגיות וחברות שונות
    • אפשר להציג טבלאית וגם גרפית בחלוקות שונות, לפי פופולאריות וכו’. אם אתם רוצים להכיר את הקטיגוריות השונות זה עושה המון סדר.
  • יוזמה חדשה - CNAB - Cloud Native Application Bundle : ניסיון לייצר פורמט אחיד לכל השירותים שהם Cloud Native, כי כרגיל כל אחד מתכוון למשהו קצת אחר כשהוא אומר Cloud Native.
      • לא משנה על איזו תשתית רצים ( . . .AWS, GDC, k8s), זהו פורמט אחד שמתאר את ה-Serverless שלכם, במטרה לייצר כלים  שיוכלו להרים את השירות לפי הדרישות הספציפיות.
      • זוכרים שתהינו מה עושים החבר’ה של Deis, שנקנתה ע”י מיקרוסופט? אז הלוגו של Deis Labs בתחתית העמוד כנראה מרמז למשהו (לא רק הם - גם Bitnami שם, ו-Docker ועוד)
      • כרגע מאוד Azure-oriented, יכול לתפוס יותר אם עוד ספקיות ענן יכנסו לזה.
  • בנושא דומה - Kubedex - למי שמתעניין ב-Kubernetes, זה אתר שמלא בכל טוב: בלוגים מעניינים וגם חלק של השוואות - 
    • מתלבטים באיזו Container להשתמש? או באיזה Plug-in? יש כאן הרבה השוואות מאירות עיניים, שנראה שמאחוריהן הרבה ניסיון בשטח.
    • בונוס - הרבה הומור וציניות. לא PC, אבל מאוד נחמד.
  • בנושא אחר - אם אי פעם רציתם לשלוח חללית (כמוהם) או לוויין ולנטר אותם מהקרקע, אל דאגה! לנאס”א יש פתרון Open source במיוחד בשבילכם - OpenMCT - Open Mission Control Network
    • מאפשר לכם ליצור את תחנת השליטה מהקרקע עבור האובייקט ששלחתם לחלל, כך שתוכלו לשלוט בצי החלליות שלכם.
    • כמו בכל מרוץ חימוש טוב, גם Amazon הכריזו ב Re:Invent האחרון שיש להם Ground Station (משלוח למאדים בדרך?). לא בדיוק אותו הדבר (Open MCT הוא סוג של Web Interface), אבל אם אתם בעסקי תחנות החלל, שני הפרויקטים יעניינו אתכם (ואת המתחרים).
    • אנקדוטה נחמדה - לעמוד ה-Github של נאס”א עם ה-OpenMCT יש יותר מ7,200 כוכבים - מסתבר שיש הרבה גיקים שאוהבים תחנות חלל, או לפחות חושבים שזה מגניב שיש Open Source מנאס”א.
  • בחזרה לכדור הארץ, וספציפית - פרוטוקול gRPC - לא עובד כל כך טוב ב-Web, יותר טוב במקרים של Service to Service, אולי במובייל.
  • כלי (שנכתב בפייסבוק) בשם Getafix - בלוג די ארוך ונרחב (כן - רן קרא הכל. תנסו גם) שמתאר כלי פנימי של פייסבוק שמתקן באגים באופן אוטומטי.
    • איך? הרעיון הלא מאוד חדש של מציאת דפוסים - יש כאלה לבאגים פשוטים כמו פורמטים כדי ליצור קוד יותר אחיד (gofmt ודומיו משפות אחרות), אבל כאן מדובר על משהו אחר - ML שלומד לתקן באגים.
    •  דגמו הרבה מאוד Commits (טובים) מההיסטוריה של פייסבוק, והמכונה לומדת איך הבאגים תוקנו 
      • כשמזהים דפוס דומה יודעים איך לתקן אותו. לא עובד על הכל, אבל מגוון המקרים גדל.
      • התוצר הוא Merge Request שכרגע מישהו צריך לבחון ולאשר, אבל לטענתם כמעט הכל מתקבל.
      • אין מי שיחליף את המתכנתים? אולי מסתמנת תפנית בעלילה.
  • הקדמה לסדרת הכרזות מה- Re:invent האחרון - Amazon Corretto: תמיכה ארוכת-טווח ל-OpenJDK (מה ש-Oracle אמרו שהם לא מתכוונים לספק).
    • אמאזון (והרבה מהלקוחות שלה) משתמשים הרבה, ואלו חדשות טובות לכל משתמשי ה-Java לסוגיו.
  • תפנית חדה בעלילה - דיברנו על HTTP1 (ולא הזכרנו את HTTP2), ועכשיו כבר מדברים על HTTP3 (כבר יש ועדה שעובדת על זה)
    • אם זה נראה לכם מוכר, אז כן - זה מבוסס על QUIC, שהתחיל ב-Google. הגרסא ההיא כנראה ננטשה, אבל גרסא אחרת מהווה בסיס ל-HTTP3.
    • שני שינויים מעניינים - מבוסס על UDP ולא על TCP, ועם אופטימיזציה על SSL (מה שהיום עולה ב”מס” יחסית גבוה, ועכשיו יתוקן).
  • נושא שהוזכר לא מעט - GraphQL
    • נוצר בתוך פייסבוק ואז עבר לקוד פתוח ואומץ ע”י קהילה רחבה. פייסבוק החליטו שכנראה הגיע הזמן לשחרר את הטכנולוגיה למשהו יותר נייטראלי - GraphQL Foundation
    • עכשיו כבר חלק מה-Linux foundation, שכבר מזמן לא כולל רק Linux.
  • חזרה ל-Re:Invent (כי מה שקרה בווגאס ממש לא נשאר שם) - AWS Firecracker: טכנולוגיה שהיא בין Container למכונה וירטואלית (“A container with the security of a VM”). 
      • מתבסס על KVM אבל לא כל כך כבד כמו VM סטנדרטי
      • כבר בשימוש פנימי לאורך זמן באמאזון (Lamdba, Fargate - כנולוגיה מוכחת)
      • כתוב ב-Rust (סוף-סןף פרויקט מעניין, אמיתי וגדול)
      • חתימת הזכרון היא סביב ה-5Mb, ומריצים סדר גודל של כמה אלפים על מכונה
      • במידה ותופס, יכול להחליף Dockers ו-VM והמון דברים שהיום נראים כמובנים מאליהם
  • אין לי מילים . . I don't know what to say. כשזו הכותרת ב-Github, כדאי תתחילו לדאוג . . .
    • חבילה ב-Node.js בשם EventStream, שהתגלה בה קוד זדוני
      • זו חבילה מאוד פופלארית, וזה היה שם במשך סדר גודל של כשלושה חודשים. לא ברור מה בדיוק זה עושה, אבל לפי החתימה זה לא תמים ולא כשר (כרייה של ביטקוין או משהו בסגנון, או מניפולציה על כתובות של ארנקים. לא טוב).
      • במשך שלושה חודשים אף אחד לא שם לב, ונוצרה סערה שנפרשת בטוויטר ובבלוגים שונים (וגם כאן)
      • בגדול, סדרה של העברות אחריות, שבסופן גורם זדוני כלשהו. של מי האחריות? דיון מעניין
      • קוד פתוח מניח שהרבה עיינים מבטיחות רמת בטחון גבוהה יותר, מה שלא ממש קרה כאן
      • היה סיפור דומה ב-npm מלפני כמה זמן שהתגלה די בטעות (בגלל טעות בקוד).
      • קשה להגדיר מהו חוסר אחריות בסטנדרטים הנוכחיים של קוד פתוח, מעלה שאלות לגבי סטנדרטים עתידיים ומניעת מקרים כאלו בעתיד (חתימה דיגיטלית כלשהי? החולייה החלשה כרגע היא אמון, שבעייתי בסדרי גודל כאלה). מומלץ לקרוא.
  • עוד הכרזה מ-Re:Invent - מוצר בשם AWS Outposts - יכולת להרים Data Center on premise.
    • לא הפעם הראשונה שרואים כזה - יש כמה חברות שזה הולך לאתגר (מאוד) את המודל העסקי שלהן, כמו גם כמה מוצרי קוד פתוח.
    • כרגע מאוד בסיסי - EC2, S3 - אבל גם AWS התחיל ככה וגדל יפה.
  • תמיכה ב-WebSockets ע”י API Gateway - שכבה של Gateway שאמאזון מספקים, שיכולה לעורר פונקציות Lambda.
    • עכשיו אפשר לכתוב פונקציות “שמדברות” עם WebSockets, שדרוג מעניין למי שרץ Serverless, מאפשר Scaling משמעותי.

אלון -
  • עוד מ AWS re:invent - הרבה הכרזות מעניינות: יש Managed Kafka, הכרזה על Time-series Database, ועוד רשימה מרשימה בהחלט
  • טריק נחמד מהמנהלת של React - איך ליצור Console log עם הזחות (Indent) אוטומטיות לפי העומק של הפונקציה. שורה אחת של קוד שמשפרת את כל הלוגים.
  • נטפליקס הוציאו Web Performance Case Study - מאמר מאוד מעמיק על שיפור ביצועים בדפי הנחיתה (Landing Pages) - 
    • ב-Static הם ירדו מ-React ועברו ל Vanilla JS, טוענים לשיפור ביצועים של 50%
    • עוד כל מיני אופטימיזציות (הקטנת גודל חבילות וכו’), ניתוח מאוד מעניין של לפני ואחרי.
  • עוד React Hooks
    • קודם כל אחורה - Undo / Redo בלחיצת כפתור
    • יש אתר בשם useHooks שהמנטרה שלו היא One new React Hook recipe every day”. יש הרבה כאלו לאחרונה, זה נראה פשוט ונחמד.
      • שימו לב, עדיין אלפא - כל מי שרץ לכתוב, שיחשוב רגע.
  • בלוג-פוסט של CloudFlare שיצא על ה-Workers שלהם
    • קצת כמו AWS Lambda שרץ על ה-Edge.
    • כתוב  (ותומך רק) ב- V8, עם Cold start מאוד נמוך - מדברים על סדרי גודל של עשרות ms.
      • כרגע (לפי העדות האובייקטיבית שלהם על עצמם) זה הרבה יותר טוב מכל האחרים.
      • בהמשך לטענתם - זה העתיד: הכל יהיה in-memory, הכל גם עולה הרבה פחות
      • מדברים על 3Mb RAM למכונה, כשה- AWS Firecracker שהוזכר קודם מדבר על 5Mb, על פניו כבר לא הבדל כזה גדול (פורסם לפני ה-re:invent, כנראה לא מודעים לזה)
  • כלי חדש בשם dashbird - מוניטורינג לפונקציות Lambda - זמן ריצה, האם התחיל מ-Cold start וכו’
    • חינמי, לפחות בהתחלה
  • עוד כלי בשם Lambda Tuning - מאפשר הרצה של הפונקציה עם כל מיני הגדרות זיכרון (128, 256, …)
    • למה זה טוב? מסתבר שב-AWS Lambda, מקבלים מכונה יותר חזקה (CPU, Network, I/O) ככל שמגדילים את הזכרון, ואז יכול לקרות (תיאורטית ובפועל) שבהגדלת זכרון התשלום יוכפל (לדוגמא), אבל זמן הריצה יתקצר בפקטור יותר גדול והמחיר הסופי בפועל יקטן.
  • יצא VUE 3.0 - הרבה שינויים משמעותיים
  • עברית שפה קשה, אבל AWS Translate עכשיו תומך. אנחנו על המפה.
  • משהו מעניין ב-React - מישהו כתב שהביצועים ירדו לאחר שדרוג לגרסא 16.5.
    • עדיין לא פתור, לא נראה שאיתרו עדיין את ה-Root cause. אם נדמה לכם שיש ירידה בביצועים, זה כנראה לא אתם. הפעם.
      • כרגע נראה שעדיף לחזור אחורה, או לבדוק - יש מצב שתוקן ב-v8.
  • כלי שיוצר Progress Estimator - מעריך כמה זמן ה-Process צריך לרוץ לפי חישוב של המשימות הקודמות. npm חביב, בתקווה שלא מכיל קוד זדוני הפעם.
  • אתר של Google ל-SEO check
    • מנתח את האתר מבחינת SEO, עדיין בבטא.
  • חזרה ל-React - מאמר על Inside Fiber
  • קצת CSS לגיוון - CSS NES בסטייל של פעם, עם כפתורים גדולים והכל. למי שרוצה לעשות משחקי רטרו זה נראה פשוט יפה.
  • שרשור בטוויטר על מישהי שעברה מ-JS ל-Typescript ותיארה את כל מה שהיה צריך לעשות בשביל לעבור
    • שימושי עבור מי שרוצה לעבוד, יש גם הרבה תגובות מעניינות
  • ומשהו על Google AutoML - זה לא עובד! בערך…
    • אמ;לק - אלון ניסה על מאגר של מאות תמונות וזה לא עבד, גם עם מאות דוגמאות ולא רק ~10 כמו שאמור להספיק
    • כנראה שזה עובד עבור תמונות מסוג שכבר נדגם במערכת. אם הכל חדש, צריך מאגר יותר משמעותי כדי שזה יעבוד (טפסים של משרד ממשלתי ישראלי כנראה לא נדגמו הרבה קודם, למשל).

דותן -
  • טרמינל ב-GO מעל OpenGL - אמור להיות High Performance Terminal. פרויקט נחמד, אבל לא באמת יותר מהיר מ-Hyper2 למשל. 
    • מה שכן, אם אתם מחוברים למטען עם Hyper2, אז הוא משתמש ב-OpenGL ויהיה יותר מהיר. אם לא אז לא ויהיה יותר איטי . . . עניין של הגדרות ברירת מחדל מסתבר.
  • כלי בשם dive עבור docker image exploration - הכל נמצא ב-CL, ואפשר לטייל בין השכבות, לראות מה נוסף וכו’. מומלץ בחום. כתוב ב-GO.
  • פוסט של Rich Hickey על קוד פתוח - Open Source is Not About You
    • גם מצד החברה והמחוייבות לקוד פתוח וגם מצד הקהילה. שווה לקרוא.
  • פודקאסט בשם Data Skeptic (תודה לשלומי ברושי על ההמלצה!) - לא טכני כמו שאולי הייתם מצפים, קצת הסתברות וסטטיסטיקה, נחמד לשמוע.
  • פייסבוק הוציאה Framework בשם Pytext - איך שהם עושים Deep Learning בשביל למידה מעל טקסט (NLP).
    • נראה כמו Productivity suite מעל Pytorch, וכלים לייצוא של מודלים ל-Cafe2 (כנראה שזה מה שהם משתמשים בו ל-Production).
  • למי שעדיין לא נכס לעומק ה-Deep Learning ו-AI באופן כללי - מדריך בשם Practical AI, עם כמה דברים מיוחדים, מחולק לרמות ויחסית קליל. יש הרבה כאלה, זה נחמד.
  • אפליקציית קוד פתוח בשם devhub - נכתבה ב-React native ותומכת ב-Android, IOS ו-Web
    • הצהרה על 99% code re-use, לכל מי שמטיל ספק ברעיון אז זה כנראה לגמרי אפשרי, ואפשר לראות איך (הקוד, כאמור - פתוח).
  • מאמר די ישן (2016…), שמנסה להבחין בין Engineers לבין Data Scientists
    • איך זה היה אצל הכותב בחברה ואיך הוא קירב בין הקהילות, אסור להגיע למצב שיש מהנדסים שבונים ETL עבור Data Scientists . . .
    • די ארוך, שווה לקרוא - נכתב ב-2016, היום זה נראה לא פחות (ואולי יותר) רלוונטי ומועצם.
  • כמה לינקים בנושא Data Locality - 
  • סוג של ניסוי של גוגל בשם quicklink - הטמעה של JS באתר שלכם, שמזהה על מה אתם מסתכלים בדף ועושה מעיין prefetching למידע 
    • יכול להיות קצת בעייתי, יש מצב שמתערבב עם ad-tech וכו’.
    • תחת Google Chrome Labs, לא בהכרח משהו שאתם רוצים ב-Production
  • ועדת tc39 שקובעת לאן JS הולך - ונראה שהכיוון הוא ספרייה סטנדרטית
    • שפה מאוד פופלארית, כיום ללא ספרייה סטנדרטית, כרגע הצעה די ראשונית
    • מסביר קצת את עושר ה-Ecosystem שבא לפצות על היעדר הסטנדרט
  • עוד מגוגל - Lighthouse: תשתית ה-Auditing בכלי הפיתוח של Chrome
    • יכולת להפיק דוחות ולכוון אותם, מאפשר להשתמש בלי Chrome בכל אתר שרוצים
  • אייטם דומה - סקריפט שגונב Cookies . . . מסתבר שבעולם של Headless Chrome לא צריך לעשות הרבה בשביל זה.
  • מאחורי הקלעים - “הצטרפתי לאמאזון (תל אביב) ועזבתי אחרי 5 חודשים. הנה למה”.
  • מכירים את ProcDump (שנות ה-2000 המוקדמות)? אז הנה ProcDump ללינוקס.
    • כלי של מיקרוסופט מעל Windows, ו-18~ שנה לאחר מכן עכשיו יוצא (ממיקרוסופט) ללינוקס. 
    • סגירת מעגל יפה. בטח כתוב ב-C.
  • וקצת ל-Rust - 

  • מצחיקים לסיום - 
    • הדבר הבא - BaaS - Boss-as-a-Services: יש לך משימה? מעולה! שלח לנו ואנחנו נציק לך עם שאלות על מה קורה עם זה? למה אתה לא עומד בזמנים? שלח דו”ח! וכו’.
      • לא, לשלוח את זה לאישתך לא יהיה רעיון טוב.
    • שאלת Java קיומית ב-Stack Overflow - למה 2 * (i * i) מהיר יותר מ - 2 * i * i ?
      • אמ;לק - נכנסו לאסמבלי וגילו שבאמת יש הבדל . . .
    • דיון ב-Quora עם תיאוריה לגבי מפתחים יפנים
      • השפעות תרבותיות של דור שגדל על נינטנדו ורוצה רק לפתח משחקים, נכנס לעבודה לכל החיים, חברות עם מערכת היררכית מאוד חזקה ואתיקת עבודה מטורפת, ומה כל זה אומר
      • לא בטוח שלגמרי מצחיק וכנראה שמלא הכללות וסטריאוטיפים, אבל מעניין

  • טיזר! הפרק הבא של Bumpers עומד להיות מיוחד, לרגל פרק היובל
    • כן, הנוכחי הוא Bumpers מספר 54. אז מה?


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

אין תגובות:

פרסום תגובה