Artwork

תוכן מסופק על ידי רברס עם פלטפורמה. כל תוכן הפודקאסטים כולל פרקים, גרפיקה ותיאורי פודקאסטים מועלים ומסופקים ישירות על ידי רברס עם פלטפורמה או שותף פלטפורמת הפודקאסט שלו. אם אתה מאמין שמישהו משתמש ביצירה שלך המוגנת בזכויות יוצרים ללא רשותך, אתה יכול לעקוב אחר התהליך המתואר כאן https://he.player.fm/legal.
Player FM - אפליקציית פודקאסט
התחל במצב לא מקוון עם האפליקציה Player FM !

380 Bumpers 62

 
שתפו
 

Manage episode 245737683 series 2497397
תוכן מסופק על ידי רברס עם פלטפורמה. כל תוכן הפודקאסטים כולל פרקים, גרפיקה ותיאורי פודקאסטים מועלים ומסופקים ישירות על ידי רברס עם פלטפורמה או שותף פלטפורמת הפודקאסט שלו. אם אתה מאמין שמישהו משתמש ביצירה שלך המוגנת בזכויות יוצרים ללא רשותך, אתה יכול לעקוב אחר התהליך המתואר כאן https://he.player.fm/legal.
פרק מספר 62 של באמפרס (380! למניין רברס עם פלטפורמה) - רן, אלון, ודותן בבוקר (חורפי ולא חם סוף-סוף) של סוף אוקטובר עם סקירה של טכנולוגיות ודברים מעניינים מהזמן האחרון.

רן -
  • סטנדרט חדש הולך ומתהווה - GQL
    • סטנדרט שאילתות ל- Databases ראשון מאז SQL שנקבע אי שם בשנות ה- 70-80 . . .
    • המטרה היא להסדיר את נושא השאילתות ב Graph Databases (דוגמת Neo4j שמניעים אותו, אבל יש גם אחרים) - וזה כרגע בתהליך של קבלה לועדת הסטנדטים ANSI
    • יש כל מיני הצעות ועדיין לא הוחלט באופן סופי - בעולם ה - Databases יש לא מעט שפות שבהן ניתן לתשאל Graph databases, ובסופו של דבר המטרה היא להתקבע על אחת, שתיהיה סטנדרטית בדומה ל-SQL.
    • אזהרה (!) - חשוב לשים לב ולא להתבלבל בין GQL לבין GraphQL . . . . אלו שני דברים שונים:
      • מצד אחד -GraphQL זו שפת שאילתות או בעצם קצת יותר כמו פרוטוקול בסגנון REST - משתמשים מעל HTTP אבל זו לא השפה שבא “מדברים” עם ה - Database.
      • לעומת זאת - GQL, קצת כמו SQL, הוא הסטנדרט (המיועד) - סטנדרט טקסטואלי שבו ניתן לכתוב שאילתות טקסט ל Graph Databases.
    • הרבה מאוד זמן לא ראינו תנועה באיזור הזה, ומעניין שעכשיו יש.
  • מי מבין מאזינינו שהוא במקרה גם בעלים של טסלה (אפי?!) ודאי מאוד התרגש לשמוע שהגרסא החדשה של התוכנה - 10.0 - יצאה.
    • גם למי שאין לו במקרה (רן, למשל - מסתבר שזה פחות הולך בישראל בינתיים) - מעניין לראות שהגרסא נראית פחות או יותר כמו עדכון של IOS או Android: אם מסתכלים על רשימת הפיצ’רים, קשה לנחש שמדובר ברכב . . .
    • הרבה דברים שקשורים לפנאי ולבידור - חיבורים ל - YouTube ול - Spotify, קריוקי וכאלה
    • כמעט שלא תראו פיצ’רים שקשורים למנוע או לחלקים אחרים של, ובכן - רכב…
    • הרכב נראה כפלטפורמת בידור, לפחות לפי הגרסא הזו. מעניין - הופך למערכת הפעלה לפנאי ופחות מערכת הפעלה לרכב.
    • אלון - מישהו אמר (Twitter …) שלא האמין שיגיע לתקופה שבה עדכון של רכב יותר מרגש מעדכון של טלפון . . . מגניב.
    • מתי העדכון הבא של אאודי? אה.
  • ספריה בשם chart.xkcd - מעיין גרפים ב - JavaScript או HTML וכו’ שרצים בתוך הדפדפן - בסגנון xkcd:
    • סדרת קריקטורות גיקיות פופולארית, בעיקר סביב מחשבים וטכנולוגיה, בעיצוב שדומה לעיפרון או עט גס, בשחור לבן “פשטני”.
    • הספריה הזו מייצרת גרפים ותרשמים בסגנון - “כאילו שורטטו בעיפרון או טוש על נייר”.
    • יש גם צבעים - לא רק שחור-לבן כמו ב”מקורי”.
    • אחד המגניבים . . . יש טרנד כזה של מצגות שנראות כאילו עכשיו שרבטו אותן? אז כזה - נראה טוב וקריא מאוד.
  • הפינה האמנותית - Repo ב - GitHub בשם The art of command line
    • מעניין סקירה של כלים (Unix, Linux) מאוד שימושיים , החל מאיך משתמשים ב - Bash - Shell עצמו) והלאה.
    • למשל - מה קורה שעושים Alt+B ואז Alt+F ? - מסתבר שזה מביא אתכם לתחילת השורה - במקום ללכת “אחורה בהיסטוריה” בשיטת “חץ למעלה-למעלה-למעלה” ואז לנסות להגיע למשהו באמצע, Alt+B ואז Alt+F מאפשר לעבור מילה אחרי מילה.
    • אפשר גם להשתמש ב VI Mode” בתוך ה - CLI עצמו - לעבור ולהשתמש בקיצורי הדרך של VI.
    • אפשר גם לערוך את ה - Command Line שלכם בתוך Editor ועוד כל מיני פטנטים שאולי לא הכרתם.
    • למי ש”חי בתוך ה - Command Line” (גרסא מאוד מוזרה של Jumanji?) - מומלץ.
      • לא מאוד ארוך, חלק סביר שאתם מכירים - רן לא הכיר הכל. שווה לנסות.
  • בלוג-פוסט מעניין ומעורר השראה - Logs were our lifeblood. Now they're our liability
    • יש הרבה מאוד סוגים של לוגים - החל מלוגים “אופרטיביים” (Operational) בסגנון “נגמר לי המקום בדיסק” או exception כזה או אחר ועד לוגים “אפליקטיביים” (Application) - שהבלוג מגדיר כ - Events ואליהם הוא מתייחס.
      • דברים כמו Analytics למיניהם ש Google ו - Facebook אוהבים (לכאורה) לאסוף (לכאורה!) על פעולות של משתמשים.
    • אומרים ש”דאטה זה הזהב החדש” וזה כנראה נכון בהרבה מובנים - ככל שתאספו יותר מידע על המשתמשים שלכם כך תוכלו לההפיק יותר תובנות, אבל . . .
    • עם הגידול ברגולציות השונות, מתברר שזה לא כל כך פשוט לתחזק את כל הלוגים האלה - אם זו רגולציה באירופה וארה”ב וסין ועוד - מגלים שמצד אחד הדאטה שווה זהב, ומצד שני - “יכולים לתבוע לכם את התחת” אם לא תשמרו על הזהב הזה כמו שצריך ולא תדעו למחוק אותו ולעשות לו סגרגציה (Segregation) כמו שצריך, אז אם חס וחלילה מתרחשת דליפת מידע . . .
    • הבלוג טוען שאם פעם היינו רק רוצים לאסוף כמה שיותר מידע, היום - ובטח שבעתיד - צריך לעשות את זה במשנה זהירות.
    • הצפי הוא לפיתוח טכניקות שבהן נוכל אולי לשמור את ה -Essence של המידע - מבלי לשמור את ה - Data עצמו.
    • ציטוט ממישהו שנראה שמגיע מ - Facebook, שאומר ש”את הקהל שלנו אני יכול לייצג באמצעות חמישה משתמשים בלבד” - 5 Archetypes של משתמשים שמהם אפשר ללמוד את כל מה שצריך, ולא צריך את כל המיליארד או 2 מיליארד או כמה שזה לא יהיה.
    • למעשה, זה מצביע על טרנד ב - Data Science שיודע לקחת הרבה מאוד Data, להוציא ממנו רק את הייצוגים המעניינים - “ולזרוק” את כל השאר.
      • ה-MP3 של כל שאר הדאטה?
    • (אלון) מעניין מאוד לחברות בתחילת הדרך - חברות ענק כבר מאוד מתעניינות ב - Long Tail, ואם תבוא ותגיד להם “הנה רק 5 ייצוגים” הם לא יגיבו יפה.
    • יכול להיות - אבל מצד שני הרגולציות הולכות וגדלות, ולא נראה שזה הולך להיעלם - באיזשהו מקום הם יהיו חייבים. לחברות בתחילת הדרך זה אולי יהיה “יותר קל” (לוותר), אבל דווקא לחברות הגדולות יש את ה Liability היותר גדול ואולי לא תיהיה להן ברירה.
      • את מי כבר תבעו - ?Google? Facebook - שתיהן?
    • אם מסתכלים על GDPR - ההגבלה היא על מה שהוא Tractable למשתמש ספציפי - אם שומרים בצורה אנונימית אז אין עם זה שום בעיה.
      • ברגע שלוקחים רק Samples אז מראש יוצאים מבעיות רגולציה - אבל העניין הוא שחברות כאלו כן רוצות את כל ה - Data ...
      • זה נחמד לדברים מסויימים, אבל לא למשל עבור פרסונליזציה…
    • הבלוג בא להצביע על בעיה - ולא טוען שיש לו פתרון להכל. הפתרונות שכן מוצעים הם אגרגציה ואנונימיזציה (Aggregation, Anonymization), שזה מה שעושים למשל ב - Google.
    • הבעיה קיימת, ואי אפשר להתעלם ממנה - אם פעם (ועדיין) לוגים היו הזהב החדש, היום אנחנו מבינים שלזהב הזה יש מחיר ויש ריבית, וזה בטח לא בא בחינם.
    • צריך לחשוב על איך לא להחזיק מידע מיותר - לא משיקולי Storage אלא משיקולי Liability - ואיפה שאפשר לעשות אגרגציה ואנונימיזציה או דברים אחרים.
    • זה בהחלט מציג אתגרים - גם ליישום יעיל ונכון וגם מבחינת פגיעה בפיצ’רים עתידיים - אם בעוד שנה תרצה לעשות פרסונליזציה - תיהיה לך בעיה.
    • האמירה שלוגים הולכים והופכים ל Liability נראית נכונה, ונראה שתיהיה אפילו יותר נכונה עם הזמן.
    • עד כאן סוגיות חוקיות להיום? ספויילר - כנראה שלא . . .
  • תראו מי חוזר - !The Stack Overflow Podcast is Back
    • למי שזוכר (רומז שאנחנו זקנים?), הפודקאסט היה קיים משך שנים רבות ולאחרונה נכנס לקצת תרדמת
      • הפודקאסט עצמו יותר ותיק מרברסים (!), בן למעלה מ-12 שנים
      • רן עוד זוכר את עצמו מאזין ל Joel Spolsky וחושב שאולי כדאי שיהיה גם אחד כזה בעברית... יצא בסדר בסך הכל slightly smiling face
      • רץ הרבה שנים, בשלב מסויים כבר בלי Joel Spolsky, ואז בשלב מסויים קצת נעלם - ועכשיו שחררו מחדש פרק ראשון, מומלץ לחובבי הז’אנר.
    • אז איך הפודקאסט (אם כבר מפרסמים מתחרים . . .)? לפי רן לא משהו (מדבר מפוזיציה?), אבל יש תקווה כי יש שם חומר טוב -
      • שלושה אנשים שמדברים על שאלות מעניינות ופופלאריות ב - Stack Overflow ועל Compilers באופן כללי.
      • לדוגמא - שאלה (פילוסופית) על “האם כשאתה מצליח לגרום ל Compiler לעשות משהו לא חוקי - האם אתה Liable? שואל בשביל חבר . . .
        • והנה חזרנו לשאלות החוקיות
      • האם במקרה שהצלחת לנצל חולשה ב compiler וככה להשתלט על משהו שלא היית אמור - האם האחריות היא עליך או על יוצר ה Compiler, או משהו בסגנון
    • (דותן) הייתה גם דרמה גדולה ב - Stack Overflow השבוע - הם שינו את ה Term of service, ועכשיו אי אפשר לפנות למשתמשים כ “He” או “She”, וזה עורר דרמה -
    • רן לא זוכר אם זה עלה בפודקאסט, אבל יש מצב שכן. תקשיבו.
  • הרבה זמן לא דיברנו על Rust vs. Go, הא? אז הנה חדשות חמות בנושא - נקודה נוספת (או כמה בעצם) לטובת Rust: הודעה של AWS על מתן חסות ל Rust Project
    • מבחינה היסטורית, Rust התחיל את פיתוחו בתוך Mozilla, ולמעשה עד היום נמצא תחת הכתפיים שלה -אעפ”י שהמפתח הראשי כבר עזב - Apple) והיה נראה שהקהילה קצת איבדה את ההנהגה שלה.
    • עכשיו AWS הודיעו על מתן Sponsorship (לא נראה שבלעדי) - יחד עם Google, Microsoft ו - Mozilla
    • כך שעכשיו יש כמה אבות לפרויקט, מרשים ביותר - לא עוד נקודה ל-Rust אלא 4 גדולות. . . בשורה מטורפת.
    • מי שכותב ב - Rust יכול להמשיך.

אלון -
  • קודם כל - מה יש לדותן להגיד על Rust? תמיד היה חשש שאין לזה אבא
  • ולעניין - פוסט על Postgres - ומה שאפשר לעשות איתו לפני שרצים לפתרונות אחרים
    • דברי שידעתם, או שלא - Caches ו - Text Search ופונקציות, Key-Value Data store, עוד כל מיני Data types ואינדקסים כמו Bloom filter ועוד הרבה דברים נחמדים.
    • למי שמכיר Postgres לעומק זה כנראה לא יחדש הרבה, אבל למי מחפש Database חדש רק כי “זה רק SQL ואני צריך יותר” - שווה להציץ בזה.
    • תמיד עולה השאלה (ע”י רן) של “האם נכון “להעמיס” על ה - Database את כל היכולות האלה?” - זה שהוא יכול לא בהכרח אומר שהוא צריך . . .
      • דוגמא קלאסית - מנגנון ה Stored procedures (“שאילתות שמורות”) - אפשר לכתוב כאלו כמעט בכל Database רלציוני, השאלה היא האם כדאי.
      • בתעשייה נראה שכבר הבנו שבגדול - לא.
      • למעט מקרים מסויימים, עדיף להשאיר את ה - Business Logic בתוך התוכנית שלך ולא בתוך ה - Database, מכל מיני סיבות, למשל - יכולות פיזור עומסים, Testability, מודולריות ועוד.
      • האם אנחנו לא רואים את כל זה All over again? ל - Postgres יש כל מיני תוספים, כמו יכולת להחזיר GraphQL ולהיות ממשי REST-י ועוד כל מיני דברים, השאלה האם אתה באמת רוצה שהוא יעשה את כל זה?
      • בעיני רן זוהי דילמה פתוחה - מצד אחד מאוד מפתה, מצד שני - קצת מאבדים את המודולריות, ואולי עושים כאן איזשהו “חטא”.
    • אני (אלון) לא אומר שאפשר להשוות את זה ל Redis למשל עבור Key-value store, כי זה לא ה - Core business בסופו של דבר.
      • אבל - הרבה פעמים, במקום להרים עוד מערכת - עדיף “לרכב” על ה - database הקיים כי אתה לא רוצה ריבוי מערכות.
      • בסוף זה תמיד שיקול בארכיטקטורה - האם לקחת את הדבר האופטימלי בכל מקום ובסוף למצוא את עצמך עם עשרה Databases, או לאחד.
      • קצת כמו הדילמה בין מונוליט ל - Micro-services . . . וכנראה שאין תשובה אחת נכונה.
      • לפעמים מונוליט זו התשובה הנכונה, בטח כשאתה מתחיל.
      • חוץ מזה - אפשר להחזיק ארבעה Databases, וגם המקצועיות של האנשים בסוף שונה - וחוץ מזה ל Postgres יש Plug-ins מטורפים שאין להם כל כך מתחרים
      • אנחנו (אלון) משתמשים ב - PostGIS, שקשה למצוא לו מתחרה ברמה הזו למידע גיאוגרפי, וזה מצדיק את עצמו בלי קשר ל Postgres או לא.
      • לפעמים אנשים מרימים MongoDB רק כי יותר קל לשמור משהו כ - Document, ותמיד שווה לשאול את השאלה, במיוחד עבור חברות קטנות - האם אתם באמת רוצים ריבוי מערכות או לא?
    • אצלי (רן) באו כבר כמה אנשים ושאלו “מתי בכלל תרצה להשתמש ב Database רלציוני?
      • התשובה היא תמיד . . .
      • לא תמיד אני יכול, אבל זו ברירת המחדל
      • אם אני מתחיל פרויקט חדש, אלך עם Postgres או MySQL, אלא אם כן יש לי סיבה ממש טובה להתחיל בכיוון אחר.
      • ברירת המחדל, אם אין נתונים נוספים, היא Database רלציוני - הם גמישים, יודעים לעשות הרבה מאוד known-practices ידועים מהעולם, כמעט לכל בעיה ניתן למצוא פתרון בחיפוש קצר ב - Google, יש Ecosystem מאוד בריא - ברוב המקרים אתחיל מהם, ואם אחר כך אראה שיש סיבה מוצדקת לעבור, עם המחיר שהוא כנראה לא פשוט ב Community knowledge, אולי אעשה את זה.
    • (אלון) “כולם יודעים SQL”, תמיד יש את המשפט הזה (כולם דוברים את השפה הבינלאומית הידועה Bad-English) - קל לתשאל את ה -database, לעומת NoSQL שבו אתה דוחף את הדאטה וצריך לתחזק אותו הרבה שנים… גם ממליץ להתחיל ב-SQL, ואם תתקלו בחומה אז תעברו, ולא הפוך, ככלל אצבע (שתמיד יש לו חריגים).
  • בהמשך ל Postgres - אז יצא PostgreSQL 12!
    • לא הספקתי לראות שינויים משמעותיים מעבר ל Performance, שזה תמיד מעניין
    • כנראה שיש עוד שינויים, שווה להסתכל
  • פרוייקט Open source חדש של Microsoft בשם dapr
    • דפ”ר?
    • המון Buzz תקשורתי, נראה שהם מייעדים אותו לגדולות
    • בגדול - מדובר ב framework שיכול לעזור לבנות microServices על K8s
    • הוציאו בלוג-פוסט, הלכו ל TechCrunch, השקיעו . . . או שזה Here to stay או עוד פלופ
    • חשוב לציין - הם טוענים שזה עדיין לא Production ready, עדיין בחיתולים
      • למי שלא הבין - אל תשתמשו ב - Production
    • נשמע מעניין, אולי בשלב הבא ירצו לדחוף את זה ל - Azure כתחרות ל Built-in-K8s של Google.
  • מחפשים IDE ל - React? - אז The first dedicated IDE for React web application development
    • לא יודע אם טוב, עדיין לא ניסיתי - אבל אשמח אם מישהו יגיד לי אם זה שווה משהו
    • שלחו גלויה
  • ועוד אחד - נתקלתם כבר ב TwilloQuest? אחד המגניבים . . .
    • אז נראה ש Twillo (החבר’ה עם ה API ל-SMS וכאלה), הוציאו משחק Quest.
      • צריך Download והכל
    • המשחק מלמד תכנות ואיך לעבוד מול ה-API שלהם - מקבלים משימות ב - Quest, קצת כמו Ultima של פעם
    • ממש מגניב, אלון צריך למצוא קצת זמן ולשחק בזה, מוזמנים גם.
    • וכן - צריך ממש “להוריד משחק”, זה לא Web-י (רציתם 90s אז עד הסוף)
      • אולי גם בגלל כל ה-Tokens של ה-SMS, ליצור Isolation בתוך המשחק
    • באופן כללי רעיון מדהים, וגם רעיון מעניין של לתת API בלי לחשוף אותו (רעיון בתוך רעיון?)

דותן -
  • אז TypeScript 3.7 יוצא ל Beta, עוד שבוע-שבועיים יהיה Final (“נובמבר 2019”)
    • ה - Release הזה כבר כולל Null Coalescing, שזו היכולת להשתמש ב - Operator על מנת להמיר NULL לאיזשהו ערך רצוי (דיברנו על זה בבאמפרס 60), וגם Optional Chains (היכולת לשרשר עם “?” ואז לעשות Deep dive לתוך אובייקטים).
  • עוד בחזית השפות - Python 3.8 גם יוצא
    • עם האופרטור Walrus ( “:=”, כמו של Go, לא כזה)
    • זהו האופרטור בשבגללו Guido עזב את Python, ואז חזר
    • בכל מקרה - החדשות הן ש Python 3.8 יצא, ודי בשקט
    • יש גם Parallel bytecode cache - שזה אומר שכבר לא נצטרך לחיות עם ה - folders המגעילים האלה של PyCache בתוך ה - codebase שלנו (זה יכול לחיות גם במקום אחר)
    • ויש גם f-strings - מקביל ל-Interpolations שיש בשפות אחרות כמו TypeScript ו-JavaScript
      • רגע - f-strings יש גם ב-3.7 - מה השתנה?
      • הוסיפו לו יכולות? - לוקח משתנים מתוך ה-scope הגלובאלי
      • אלון משתמש ב-3.74, וזה עובד שם . . . אולי הוסיפו Feature, למשל האפשרות להשתמש ב”=” ולהכניס משתנים ל f-string באופן אוטומטי.
    • בכל אופן - בתוך ההכרזה הזו יש גם Infrastructure די כבד, שאני (דותן) מניח שבעקבותיו יבואו כל מיני כלי Profiling ואינסטרומנטציה - כדי להתגבש למה ש Python עושה מאחורי הקלעים - יפה, זה משהו שחסר.
  • ובאותו קו - Instagram, שידועים בכך שהם אוהבים לקסטם (Customize) את ה - Python שלהם, ועושים “Python at Scale”, הוציאו מאמר שמתאר סוג של Anti-Pattern שבו Python modules או “סתם” קבצים ב-Python יכולים להריץ קוד ברגע שעושים להם Import - והדבר הזה “הורג אותם”.
    • הם חיפשו דרך להימנע מזה, והחליטו לסמן Module כ - Strict, ולייצר יכולת לקרוא את הקוד, להבין שה - Module הוא Strict, ואז אם הוא מכיל קוד כזה (עם Initialization “כבד”) - למנוע את ה - Import שלו.
    • המאמר מתאר את הבעיה - ואת הפתרון - ומספר שהם עדיין מריצים את הדבר הזה, וברגע שזה יהיה “Final” הם ישחררו יותר מידע (דותן מניח שהם יוציאו את זה כ - Open Source או משהו כזה).
    • (רן) אגב - בעיה דומה קיימת ב - Go: גם ב - Go אפשר לעשות “initialization סטטי”, וזה יכול לדפוק אותך, אם אתה עושה שם דברים מוזרים אז זה רע . . .
      • במיוחד בספריות.
    • בדיוק - איך שאני (דותן) קראתי את זה בין השורות, אז קוד איטי ו - Bad Practice הם, ובכן - קוד איטי ו - Bad Practice . . . לא יודע כמה אפשר להתחמק מזה.
      • ב - Go יש תמיכה ברמת ה - Syntax, שזה נהדר - אבל אתה תמיד יכול לירות לעצמך ברגל, אז לקחתי את המאמר הזה עם כוכבית (*) קטנה.
    • בכל אופן - מעניין לראות מה הם מגדירים כ - Python at Scale, ואני בהחלט מזדהה עם כל מיני בעיות ב-Python שנובעות מכל שזו שפה מאוד Generalized, ומכילה המון Roles (עבור Data Scientists ו - Software engineers ו - DevOps וכל דבר…) - פונה לקהל הרחב, ואני לא יודע אם הם אי פעם לקחו עמדה בעולמות האלה.
  • עוד אחד - Repo ב - GitHub בשם email-marketing-regulations
    • מעיין Repository יותר טקסטואלי שמתאר כל מיני ארצות ואת הרגולציה שלהן לגבי email.
      • למשל - באוסטרליה opt-out זה required, ובברזיל לא; בארה”ב שוב כן - וכן הלאה.
    • יש גם תיאור של הקנסות והעונשים הצפויים אם אתה מפר את הרגולציה
    • בגדול - מדהים: בדר”כ כשמייצרים כאלה טפסים מנסים לחשוב מה קורה למשל בארה”ב, אבל קשה לדעת מי באמת המשתמשים עד שלא מפיצים את המוצר.
    • בדר”כ בסוף מדובר בעו”ד שאומר מה מותר ואיך, וגם העו”ד לפעמים לא כל כך יודע בארצות שבהן הוא לא מתמחה (“אני לא עובד עם הארצות האלה, לך תמצא מישהו שכן”).
    • אם אתה ברשות עצמך, ואין לך כל כך איך לממן את כל העו”ד האלה - זו אחלה רשימה להתחיל ממנה.
    • (אלון) האם אפשר לסמוך על הרשימה הזו? מי כתב אותה?
    • בסוף זה משחק של סיכונים, קצת כמו במקרה של הלוגים עליו דיברנו קודם (והבטחנו לא ליפול לדיון משפטי…) - בבית משפט כנראה שתצטרך להוכיח שהשקעת מספיק Reasonable effort כדי להוציא פרטים שאסור שיהיו ב Logs (נניח אם היה Crash dump שהוציא Stack trace עם ססמאות ודברים מגעילים אחרים (מי אמר Facebook?!) . . . אם היה באג, ויש service אחד שלא כולל מידול שמונע זליגה, אני (דותן) מניח שלא ישלחו אותך לכלא על באג כזה, כי הוכחת שהשקעת Reasonable effort.
    • שוב - מניח שזה משחק של סיכונים - לא עשית הכל עד הסוף אבל השקעת את המאמץ ומיממשת דברים שמייצגים את הרגולציה. ענייני Google ו - Facebook זה כבר מעבר להבנה שלי (דותן).
    • ושוב יצא פרק ליגאלי . . . אם אתה בנאדם אחד שמפתח מוצר, נראה לי שזו נקודת התחלה טובה.
  • עוד אייטם - onefetch
    • כתוב ב - Rust, קצת במו CLI App כזה מגניב - שנותן סיכום של ה- Repository ומה הוא מכיל
    • למשל - אם הולכים ל - GitHub ופותחים את השורה למעלה עם השפה וה-Committers והסטטיסטיקה - אז כאן תקבל את הכל ב -Command line.
    • פשוט מריץ התוך Repo, וזה אומר לך את שם הפרויקט ובאיזה Branch אתה - ואילו שפות יש בפרויקט ומה התמהיל שלהן (15% ++C וכו’), מי ה-Committers המובילים ועוד.
  • קצת Kubernetes - אני (דותן) לפחות חושב שסביב Kubernetes ו - Security יש “הרבה בשר” לדבר עליו בעתיד
  • בלוג-פוסט שמדבר על Errors in Go 1.13
    • זו גרסא חדשה - ועכשיו Errors יכולים להכיל Context: “מאיזה Error ה- Error הזה בא” (בעיה בגישה לדיסק שנובעת מ-Error עמוק יותר בקוד, וכו’)
    • אפשר לשרשר Errors, וגם לבדוק היררכית מאיזה סוג ה - Error - והכל נתמך ע”י יכולות חדשות בתוך ה-API של Go.
    • מומלץ לקרוא - בסך הכל יישור קו עם שפות אחרות, ו”דרך מתורבתת” להתייחס ל-Errors כיום.
  • ולעולם ה - React native - פרויקט חדש יחסית בשם React Navigation meets native
    • מחדש ומוסיף יכולת Native ל - Navigation
    • הרבה זמן Native Navigation היה דבר יחסית “מקולל” ב - React Native, כי זה קצת מבטל את העולם של React - וכאן הצליחו לייצר תמהיל שלדעתי (דותן) הוא נכון, של “כמה שיותר ב-React אבל חלק הוא native בשביל ה-Performance”.
    • זה - בניגוד למשל לספרייה המפורסמת של Wix, שעושה הרבה Native וקצת JavaScript - כאן התמהיל קצת הפוך. מומלץ לבדוק.
  • בחזרה ל - Rust - והפעם: Astropad red heart Rust
    • חברה בשם Astropad studio, מי שיש לו iPad ואוהב לצייר אולי מכיר - זה מאוד דומה ל Procreate
    • “יצאו למסע לחיפוש שפה לכתיבת ה - Core שלהם” . . . האפליקציה היא מעיין Photoshop ,אז צריך לדעת לעבוד עם גרפיקה ו-Performance והכל
      • ה-Core צריך לרוץ על IOS
    • ועכשיו מכריזים ש - Rust זו השפה שנבחרה
    • ואיך זה עובד? פעם דותן היה עושה ניסויים, לוקח Go, כותב Core מסויים שאפשר להעביר אותו פלטפורמות (למשל - איך מתייחסים ל-Network), חושף API ב-C, שזה די נפוץ ועובד וה-tooling קיים ועובד מדהים
      • ואז עושה FFI - אם למשל יוצאים מ-IOS אז לוקחים Objective C (זה מה שהיה אז) - ואז יוצרים Interface מול C Libraries.
      • במקרה הזה (Objective C ו- C Libraries) יש Interface מדהים. היום גם ל - Swift יש.
    • אלו, בגדול, ה - Building blocks של לקחת שפה זרה ולהכניס אותה לתוך Mobile Platform - וזה בדיוק מה שהם עשו כאן.
    • (רן) אז מה שאתה צריך למעשה ב - Rust זה את היכולת לקמפל (Compile) למעבד שרץ על (מריץ את) אותו IOS - ואת ה - C Bindings.
    • גם ל - Rust היום (נכון ללפני “חצי שנה”) יש סיפור מדהים של Cross-compilation, יחד עם Auto-binding - וזה הימור מאוד נכון לדעתי (דותן)
      • האלטרנטיבה (לפי מה שהם מספרים) זה לכתוב קוד ב - ++C, שזו הדרך שבה לפני משהו כמו 10 שנים היה אפשר לעשות Shared Core בין אנדרואיד ל-IOS.
      • הימור מעולה ומדהים, וכזה שהם רק יהנו ממנו.
      • האלטרנטיבה היא ++C, כן?
    • שווה לקרוא את המאמר ולהבין מה היו השיקולים שלהם בבחירה, אם אתם נמצאים באותה דילמה
    • לדעתי זה מושלם ל-Go, כי אין אפילו את ה - Overhead (בגדול Rust היא שפה שהיא Zero overhead) - כמעט לכל דבר שאתה עושה אתה יכול “לקחת נייר” ולחשב כמה זמן הקוד הזה ירוץ וכמה זכרון הוא יתפוס.
    • זה גם Zero cost abstractions - אם יש Class ואבסטרקציות מסויימות של השפה - בסוף זה מתקמפל ל Machine Code וזה שהשתמשתי בכל הדברים האלה “לא עולה לי כלום” (מאוד קרוב ++C במובן הזה.
  • יצא GitHub package registry !
    • צריך Invite, אבל אני (דותן) כבר קיבלתי והתחלתי להשתמש בזה (ככה יצא).
    • קצת כמו GitHub Actions שהזכרנו (כאן) - התחלתי להשתמש בהתלהבות, אבל אז לא ממש הבנתי למה צריך להעביר הכל לשם או בכלל להשתמש בזה.
    • מעניין בהקשר של המוצרים האלה - זה נחמד שזה ב - GitHub וממש רציתי שיהיה - אבל עכשיו כשיש אני לא כל כך מבין למה כדאי לי לעבור . . .
    • (אלון) דווקא יש שימוש - במקום להשתמש ב-npm.
    • (דותן) יכול להיות שזה כיוון שאני מסתכל על השימוש שלי כרגע עבור ה - Open source שלי - יכול להיות שיש כאן Value מדהים אם אתה עובד מתוך חברה, יש לך Private repositories ואתה מייצר מוצר וזה שירות פנימי לחברה.
    • גם אז - הסתכלנו “במשקפיים של Open Source” (בהקשר של GitHub Actions) ושאלנו מה בעצם ההבדל לעומת למשל Travis ו-Actions ,ומה ה - added benefit אם בכלל.
    • (אלון) כשהכל חינם זה כנראה לא חוכמה . . .
    • (דותן) סתם לזרוק משהו לאוויר - "תסתכל על ה - Repo שלי, תבין אוטומטית מה לעשות, “תפרסר את ה - Travis שלי”, תריץ את החלק הזה שבו אני מייצר Package ותדחף לתוך ה - Package של עצמך”
      • בלי שאני אצטרך לעשות Setup של CI או Travis שדוחף ל-npm וכו’ . . .
    • זה יכול היה להיות נחמד, ולייצר משוואה שבה Repo בעצם שווה ל Package - ואני לא עשיתי כלום כדי לקשור את החוטים.
    • זה משהו אחר - להגדיר Repo כ - Package - אוטומטית.
    • אפשר לחלום… צריך להבין את ה - Build, וזה צריך להימצא במקום מוסכם מראש - ואז “דוחפים” את זה ל -GitHub.
    • אם מישהו דובר עברית ב- GitHub מאזין - אנא רשמו לפניכם.
    • כן - אתה. זה היה בעברית?
  • חברת Viro Media (חברה שעושה VR…) הוציאה SDK בקוד פתוח (MIT) של הפלטפורמה שלהם - מאפשר לעבוד VR על React
    • רשיון MIT - חדשות מאוד טובות
    • אם מישהו רוצה לעשות React, ורוצה להשתמש ב - SDK מסחרי (לשעבר) - איכותי, עם פיצ’רים, כזה שהשקיעו בו הרבה כסף - מוזמן.
    • מהסתכלות ברפרוף זה נראה משהו שיש לו שימוש מיידי - אפשר לדמיין אפליקציות שקיימות כיום ב - Market ואפשר לבנות ככה ב - React.
      • מי שמתעניין בתחום מוזמן.
    • די מדהים - ספריה מאוד מרשימה.
    • יש פרויקט שנקרא React VR, אבל הוא לא כזה שמיש (מעבר ל”ראיתי, מה אני עושה עם זה עכשיו?”)
      • בספרייה הזו יש גם AR ברמה שמאפשרת לעשות פרויקט מגניב בסופ”ש, וגם 3D Objects שאפשר לסמן אותם ועוד
      • נראה שיש הרבה בשר, ובגלל שהיה Closed Source ומסחרי אז אפשר להניח שהשקיעו בזה.
    • רק מלהסתכל על ה - Gifs זה נראה מדהים - וכל הדוגמאות זמינות, אחלה מקום לשחק ב-VR.
  • אייטם מאוד גדול, שעשה הרבה Buzz - איזשהו Flaw ב - Sudo, אותה פקודה שכולנו משתמשים בה -שמאפשר להריץ פקודות כ- Root בלי הרשאה
    • בתור התחלה - סוג של ביזיון, בלינוקס זה לא היה קורה.
      • זה לינוקס.
    • בשלב השני - אנשים הסתכלו על הקוד, וראו שהוא בכלל לא Tested . . .
    • זה יחסית קוד לא גדול ואפשר לראות בדיוק איפה ה -Flaw
    • אז קודם כל אין טסטים, וחוץ מזה - בתוך ה - Ecosystem של Rust הראו איך זה יכול היה להיכתב ב - Rust, ואם זה אכן היה נכתב ככה אז בכלל לא היינו נכנסים לסיפור הזה
      • כלומר: Rust מכיל את מנגנון ה - Safety המובנה שמונע בעיות כאלה.
    • עוד נקודה ל - Rust (די, הכרזנו על ניצחון . . . ) - והפעם על Empowering Security.
  • עוד חדשות Borderline-מדהימות - למי שמכיר את ionic
    • זה SDK שכל מי שעשה Angular או Mobile Web לפני 4-5 שנים - זה היה מטורף ברמה של “אני לא אעשה React כדי לעשות את זה” - עד כדי כך טוב.
      • זו הייתה טעות
    • בכל מקרה - הם עשו את המעבר, ועכשיו עובדים עם React.
    • זה Tool-kit מדהים שמשולב עם Framework מדהים - ויש פה סיפור מעולה
    • הם עברו ל - React, מהלך מאוד יפה, מאוד מעניין לנסות - איך ה - Performance, איך חוויית הפיתוח, עכשיו זה פתאום מעניין.
      • לעומת Angular, שם זה, ובכן, פחות.
  • ובנוסף - Cory House כתב מסמך עם 55 שיעורים מחמש שנים עם React
    • פחות משיעור בחודש . . .
    • לא הכל זה דברים שצריך לשנן, אבל לא מעט דברים שיכולים לעזור למי שמתחיל עם React
    • שווה לעבור על הכל ולראות אם פספסתם
    • וכל הכבוד להורים עם החזון שקראו ליד Cody (קוראים לו Cory, אבל בקטנה . . .) - ד”ש ל Coda Hale
      • לא בדיחה ולא שם עט - סופרסטאר בעולם ה - Java, “מתחיל תנועת ה Modern Java” של שימוש בספריות קטנות יותר ו Web Framework קטן יותר (בשם Dropwizard, שהוא גם יצר ו Spring Boot “חיקה” מאוחר יותר), עבד על ספרייה שהביאה את עניין ה Performance ב Json ל-Java (בשם Jackson), ועוד ועוד . . .
      • התחיל ב-Yammer, היום ב - Netflix (או MailChimp), והיה גם חלק מהתקופה עם Go, אבל הספריות שלו שם הרבה פחות פופלאריות.
      • בהחלט אדם מוכשר, ומעבר לספריות - יש לו גם המון הרצאות מעולות על Metrics וסטטיסטיקות מעניינות ודברים יותר ארכיטקטוניים ועמוקים. בנאדם חכם שיש המון מה ללמוד ממנו.
      • כן, שיא חדש בדיון אסוציאטיבי. איך הגענו לכאן?

ולחלק הקליל -
  • דיאגרמה מגניבה שממחישה (יתרון לגרסא הטקסטואלית, באודיו זה פחות עובד…) מהו Upper-Case -
    • אותן “אותיות גדולות” באנגלית שאתם מכנים Upper Case? אז השם הזה הגיע מ”המזוודה” שבה היו נושאים את האותיות (ממתכת) למכונת הדפוס, ויוצרים איתן את הגלופה (אותה היו “מדפיסים”).
    • בחלק העליון היו ה Capital letters, ובתחתון - “האותיות הקטנות”. אז משם Upper ו - Lower.
    • איזה מזל שלא הפוך - אם הגדולות היו למטה הן היו Lower (או שפשוט היינו מתרגלים הפוך).
    • עדיין לא ברור? אם אתם באיזור פילדלפיה אז ב Franklin Court Printing Office יש הדגמה ב-Live
  • עוד קריקטורה משעשעת מבית My Tech Life (שכבר הזכרנו כאן), והפעם - Kubernetes . . .
    • מה זאת אומרת “זה לא פותר את כל הבעיות?!” הרי אמרתי Kubernetes!
    • כן . . .
    • תודה ערן!
  • ואחרון - זה מ-2012 אבל לא נורא: Programmer Time Translation Table
    • כמה זמן המתכנת אמר שיקח לו - ומה זה אומר בפועל
    • בגדול: 30 שניות זה כנראה שעה; חמש דקות זה כנראה שעתיים; שעה זה כנראה שעתיים; 4 שעות זה כנראה באמת 4 שעות . . .
    • 8 שעות זה כבר 12-16 שעות; שבוע יכול להיות כל דבר שבין יומיים ל-20 ימים.
    • אם זו משימה שאתה ממש רוצה אז כנראה יש גם Under-estimation, ואם זו משימה שאתה לא רוצה אז יש Over-estimation, שגם ממנו תחרוג (ד”ש ל - Parkinson) - אם אתה אומר “שבוע” אתה כנראה לא ממש רוצה לעשות את זה וזה לא יקרה אף פעם.
    • מי לוקח על עצמו לייצר Plug-in ל-Jira שמייצר מזה הערכת זמנים נכונה? סטארטאפ מטורף.
    • הייתה על זה גם הרצאה מעניינת באיזה כנס שאנחנו מכירים (I want to grab the next 23 minutes and 11 seconds to discuss time estimations / Itay Maman) - מוזמנים.

זהו, תודה.

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

152 פרקים

Artwork

380 Bumpers 62

רברס עם פלטפורמה

87 subscribers

published

iconשתפו
 
Manage episode 245737683 series 2497397
תוכן מסופק על ידי רברס עם פלטפורמה. כל תוכן הפודקאסטים כולל פרקים, גרפיקה ותיאורי פודקאסטים מועלים ומסופקים ישירות על ידי רברס עם פלטפורמה או שותף פלטפורמת הפודקאסט שלו. אם אתה מאמין שמישהו משתמש ביצירה שלך המוגנת בזכויות יוצרים ללא רשותך, אתה יכול לעקוב אחר התהליך המתואר כאן https://he.player.fm/legal.
פרק מספר 62 של באמפרס (380! למניין רברס עם פלטפורמה) - רן, אלון, ודותן בבוקר (חורפי ולא חם סוף-סוף) של סוף אוקטובר עם סקירה של טכנולוגיות ודברים מעניינים מהזמן האחרון.

רן -
  • סטנדרט חדש הולך ומתהווה - GQL
    • סטנדרט שאילתות ל- Databases ראשון מאז SQL שנקבע אי שם בשנות ה- 70-80 . . .
    • המטרה היא להסדיר את נושא השאילתות ב Graph Databases (דוגמת Neo4j שמניעים אותו, אבל יש גם אחרים) - וזה כרגע בתהליך של קבלה לועדת הסטנדטים ANSI
    • יש כל מיני הצעות ועדיין לא הוחלט באופן סופי - בעולם ה - Databases יש לא מעט שפות שבהן ניתן לתשאל Graph databases, ובסופו של דבר המטרה היא להתקבע על אחת, שתיהיה סטנדרטית בדומה ל-SQL.
    • אזהרה (!) - חשוב לשים לב ולא להתבלבל בין GQL לבין GraphQL . . . . אלו שני דברים שונים:
      • מצד אחד -GraphQL זו שפת שאילתות או בעצם קצת יותר כמו פרוטוקול בסגנון REST - משתמשים מעל HTTP אבל זו לא השפה שבא “מדברים” עם ה - Database.
      • לעומת זאת - GQL, קצת כמו SQL, הוא הסטנדרט (המיועד) - סטנדרט טקסטואלי שבו ניתן לכתוב שאילתות טקסט ל Graph Databases.
    • הרבה מאוד זמן לא ראינו תנועה באיזור הזה, ומעניין שעכשיו יש.
  • מי מבין מאזינינו שהוא במקרה גם בעלים של טסלה (אפי?!) ודאי מאוד התרגש לשמוע שהגרסא החדשה של התוכנה - 10.0 - יצאה.
    • גם למי שאין לו במקרה (רן, למשל - מסתבר שזה פחות הולך בישראל בינתיים) - מעניין לראות שהגרסא נראית פחות או יותר כמו עדכון של IOS או Android: אם מסתכלים על רשימת הפיצ’רים, קשה לנחש שמדובר ברכב . . .
    • הרבה דברים שקשורים לפנאי ולבידור - חיבורים ל - YouTube ול - Spotify, קריוקי וכאלה
    • כמעט שלא תראו פיצ’רים שקשורים למנוע או לחלקים אחרים של, ובכן - רכב…
    • הרכב נראה כפלטפורמת בידור, לפחות לפי הגרסא הזו. מעניין - הופך למערכת הפעלה לפנאי ופחות מערכת הפעלה לרכב.
    • אלון - מישהו אמר (Twitter …) שלא האמין שיגיע לתקופה שבה עדכון של רכב יותר מרגש מעדכון של טלפון . . . מגניב.
    • מתי העדכון הבא של אאודי? אה.
  • ספריה בשם chart.xkcd - מעיין גרפים ב - JavaScript או HTML וכו’ שרצים בתוך הדפדפן - בסגנון xkcd:
    • סדרת קריקטורות גיקיות פופולארית, בעיקר סביב מחשבים וטכנולוגיה, בעיצוב שדומה לעיפרון או עט גס, בשחור לבן “פשטני”.
    • הספריה הזו מייצרת גרפים ותרשמים בסגנון - “כאילו שורטטו בעיפרון או טוש על נייר”.
    • יש גם צבעים - לא רק שחור-לבן כמו ב”מקורי”.
    • אחד המגניבים . . . יש טרנד כזה של מצגות שנראות כאילו עכשיו שרבטו אותן? אז כזה - נראה טוב וקריא מאוד.
  • הפינה האמנותית - Repo ב - GitHub בשם The art of command line
    • מעניין סקירה של כלים (Unix, Linux) מאוד שימושיים , החל מאיך משתמשים ב - Bash - Shell עצמו) והלאה.
    • למשל - מה קורה שעושים Alt+B ואז Alt+F ? - מסתבר שזה מביא אתכם לתחילת השורה - במקום ללכת “אחורה בהיסטוריה” בשיטת “חץ למעלה-למעלה-למעלה” ואז לנסות להגיע למשהו באמצע, Alt+B ואז Alt+F מאפשר לעבור מילה אחרי מילה.
    • אפשר גם להשתמש ב VI Mode” בתוך ה - CLI עצמו - לעבור ולהשתמש בקיצורי הדרך של VI.
    • אפשר גם לערוך את ה - Command Line שלכם בתוך Editor ועוד כל מיני פטנטים שאולי לא הכרתם.
    • למי ש”חי בתוך ה - Command Line” (גרסא מאוד מוזרה של Jumanji?) - מומלץ.
      • לא מאוד ארוך, חלק סביר שאתם מכירים - רן לא הכיר הכל. שווה לנסות.
  • בלוג-פוסט מעניין ומעורר השראה - Logs were our lifeblood. Now they're our liability
    • יש הרבה מאוד סוגים של לוגים - החל מלוגים “אופרטיביים” (Operational) בסגנון “נגמר לי המקום בדיסק” או exception כזה או אחר ועד לוגים “אפליקטיביים” (Application) - שהבלוג מגדיר כ - Events ואליהם הוא מתייחס.
      • דברים כמו Analytics למיניהם ש Google ו - Facebook אוהבים (לכאורה) לאסוף (לכאורה!) על פעולות של משתמשים.
    • אומרים ש”דאטה זה הזהב החדש” וזה כנראה נכון בהרבה מובנים - ככל שתאספו יותר מידע על המשתמשים שלכם כך תוכלו לההפיק יותר תובנות, אבל . . .
    • עם הגידול ברגולציות השונות, מתברר שזה לא כל כך פשוט לתחזק את כל הלוגים האלה - אם זו רגולציה באירופה וארה”ב וסין ועוד - מגלים שמצד אחד הדאטה שווה זהב, ומצד שני - “יכולים לתבוע לכם את התחת” אם לא תשמרו על הזהב הזה כמו שצריך ולא תדעו למחוק אותו ולעשות לו סגרגציה (Segregation) כמו שצריך, אז אם חס וחלילה מתרחשת דליפת מידע . . .
    • הבלוג טוען שאם פעם היינו רק רוצים לאסוף כמה שיותר מידע, היום - ובטח שבעתיד - צריך לעשות את זה במשנה זהירות.
    • הצפי הוא לפיתוח טכניקות שבהן נוכל אולי לשמור את ה -Essence של המידע - מבלי לשמור את ה - Data עצמו.
    • ציטוט ממישהו שנראה שמגיע מ - Facebook, שאומר ש”את הקהל שלנו אני יכול לייצג באמצעות חמישה משתמשים בלבד” - 5 Archetypes של משתמשים שמהם אפשר ללמוד את כל מה שצריך, ולא צריך את כל המיליארד או 2 מיליארד או כמה שזה לא יהיה.
    • למעשה, זה מצביע על טרנד ב - Data Science שיודע לקחת הרבה מאוד Data, להוציא ממנו רק את הייצוגים המעניינים - “ולזרוק” את כל השאר.
      • ה-MP3 של כל שאר הדאטה?
    • (אלון) מעניין מאוד לחברות בתחילת הדרך - חברות ענק כבר מאוד מתעניינות ב - Long Tail, ואם תבוא ותגיד להם “הנה רק 5 ייצוגים” הם לא יגיבו יפה.
    • יכול להיות - אבל מצד שני הרגולציות הולכות וגדלות, ולא נראה שזה הולך להיעלם - באיזשהו מקום הם יהיו חייבים. לחברות בתחילת הדרך זה אולי יהיה “יותר קל” (לוותר), אבל דווקא לחברות הגדולות יש את ה Liability היותר גדול ואולי לא תיהיה להן ברירה.
      • את מי כבר תבעו - ?Google? Facebook - שתיהן?
    • אם מסתכלים על GDPR - ההגבלה היא על מה שהוא Tractable למשתמש ספציפי - אם שומרים בצורה אנונימית אז אין עם זה שום בעיה.
      • ברגע שלוקחים רק Samples אז מראש יוצאים מבעיות רגולציה - אבל העניין הוא שחברות כאלו כן רוצות את כל ה - Data ...
      • זה נחמד לדברים מסויימים, אבל לא למשל עבור פרסונליזציה…
    • הבלוג בא להצביע על בעיה - ולא טוען שיש לו פתרון להכל. הפתרונות שכן מוצעים הם אגרגציה ואנונימיזציה (Aggregation, Anonymization), שזה מה שעושים למשל ב - Google.
    • הבעיה קיימת, ואי אפשר להתעלם ממנה - אם פעם (ועדיין) לוגים היו הזהב החדש, היום אנחנו מבינים שלזהב הזה יש מחיר ויש ריבית, וזה בטח לא בא בחינם.
    • צריך לחשוב על איך לא להחזיק מידע מיותר - לא משיקולי Storage אלא משיקולי Liability - ואיפה שאפשר לעשות אגרגציה ואנונימיזציה או דברים אחרים.
    • זה בהחלט מציג אתגרים - גם ליישום יעיל ונכון וגם מבחינת פגיעה בפיצ’רים עתידיים - אם בעוד שנה תרצה לעשות פרסונליזציה - תיהיה לך בעיה.
    • האמירה שלוגים הולכים והופכים ל Liability נראית נכונה, ונראה שתיהיה אפילו יותר נכונה עם הזמן.
    • עד כאן סוגיות חוקיות להיום? ספויילר - כנראה שלא . . .
  • תראו מי חוזר - !The Stack Overflow Podcast is Back
    • למי שזוכר (רומז שאנחנו זקנים?), הפודקאסט היה קיים משך שנים רבות ולאחרונה נכנס לקצת תרדמת
      • הפודקאסט עצמו יותר ותיק מרברסים (!), בן למעלה מ-12 שנים
      • רן עוד זוכר את עצמו מאזין ל Joel Spolsky וחושב שאולי כדאי שיהיה גם אחד כזה בעברית... יצא בסדר בסך הכל slightly smiling face
      • רץ הרבה שנים, בשלב מסויים כבר בלי Joel Spolsky, ואז בשלב מסויים קצת נעלם - ועכשיו שחררו מחדש פרק ראשון, מומלץ לחובבי הז’אנר.
    • אז איך הפודקאסט (אם כבר מפרסמים מתחרים . . .)? לפי רן לא משהו (מדבר מפוזיציה?), אבל יש תקווה כי יש שם חומר טוב -
      • שלושה אנשים שמדברים על שאלות מעניינות ופופלאריות ב - Stack Overflow ועל Compilers באופן כללי.
      • לדוגמא - שאלה (פילוסופית) על “האם כשאתה מצליח לגרום ל Compiler לעשות משהו לא חוקי - האם אתה Liable? שואל בשביל חבר . . .
        • והנה חזרנו לשאלות החוקיות
      • האם במקרה שהצלחת לנצל חולשה ב compiler וככה להשתלט על משהו שלא היית אמור - האם האחריות היא עליך או על יוצר ה Compiler, או משהו בסגנון
    • (דותן) הייתה גם דרמה גדולה ב - Stack Overflow השבוע - הם שינו את ה Term of service, ועכשיו אי אפשר לפנות למשתמשים כ “He” או “She”, וזה עורר דרמה -
    • רן לא זוכר אם זה עלה בפודקאסט, אבל יש מצב שכן. תקשיבו.
  • הרבה זמן לא דיברנו על Rust vs. Go, הא? אז הנה חדשות חמות בנושא - נקודה נוספת (או כמה בעצם) לטובת Rust: הודעה של AWS על מתן חסות ל Rust Project
    • מבחינה היסטורית, Rust התחיל את פיתוחו בתוך Mozilla, ולמעשה עד היום נמצא תחת הכתפיים שלה -אעפ”י שהמפתח הראשי כבר עזב - Apple) והיה נראה שהקהילה קצת איבדה את ההנהגה שלה.
    • עכשיו AWS הודיעו על מתן Sponsorship (לא נראה שבלעדי) - יחד עם Google, Microsoft ו - Mozilla
    • כך שעכשיו יש כמה אבות לפרויקט, מרשים ביותר - לא עוד נקודה ל-Rust אלא 4 גדולות. . . בשורה מטורפת.
    • מי שכותב ב - Rust יכול להמשיך.

אלון -
  • קודם כל - מה יש לדותן להגיד על Rust? תמיד היה חשש שאין לזה אבא
  • ולעניין - פוסט על Postgres - ומה שאפשר לעשות איתו לפני שרצים לפתרונות אחרים
    • דברי שידעתם, או שלא - Caches ו - Text Search ופונקציות, Key-Value Data store, עוד כל מיני Data types ואינדקסים כמו Bloom filter ועוד הרבה דברים נחמדים.
    • למי שמכיר Postgres לעומק זה כנראה לא יחדש הרבה, אבל למי מחפש Database חדש רק כי “זה רק SQL ואני צריך יותר” - שווה להציץ בזה.
    • תמיד עולה השאלה (ע”י רן) של “האם נכון “להעמיס” על ה - Database את כל היכולות האלה?” - זה שהוא יכול לא בהכרח אומר שהוא צריך . . .
      • דוגמא קלאסית - מנגנון ה Stored procedures (“שאילתות שמורות”) - אפשר לכתוב כאלו כמעט בכל Database רלציוני, השאלה היא האם כדאי.
      • בתעשייה נראה שכבר הבנו שבגדול - לא.
      • למעט מקרים מסויימים, עדיף להשאיר את ה - Business Logic בתוך התוכנית שלך ולא בתוך ה - Database, מכל מיני סיבות, למשל - יכולות פיזור עומסים, Testability, מודולריות ועוד.
      • האם אנחנו לא רואים את כל זה All over again? ל - Postgres יש כל מיני תוספים, כמו יכולת להחזיר GraphQL ולהיות ממשי REST-י ועוד כל מיני דברים, השאלה האם אתה באמת רוצה שהוא יעשה את כל זה?
      • בעיני רן זוהי דילמה פתוחה - מצד אחד מאוד מפתה, מצד שני - קצת מאבדים את המודולריות, ואולי עושים כאן איזשהו “חטא”.
    • אני (אלון) לא אומר שאפשר להשוות את זה ל Redis למשל עבור Key-value store, כי זה לא ה - Core business בסופו של דבר.
      • אבל - הרבה פעמים, במקום להרים עוד מערכת - עדיף “לרכב” על ה - database הקיים כי אתה לא רוצה ריבוי מערכות.
      • בסוף זה תמיד שיקול בארכיטקטורה - האם לקחת את הדבר האופטימלי בכל מקום ובסוף למצוא את עצמך עם עשרה Databases, או לאחד.
      • קצת כמו הדילמה בין מונוליט ל - Micro-services . . . וכנראה שאין תשובה אחת נכונה.
      • לפעמים מונוליט זו התשובה הנכונה, בטח כשאתה מתחיל.
      • חוץ מזה - אפשר להחזיק ארבעה Databases, וגם המקצועיות של האנשים בסוף שונה - וחוץ מזה ל Postgres יש Plug-ins מטורפים שאין להם כל כך מתחרים
      • אנחנו (אלון) משתמשים ב - PostGIS, שקשה למצוא לו מתחרה ברמה הזו למידע גיאוגרפי, וזה מצדיק את עצמו בלי קשר ל Postgres או לא.
      • לפעמים אנשים מרימים MongoDB רק כי יותר קל לשמור משהו כ - Document, ותמיד שווה לשאול את השאלה, במיוחד עבור חברות קטנות - האם אתם באמת רוצים ריבוי מערכות או לא?
    • אצלי (רן) באו כבר כמה אנשים ושאלו “מתי בכלל תרצה להשתמש ב Database רלציוני?
      • התשובה היא תמיד . . .
      • לא תמיד אני יכול, אבל זו ברירת המחדל
      • אם אני מתחיל פרויקט חדש, אלך עם Postgres או MySQL, אלא אם כן יש לי סיבה ממש טובה להתחיל בכיוון אחר.
      • ברירת המחדל, אם אין נתונים נוספים, היא Database רלציוני - הם גמישים, יודעים לעשות הרבה מאוד known-practices ידועים מהעולם, כמעט לכל בעיה ניתן למצוא פתרון בחיפוש קצר ב - Google, יש Ecosystem מאוד בריא - ברוב המקרים אתחיל מהם, ואם אחר כך אראה שיש סיבה מוצדקת לעבור, עם המחיר שהוא כנראה לא פשוט ב Community knowledge, אולי אעשה את זה.
    • (אלון) “כולם יודעים SQL”, תמיד יש את המשפט הזה (כולם דוברים את השפה הבינלאומית הידועה Bad-English) - קל לתשאל את ה -database, לעומת NoSQL שבו אתה דוחף את הדאטה וצריך לתחזק אותו הרבה שנים… גם ממליץ להתחיל ב-SQL, ואם תתקלו בחומה אז תעברו, ולא הפוך, ככלל אצבע (שתמיד יש לו חריגים).
  • בהמשך ל Postgres - אז יצא PostgreSQL 12!
    • לא הספקתי לראות שינויים משמעותיים מעבר ל Performance, שזה תמיד מעניין
    • כנראה שיש עוד שינויים, שווה להסתכל
  • פרוייקט Open source חדש של Microsoft בשם dapr
    • דפ”ר?
    • המון Buzz תקשורתי, נראה שהם מייעדים אותו לגדולות
    • בגדול - מדובר ב framework שיכול לעזור לבנות microServices על K8s
    • הוציאו בלוג-פוסט, הלכו ל TechCrunch, השקיעו . . . או שזה Here to stay או עוד פלופ
    • חשוב לציין - הם טוענים שזה עדיין לא Production ready, עדיין בחיתולים
      • למי שלא הבין - אל תשתמשו ב - Production
    • נשמע מעניין, אולי בשלב הבא ירצו לדחוף את זה ל - Azure כתחרות ל Built-in-K8s של Google.
  • מחפשים IDE ל - React? - אז The first dedicated IDE for React web application development
    • לא יודע אם טוב, עדיין לא ניסיתי - אבל אשמח אם מישהו יגיד לי אם זה שווה משהו
    • שלחו גלויה
  • ועוד אחד - נתקלתם כבר ב TwilloQuest? אחד המגניבים . . .
    • אז נראה ש Twillo (החבר’ה עם ה API ל-SMS וכאלה), הוציאו משחק Quest.
      • צריך Download והכל
    • המשחק מלמד תכנות ואיך לעבוד מול ה-API שלהם - מקבלים משימות ב - Quest, קצת כמו Ultima של פעם
    • ממש מגניב, אלון צריך למצוא קצת זמן ולשחק בזה, מוזמנים גם.
    • וכן - צריך ממש “להוריד משחק”, זה לא Web-י (רציתם 90s אז עד הסוף)
      • אולי גם בגלל כל ה-Tokens של ה-SMS, ליצור Isolation בתוך המשחק
    • באופן כללי רעיון מדהים, וגם רעיון מעניין של לתת API בלי לחשוף אותו (רעיון בתוך רעיון?)

דותן -
  • אז TypeScript 3.7 יוצא ל Beta, עוד שבוע-שבועיים יהיה Final (“נובמבר 2019”)
    • ה - Release הזה כבר כולל Null Coalescing, שזו היכולת להשתמש ב - Operator על מנת להמיר NULL לאיזשהו ערך רצוי (דיברנו על זה בבאמפרס 60), וגם Optional Chains (היכולת לשרשר עם “?” ואז לעשות Deep dive לתוך אובייקטים).
  • עוד בחזית השפות - Python 3.8 גם יוצא
    • עם האופרטור Walrus ( “:=”, כמו של Go, לא כזה)
    • זהו האופרטור בשבגללו Guido עזב את Python, ואז חזר
    • בכל מקרה - החדשות הן ש Python 3.8 יצא, ודי בשקט
    • יש גם Parallel bytecode cache - שזה אומר שכבר לא נצטרך לחיות עם ה - folders המגעילים האלה של PyCache בתוך ה - codebase שלנו (זה יכול לחיות גם במקום אחר)
    • ויש גם f-strings - מקביל ל-Interpolations שיש בשפות אחרות כמו TypeScript ו-JavaScript
      • רגע - f-strings יש גם ב-3.7 - מה השתנה?
      • הוסיפו לו יכולות? - לוקח משתנים מתוך ה-scope הגלובאלי
      • אלון משתמש ב-3.74, וזה עובד שם . . . אולי הוסיפו Feature, למשל האפשרות להשתמש ב”=” ולהכניס משתנים ל f-string באופן אוטומטי.
    • בכל אופן - בתוך ההכרזה הזו יש גם Infrastructure די כבד, שאני (דותן) מניח שבעקבותיו יבואו כל מיני כלי Profiling ואינסטרומנטציה - כדי להתגבש למה ש Python עושה מאחורי הקלעים - יפה, זה משהו שחסר.
  • ובאותו קו - Instagram, שידועים בכך שהם אוהבים לקסטם (Customize) את ה - Python שלהם, ועושים “Python at Scale”, הוציאו מאמר שמתאר סוג של Anti-Pattern שבו Python modules או “סתם” קבצים ב-Python יכולים להריץ קוד ברגע שעושים להם Import - והדבר הזה “הורג אותם”.
    • הם חיפשו דרך להימנע מזה, והחליטו לסמן Module כ - Strict, ולייצר יכולת לקרוא את הקוד, להבין שה - Module הוא Strict, ואז אם הוא מכיל קוד כזה (עם Initialization “כבד”) - למנוע את ה - Import שלו.
    • המאמר מתאר את הבעיה - ואת הפתרון - ומספר שהם עדיין מריצים את הדבר הזה, וברגע שזה יהיה “Final” הם ישחררו יותר מידע (דותן מניח שהם יוציאו את זה כ - Open Source או משהו כזה).
    • (רן) אגב - בעיה דומה קיימת ב - Go: גם ב - Go אפשר לעשות “initialization סטטי”, וזה יכול לדפוק אותך, אם אתה עושה שם דברים מוזרים אז זה רע . . .
      • במיוחד בספריות.
    • בדיוק - איך שאני (דותן) קראתי את זה בין השורות, אז קוד איטי ו - Bad Practice הם, ובכן - קוד איטי ו - Bad Practice . . . לא יודע כמה אפשר להתחמק מזה.
      • ב - Go יש תמיכה ברמת ה - Syntax, שזה נהדר - אבל אתה תמיד יכול לירות לעצמך ברגל, אז לקחתי את המאמר הזה עם כוכבית (*) קטנה.
    • בכל אופן - מעניין לראות מה הם מגדירים כ - Python at Scale, ואני בהחלט מזדהה עם כל מיני בעיות ב-Python שנובעות מכל שזו שפה מאוד Generalized, ומכילה המון Roles (עבור Data Scientists ו - Software engineers ו - DevOps וכל דבר…) - פונה לקהל הרחב, ואני לא יודע אם הם אי פעם לקחו עמדה בעולמות האלה.
  • עוד אחד - Repo ב - GitHub בשם email-marketing-regulations
    • מעיין Repository יותר טקסטואלי שמתאר כל מיני ארצות ואת הרגולציה שלהן לגבי email.
      • למשל - באוסטרליה opt-out זה required, ובברזיל לא; בארה”ב שוב כן - וכן הלאה.
    • יש גם תיאור של הקנסות והעונשים הצפויים אם אתה מפר את הרגולציה
    • בגדול - מדהים: בדר”כ כשמייצרים כאלה טפסים מנסים לחשוב מה קורה למשל בארה”ב, אבל קשה לדעת מי באמת המשתמשים עד שלא מפיצים את המוצר.
    • בדר”כ בסוף מדובר בעו”ד שאומר מה מותר ואיך, וגם העו”ד לפעמים לא כל כך יודע בארצות שבהן הוא לא מתמחה (“אני לא עובד עם הארצות האלה, לך תמצא מישהו שכן”).
    • אם אתה ברשות עצמך, ואין לך כל כך איך לממן את כל העו”ד האלה - זו אחלה רשימה להתחיל ממנה.
    • (אלון) האם אפשר לסמוך על הרשימה הזו? מי כתב אותה?
    • בסוף זה משחק של סיכונים, קצת כמו במקרה של הלוגים עליו דיברנו קודם (והבטחנו לא ליפול לדיון משפטי…) - בבית משפט כנראה שתצטרך להוכיח שהשקעת מספיק Reasonable effort כדי להוציא פרטים שאסור שיהיו ב Logs (נניח אם היה Crash dump שהוציא Stack trace עם ססמאות ודברים מגעילים אחרים (מי אמר Facebook?!) . . . אם היה באג, ויש service אחד שלא כולל מידול שמונע זליגה, אני (דותן) מניח שלא ישלחו אותך לכלא על באג כזה, כי הוכחת שהשקעת Reasonable effort.
    • שוב - מניח שזה משחק של סיכונים - לא עשית הכל עד הסוף אבל השקעת את המאמץ ומיממשת דברים שמייצגים את הרגולציה. ענייני Google ו - Facebook זה כבר מעבר להבנה שלי (דותן).
    • ושוב יצא פרק ליגאלי . . . אם אתה בנאדם אחד שמפתח מוצר, נראה לי שזו נקודת התחלה טובה.
  • עוד אייטם - onefetch
    • כתוב ב - Rust, קצת במו CLI App כזה מגניב - שנותן סיכום של ה- Repository ומה הוא מכיל
    • למשל - אם הולכים ל - GitHub ופותחים את השורה למעלה עם השפה וה-Committers והסטטיסטיקה - אז כאן תקבל את הכל ב -Command line.
    • פשוט מריץ התוך Repo, וזה אומר לך את שם הפרויקט ובאיזה Branch אתה - ואילו שפות יש בפרויקט ומה התמהיל שלהן (15% ++C וכו’), מי ה-Committers המובילים ועוד.
  • קצת Kubernetes - אני (דותן) לפחות חושב שסביב Kubernetes ו - Security יש “הרבה בשר” לדבר עליו בעתיד
  • בלוג-פוסט שמדבר על Errors in Go 1.13
    • זו גרסא חדשה - ועכשיו Errors יכולים להכיל Context: “מאיזה Error ה- Error הזה בא” (בעיה בגישה לדיסק שנובעת מ-Error עמוק יותר בקוד, וכו’)
    • אפשר לשרשר Errors, וגם לבדוק היררכית מאיזה סוג ה - Error - והכל נתמך ע”י יכולות חדשות בתוך ה-API של Go.
    • מומלץ לקרוא - בסך הכל יישור קו עם שפות אחרות, ו”דרך מתורבתת” להתייחס ל-Errors כיום.
  • ולעולם ה - React native - פרויקט חדש יחסית בשם React Navigation meets native
    • מחדש ומוסיף יכולת Native ל - Navigation
    • הרבה זמן Native Navigation היה דבר יחסית “מקולל” ב - React Native, כי זה קצת מבטל את העולם של React - וכאן הצליחו לייצר תמהיל שלדעתי (דותן) הוא נכון, של “כמה שיותר ב-React אבל חלק הוא native בשביל ה-Performance”.
    • זה - בניגוד למשל לספרייה המפורסמת של Wix, שעושה הרבה Native וקצת JavaScript - כאן התמהיל קצת הפוך. מומלץ לבדוק.
  • בחזרה ל - Rust - והפעם: Astropad red heart Rust
    • חברה בשם Astropad studio, מי שיש לו iPad ואוהב לצייר אולי מכיר - זה מאוד דומה ל Procreate
    • “יצאו למסע לחיפוש שפה לכתיבת ה - Core שלהם” . . . האפליקציה היא מעיין Photoshop ,אז צריך לדעת לעבוד עם גרפיקה ו-Performance והכל
      • ה-Core צריך לרוץ על IOS
    • ועכשיו מכריזים ש - Rust זו השפה שנבחרה
    • ואיך זה עובד? פעם דותן היה עושה ניסויים, לוקח Go, כותב Core מסויים שאפשר להעביר אותו פלטפורמות (למשל - איך מתייחסים ל-Network), חושף API ב-C, שזה די נפוץ ועובד וה-tooling קיים ועובד מדהים
      • ואז עושה FFI - אם למשל יוצאים מ-IOS אז לוקחים Objective C (זה מה שהיה אז) - ואז יוצרים Interface מול C Libraries.
      • במקרה הזה (Objective C ו- C Libraries) יש Interface מדהים. היום גם ל - Swift יש.
    • אלו, בגדול, ה - Building blocks של לקחת שפה זרה ולהכניס אותה לתוך Mobile Platform - וזה בדיוק מה שהם עשו כאן.
    • (רן) אז מה שאתה צריך למעשה ב - Rust זה את היכולת לקמפל (Compile) למעבד שרץ על (מריץ את) אותו IOS - ואת ה - C Bindings.
    • גם ל - Rust היום (נכון ללפני “חצי שנה”) יש סיפור מדהים של Cross-compilation, יחד עם Auto-binding - וזה הימור מאוד נכון לדעתי (דותן)
      • האלטרנטיבה (לפי מה שהם מספרים) זה לכתוב קוד ב - ++C, שזו הדרך שבה לפני משהו כמו 10 שנים היה אפשר לעשות Shared Core בין אנדרואיד ל-IOS.
      • הימור מעולה ומדהים, וכזה שהם רק יהנו ממנו.
      • האלטרנטיבה היא ++C, כן?
    • שווה לקרוא את המאמר ולהבין מה היו השיקולים שלהם בבחירה, אם אתם נמצאים באותה דילמה
    • לדעתי זה מושלם ל-Go, כי אין אפילו את ה - Overhead (בגדול Rust היא שפה שהיא Zero overhead) - כמעט לכל דבר שאתה עושה אתה יכול “לקחת נייר” ולחשב כמה זמן הקוד הזה ירוץ וכמה זכרון הוא יתפוס.
    • זה גם Zero cost abstractions - אם יש Class ואבסטרקציות מסויימות של השפה - בסוף זה מתקמפל ל Machine Code וזה שהשתמשתי בכל הדברים האלה “לא עולה לי כלום” (מאוד קרוב ++C במובן הזה.
  • יצא GitHub package registry !
    • צריך Invite, אבל אני (דותן) כבר קיבלתי והתחלתי להשתמש בזה (ככה יצא).
    • קצת כמו GitHub Actions שהזכרנו (כאן) - התחלתי להשתמש בהתלהבות, אבל אז לא ממש הבנתי למה צריך להעביר הכל לשם או בכלל להשתמש בזה.
    • מעניין בהקשר של המוצרים האלה - זה נחמד שזה ב - GitHub וממש רציתי שיהיה - אבל עכשיו כשיש אני לא כל כך מבין למה כדאי לי לעבור . . .
    • (אלון) דווקא יש שימוש - במקום להשתמש ב-npm.
    • (דותן) יכול להיות שזה כיוון שאני מסתכל על השימוש שלי כרגע עבור ה - Open source שלי - יכול להיות שיש כאן Value מדהים אם אתה עובד מתוך חברה, יש לך Private repositories ואתה מייצר מוצר וזה שירות פנימי לחברה.
    • גם אז - הסתכלנו “במשקפיים של Open Source” (בהקשר של GitHub Actions) ושאלנו מה בעצם ההבדל לעומת למשל Travis ו-Actions ,ומה ה - added benefit אם בכלל.
    • (אלון) כשהכל חינם זה כנראה לא חוכמה . . .
    • (דותן) סתם לזרוק משהו לאוויר - "תסתכל על ה - Repo שלי, תבין אוטומטית מה לעשות, “תפרסר את ה - Travis שלי”, תריץ את החלק הזה שבו אני מייצר Package ותדחף לתוך ה - Package של עצמך”
      • בלי שאני אצטרך לעשות Setup של CI או Travis שדוחף ל-npm וכו’ . . .
    • זה יכול היה להיות נחמד, ולייצר משוואה שבה Repo בעצם שווה ל Package - ואני לא עשיתי כלום כדי לקשור את החוטים.
    • זה משהו אחר - להגדיר Repo כ - Package - אוטומטית.
    • אפשר לחלום… צריך להבין את ה - Build, וזה צריך להימצא במקום מוסכם מראש - ואז “דוחפים” את זה ל -GitHub.
    • אם מישהו דובר עברית ב- GitHub מאזין - אנא רשמו לפניכם.
    • כן - אתה. זה היה בעברית?
  • חברת Viro Media (חברה שעושה VR…) הוציאה SDK בקוד פתוח (MIT) של הפלטפורמה שלהם - מאפשר לעבוד VR על React
    • רשיון MIT - חדשות מאוד טובות
    • אם מישהו רוצה לעשות React, ורוצה להשתמש ב - SDK מסחרי (לשעבר) - איכותי, עם פיצ’רים, כזה שהשקיעו בו הרבה כסף - מוזמן.
    • מהסתכלות ברפרוף זה נראה משהו שיש לו שימוש מיידי - אפשר לדמיין אפליקציות שקיימות כיום ב - Market ואפשר לבנות ככה ב - React.
      • מי שמתעניין בתחום מוזמן.
    • די מדהים - ספריה מאוד מרשימה.
    • יש פרויקט שנקרא React VR, אבל הוא לא כזה שמיש (מעבר ל”ראיתי, מה אני עושה עם זה עכשיו?”)
      • בספרייה הזו יש גם AR ברמה שמאפשרת לעשות פרויקט מגניב בסופ”ש, וגם 3D Objects שאפשר לסמן אותם ועוד
      • נראה שיש הרבה בשר, ובגלל שהיה Closed Source ומסחרי אז אפשר להניח שהשקיעו בזה.
    • רק מלהסתכל על ה - Gifs זה נראה מדהים - וכל הדוגמאות זמינות, אחלה מקום לשחק ב-VR.
  • אייטם מאוד גדול, שעשה הרבה Buzz - איזשהו Flaw ב - Sudo, אותה פקודה שכולנו משתמשים בה -שמאפשר להריץ פקודות כ- Root בלי הרשאה
    • בתור התחלה - סוג של ביזיון, בלינוקס זה לא היה קורה.
      • זה לינוקס.
    • בשלב השני - אנשים הסתכלו על הקוד, וראו שהוא בכלל לא Tested . . .
    • זה יחסית קוד לא גדול ואפשר לראות בדיוק איפה ה -Flaw
    • אז קודם כל אין טסטים, וחוץ מזה - בתוך ה - Ecosystem של Rust הראו איך זה יכול היה להיכתב ב - Rust, ואם זה אכן היה נכתב ככה אז בכלל לא היינו נכנסים לסיפור הזה
      • כלומר: Rust מכיל את מנגנון ה - Safety המובנה שמונע בעיות כאלה.
    • עוד נקודה ל - Rust (די, הכרזנו על ניצחון . . . ) - והפעם על Empowering Security.
  • עוד חדשות Borderline-מדהימות - למי שמכיר את ionic
    • זה SDK שכל מי שעשה Angular או Mobile Web לפני 4-5 שנים - זה היה מטורף ברמה של “אני לא אעשה React כדי לעשות את זה” - עד כדי כך טוב.
      • זו הייתה טעות
    • בכל מקרה - הם עשו את המעבר, ועכשיו עובדים עם React.
    • זה Tool-kit מדהים שמשולב עם Framework מדהים - ויש פה סיפור מעולה
    • הם עברו ל - React, מהלך מאוד יפה, מאוד מעניין לנסות - איך ה - Performance, איך חוויית הפיתוח, עכשיו זה פתאום מעניין.
      • לעומת Angular, שם זה, ובכן, פחות.
  • ובנוסף - Cory House כתב מסמך עם 55 שיעורים מחמש שנים עם React
    • פחות משיעור בחודש . . .
    • לא הכל זה דברים שצריך לשנן, אבל לא מעט דברים שיכולים לעזור למי שמתחיל עם React
    • שווה לעבור על הכל ולראות אם פספסתם
    • וכל הכבוד להורים עם החזון שקראו ליד Cody (קוראים לו Cory, אבל בקטנה . . .) - ד”ש ל Coda Hale
      • לא בדיחה ולא שם עט - סופרסטאר בעולם ה - Java, “מתחיל תנועת ה Modern Java” של שימוש בספריות קטנות יותר ו Web Framework קטן יותר (בשם Dropwizard, שהוא גם יצר ו Spring Boot “חיקה” מאוחר יותר), עבד על ספרייה שהביאה את עניין ה Performance ב Json ל-Java (בשם Jackson), ועוד ועוד . . .
      • התחיל ב-Yammer, היום ב - Netflix (או MailChimp), והיה גם חלק מהתקופה עם Go, אבל הספריות שלו שם הרבה פחות פופלאריות.
      • בהחלט אדם מוכשר, ומעבר לספריות - יש לו גם המון הרצאות מעולות על Metrics וסטטיסטיקות מעניינות ודברים יותר ארכיטקטוניים ועמוקים. בנאדם חכם שיש המון מה ללמוד ממנו.
      • כן, שיא חדש בדיון אסוציאטיבי. איך הגענו לכאן?

ולחלק הקליל -
  • דיאגרמה מגניבה שממחישה (יתרון לגרסא הטקסטואלית, באודיו זה פחות עובד…) מהו Upper-Case -
    • אותן “אותיות גדולות” באנגלית שאתם מכנים Upper Case? אז השם הזה הגיע מ”המזוודה” שבה היו נושאים את האותיות (ממתכת) למכונת הדפוס, ויוצרים איתן את הגלופה (אותה היו “מדפיסים”).
    • בחלק העליון היו ה Capital letters, ובתחתון - “האותיות הקטנות”. אז משם Upper ו - Lower.
    • איזה מזל שלא הפוך - אם הגדולות היו למטה הן היו Lower (או שפשוט היינו מתרגלים הפוך).
    • עדיין לא ברור? אם אתם באיזור פילדלפיה אז ב Franklin Court Printing Office יש הדגמה ב-Live
  • עוד קריקטורה משעשעת מבית My Tech Life (שכבר הזכרנו כאן), והפעם - Kubernetes . . .
    • מה זאת אומרת “זה לא פותר את כל הבעיות?!” הרי אמרתי Kubernetes!
    • כן . . .
    • תודה ערן!
  • ואחרון - זה מ-2012 אבל לא נורא: Programmer Time Translation Table
    • כמה זמן המתכנת אמר שיקח לו - ומה זה אומר בפועל
    • בגדול: 30 שניות זה כנראה שעה; חמש דקות זה כנראה שעתיים; שעה זה כנראה שעתיים; 4 שעות זה כנראה באמת 4 שעות . . .
    • 8 שעות זה כבר 12-16 שעות; שבוע יכול להיות כל דבר שבין יומיים ל-20 ימים.
    • אם זו משימה שאתה ממש רוצה אז כנראה יש גם Under-estimation, ואם זו משימה שאתה לא רוצה אז יש Over-estimation, שגם ממנו תחרוג (ד”ש ל - Parkinson) - אם אתה אומר “שבוע” אתה כנראה לא ממש רוצה לעשות את זה וזה לא יקרה אף פעם.
    • מי לוקח על עצמו לייצר Plug-in ל-Jira שמייצר מזה הערכת זמנים נכונה? סטארטאפ מטורף.
    • הייתה על זה גם הרצאה מעניינת באיזה כנס שאנחנו מכירים (I want to grab the next 23 minutes and 11 seconds to discuss time estimations / Itay Maman) - מוזמנים.

זהו, תודה.

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

152 פרקים

All episodes

×
 
Loading …

ברוכים הבאים אל Player FM!

Player FM סורק את האינטרנט עבור פודקאסטים באיכות גבוהה בשבילכם כדי שתהנו מהם כרגע. זה יישום הפודקאסט הטוב ביותר והוא עובד על אנדרואיד, iPhone ואינטרנט. הירשמו לסנכרון מנויים במכשירים שונים.

 

מדריך עזר מהיר