פרק מספר 63 של באמפרס (381 למניין רברס עם פלטפורמה) - רן, אלון ודותן בבוקר חורפי ושמשי של סוף נובמבר עם סקירה של טכנולוגיות ודברים מעניינים (וקצרצרים) מהזמן האחרון.
רן -
- שפת V (או - V language) - שפה חדשה, שיש יש לה Compiler (גם אם לא כל הפיצ’רים כבר במקום)
- והכי חשוב - כבר יש סט מאמינים!
- רן קרא את התיעוד ו -
- השפה ממש דומה ל - Go (למי שכותב ב - Go זה יראה אותו הדבר) - עם כמה “תיקונים” להחלטות שגויות, לדעתם, של Go.
- נראה מעניין, רחוק מלהיות מוכן אבל בהחלט משחק מעניין, והאתר שלהם כבר כולל כמה דוגמאות יפות - שווה להוריד את ה -Compiler ולשחק.
- פיצ’ר בולט - השפה מקמפלט (Compiling) את עצמה - ועושה את זה בתוך פחות משנייה, לטענתם (can be built in 0.09 - 0.6 seconds)
- בהשוואה של Space required - נראה מרשים - על הנייר (ויחסית לשפה שלא עובדת) זה נראה טוב.
- גם Hot code reloading - נראה ממש מגניב, ועושים Templates כבר מההתחלה (לא מומש עדיין).
- להבדיל - שפה נוספת שפורסמה לאחרונה בשם bell language
- פורסמה ע”י פול גראהם (Paul graham) - אישיות בולטת בעולם הטכנולוגיה, מהמייסדים של Y Combinator ומי כשכתב את האתר HackerNews (שממנו אנחנו שואבים המון מהאינפורמציה כאן).
- והוא גם “Lisper” ידוע - כתב את HackerNews ב Lisp ומתעקש להשאיר אותו ככה - ועכשיו גם כתב ספסיפיקציה ומימוש לשפה חדשה שהוא קורא לה bel.
- וכמובן שכתב גם מסמך שמתאר את על התיאולוגיה ואת האמונה שלו “שככה צריכה להיות שפה”. האיש יודע לכתוב.
- השפה היא מעיין ז’רגון של Lisp ותמצאו הרבה דברים מוכרים (Closures וכו’)
- שונה מאוד מ- V מהאייטם הקודם - זו שפה פונקציונאלית, אולי לא טהורה אבל כן פרקטית, עם הרבה מאוד מחשבה ו”תיאולוגיה” מסביבה.
- הנושא הבא - aquameta
- מדובר ב Web framework שלם שנכתב ב -PostgresSQL (אפשר לקרוא פעמיים)
- רץ מעל ה Database, משמתמש בטבלאות ובשפת ה - SQL המורחבת של PostgresSQL כדי לממש Web framework.
- למה?
- זו שפה קיימת ועובדת, לפחות לפי ה GitHub (במפתיע לא ניסינו בפועל).
- ובכל זאת - למה? “ניסיתי בהתחלה MySQL ולא הלך, אז ניסיתי PostgresSQL”. אוקיי . . .
- מזכיר קצת את Access . . . זה Database, כותבים קוד, זה נשמר בתוך ה - Database ומעל זה Visual Basic . . . אם כי Visual Basic זו שפה אימפרטיבית (Imperative) ולא דקלרטיבית (Declarative) כמו SQL. סיפור דומה בסך הכל.
- תמיד אהבתם מערכות מבוזרות? (כן!), ותמיד נתקלתם בכל מיני מונחים כמו CAP Theorem ו - Harvest ו - Yield ו - Consistency ולא ידעתם מה זה אומר (בסדר - ידעתם ושכחתם)?
- אז הנה בלוג פוסט שמסביר הכל ממש בקצרה (פסקה-שתיים) - Distributed systems vocabulary
- קצת היסטוריה ותיאוריה - נחמד ושימושי
- כולל Conflict resolution, Consistency level וכו’, כמה אלגורתימים במערכות מבוזרות כמו Paxos, RAFT, SWIM, Two-phase commit ועוד.
- לא ארוך וכתוב בצורה מאוד נגישה, מומלץ למי שרוצה להיזכר (אפשר גם כאן למי שבעניין של קורס).
- מאמר שפורסם ב - Slate (חצי טכנולוגי, קצת כמו WIRED), שסוקר את שורות הקוד ששינו את ההסטוריה
- כמה פרויקטים מעניינים לאורך השנים שעשו היסטוריה, למשל - הקוד של Apollo 11 , וגם Facebook (להבדיל) או !Spacewar שנכתב בכלל ב -Assembly.
- נחמד, אם אתם רוצים קצת נוסטלגיה של קוד.
- וכמובן - ה Hello World הראשון! - שפורסם מסתבר ב 1972, ככל הנראה ב - C.
- ועכשיו - Linkerd - מעיין Service mesh או Proxy, מהעולם של istio ו - Consul connect.
- במקור נכתב ב Scala ע”י Twitter, היה ה-Service mesh הראשון (?) וזכה להרבה פופלאריות, אבל מאז הרבה דברים השתנו
- עכשיו כתבו אותו מחדש, ובחזרה למלחמת השפות של Go vs. Rust - מי ניצח ? (רמז: לא Java)
- אז יש באמת הסבר ללמה לא JVM, ובסוף הלכו על גם וגם - כתבו ב - Rust את ה - Data plain (ה - Proxy הקטן שנמצא בכל host), ואת כל ה - Control Plain ב - Go (קצת פחות זריז, אבל קצת יותר קל לכתיבה).
- תיקו?! Linkerd באוויר כבר יותר משנה וזוכה (לטענתם) לפופלאריות רבה.
- מעניין - לפני שנתיים, ה - default היה לבחור משהו על JVM בגלל שהיה יותר נוח עם ה - Ecosystem, והיום מתחילים לברוח מזה כמו מאש.
- עידן Java מאחורינו? כדי להוסיף שמן למדורה, רן האזין בדרך להקלטה לפודקאסט (מוצר נישה כזה) של Go Time עם היוצרים של Kubernetes, ואחת השאלות שנשאלו הייתה על הבחירה ב - Go (כבר לפני כמה שנים).
- מעבר לזה שבתוך Google, זה בכלל כתוב ב ++C
- הם אמרו שכשרצו לעשות גרסת Open Source החוצה, כתבו את הגרסא הראשונה ב - Java, ואמרו - “לא בא לנו את זה יותר” . . . חיפשו משהו יותר רענן וזורם, ובחנו כמה אופציות.
- בזמנו Mesos היה המוביל בתחום והיה כתוב ב - ++C והיה גם Docker שכתוב ב - Go. הם התחליטו שה - Tool Chain של Go יותר בשל (Mature), והשאר היסטוריה.
- יכול להיות שאם בזמנו גם Rust הייתה בתמונה אולי גם זה היה חלק מהעניין, אבל בין Java ל - Go ל - ++C, הבחירה הייתה Go.
- יפה גם שלקחו את הטוב משני העולמות, ולא רק Rust vs. Go - ה - Sweet spot של Rust זה ה Low latency ו -Low footprint, וזה מאוד קריטי בצד של ה - Sidecar, וה - Sweet spot של Go זו הפרודוקטיביות, והיכולת לעבוד בצורה מבוזרת ומקבילית, וזה יותר מתאים ל - Control plain.
- ועדיין באיזור ה - Service Mesh - בלוג-פוסט שסוקר מספר אפשרויות Service Mesh ומשווה ביניהם:
- מתייחס ל Istio, ל - Linkerd 2 ול - Consul connect
- מה היתרונות והחסרונות ומה השיטה של כל אחד עובד - עוזר להבין מי נגד מי ועושה סיכום יפה.
- ונושא שלא קשור ל - Service Mesh - הנורה החכמה של Philips (ה - Philips Hue Lightening) הגיעה ל Shitdex . . .
- כן, גרסת ה Shit ל - Internet of Things - פרצות אבטחה, תקלות מביכות, כאלה.
- “סך הכל נורה”, ועדיין - פוטניציאל ל - DDoS או סתם לכבות לך את האור בבית.
- וכן - DDoS מנורות נשמע כמו קטיגוריה מבטיחה. ויש גם אופציה להחלפת צבעים אז בכלל.
- קטיגוריות הטרלת חברים לעבודה תחזור בהמשך.
- ועוד אחד - Visual Studio Online
- מיקרוסופט הכריזה על גרסת Visual Studio - בתוך הדפדפן (יותר VSCode, ועדיין).
- לא ה Code Editor הראשון בדפדפן, אבל אם זה כולל את כל הפיצ’רים של VSCode אז זו בהחלט קפיצת מדרגה.
- (אלון) לא בטוח - יש את ה - A9 של Amazon, שאמור להיות ברמה מאוד גבוהה
- לא בהכרח כולל את מנגנון ה - Plug-Ins שיש ל - VSCode
- דורש לעשות Login לחשבון Microsoft, ומי זוכר את הסיסמא . . . התגעגתם ל - Skype?
- שווה פרק מיוחד בפני עצמו (אם כבר הטרלות . . .).
אלון -
- עבור מי שיש לו את ה - Touch-bar ב - Mac - אז pock זו אפליקציה שמאפשרת לשלוט ב Touch bar, ולהפוך את הכל ליותר צבעוני ויפה.
- שימושי? לא ברור, אבל ממש נחמד, אפשר לשים שם לינק ל - Spotify וכו’.
- משהו לגבי ה- Mac החדש בגרסת ה - 16’’? הביקורות טובות, כולל אפילו מ DHH שלאחרונה די קטל אותם ואומר דברים טובים על המקלדת ועל ה - Build.
- טובים ויקרים - וענקיים . . . גודל דומה ל 15’’ רק עם אופטימיזציה, רק שגם ה - 15’’ גדול. מתי יוצא 13’’ חדש?
- ראיתם שיצא Github Mobile? אז יצא.
- למה זה טוב? לא ברור מי רוצה לעשות PR ב - Mobile, לא נראה נוח במיוחד, אולי למשהו ממש קטן, אחרת זה די קשוח.
- צריך להכריז על משהו, עדיף על GitHub for Windows, שבטח ירוץ רק ב - Edge או משהו.
- כמה כלים נחמדים לעבודה על Kubernetes -
- ממתי אלון ב - K8s? מאז ההצטרפות ל GCP, ואז K8s עובד טוב . . .
- אז יש את stern, שזה Multiple container log - נוח למי שרוצה לראות לוגים, שמאפשר לעשות Queries ולראות לוגים בטרמינל, נוח ושימושי.
- יש את k9s, עם דשבורד Fancy בתוך הטרמינל (הזכרנו כבר בעבר).
- ויש גם kubectx, שמאפשר לעבור בין סביבות K8s - מאוד נוח למי שעובד עם כמה סביבות, מזכיר קצת את איך ש NVM עובד.
- ועוד אחד - Web Almanac: היישר מה - HTTP Archive, מדובר ב - state of the web report.
- המון תחומים, החל מ JavaScript, CSS, Security, Performance ועוד הרבה - הרבה מידע על מה קרה, התפלגויות, מי מריץ את מה, כמה עולה והרבה סטטיסטיקות מגניבות
- ואחד אחרון - Pull Reminders הוא extension מגניב ל - Slack שמזכיר לכם PR ב Git . . .
- נחמד ושימושי למי שיש PR שהוא שוכח לעבור עליהם (לא אתם כמובן, אנשים אחרים).
- עובד ב - GitHub, נראה ש GitLab בקרוב.
- קורס שעוסק ב Hacking לרשתות ניורונים (Neural Networks)
- כן . . . הקונספט מעיף את הראש.
- מאמר (מדעי) שמסביר את השכל מאחורי העניין - וזה גם קורס. כשמתחילים לקרוא זה לא כזה מטורף אבל לגמרי פותח את הראש.
- לדוגמא - אם יש רשת מאומנת ויש לכם גישה לפרמטרים, אפשר לגרום לרשת לעשות חיזוי לא נכון (נגיד - סורק רשתית שרוצים לגרום לו לפתוח את הדלת), שימוש ב - Overflow או inputs עויינים, בדומה לעולמות אחרים.
- חלק תיאורטי, חלק מעשי - נשמע מאוד פורץ דרך.
- כאן יש Repository שעוסק ב - Internals של שפת Go -
- למי שכבר עובד עם Go ומרגיש שזה הזמן להעמיק - מקום טוב להעמיק בו.
- וקצת למשהו שכולנו איכשהו יודעים פחות - הערכות (Estimations) . . .
- בעקבות שיחה מעניינת של דותן עם VP R&D על איך עושים הערכות (הערכת משך זמן) - והמשיך ברפרנס למאמר המקורי של כהנמן וטברסקי מ-1977 על Intuitive Prediction: Biases & Corrective Procedures
- יכול להיות שנתקלתם בזה דרך דן אריאלי
- בין השאר - נראה שבני אדם (אחרים, לא אנחנו) נוטים שלא להתייחס להיסטוריה, וגם לייחס לעצמם אופי מיוחד: אנחנו מיוחדים והפרויקט מיוחד ופורץ דרך ושונה ולכן ניתן לו הערכת זמנים שונה מכל מה שקרה קודם לכן.
- אמ;לק - זה כנראה לא ממש נכון, והערכות הזמנים קיימות והסיכונים קיימים ואנחנו מתעלמים סתם.
- מאמר קצת קשוח מבחינת הניסוח, אפשר לקרוא פעמיים-שלוש וזה יושב טוב
- אצל דן אריאלי יש דברים דומים בשפה יותר קלה
- מבחינת פורמט נוח - המאמר כלול גם בספר שכהנמן הוציא ב-2005 על רציונליות, הוגנות, אושר, ויש אליו הרבה התייחסויות (הכוונה - כמה פרקים) גם ב - Thinking, Fast and Slow המעולה שלו, וגם לא מזמן בפרק מעולה של Freakonomics על Here’s Why All Your Projects Are Always Late — and What to Do About It
- המחקר מומן ע”י הצבא האמריקאי והנתונים באים מסביבה צבאית, אבל הטקסט נראה מתאים להחלטות בכל תחום, גם תוכנה.
- אוסף של Command Line Tools
- צף לדותן דרך ה Reddit של Rust
- רוב הכלים הם החלפות לכלים (CLI) פופלאריים שקיימים היום, חלקם כבר הזכרנו כאן - exa (בתור ls על סטרואידים) וכו’. מומלץ לעבור ולראות מה אפשר להחליף מהסטנדרט.
- ועוד מהבלוג של Microsoft Security Response Center - עוד מאמר שאומר שהם בגדול מתעסקים עם Rust
- אין משהו Conclusive, בגדול אומר שהם עובדים עם זה - חלק מתאים, חלק לא - ובסופו של דבר עוד סימן לארגון גדול שמסתכל לעומק על Rust.
- ולמשהו אחר לגמרי - דותן עוסק כבר כמה שנים ב-Hackintosh.
- בגדול - לקחת חומרה שאינה של Apple ולהרכיב אותה כך שניתן להריץ עליה macOS.
- התחיל כי Mac זה ממש יקר, והמשיך כאתגר לגרום לתוכנה לרוץ על חומרה שהיא לאו דווקא רוצה להיות בה.
- אז עכשיו KVM (שכבת הוירטואליזציה) נותנת היום פתרונות Virtualization ל macOS שלא נופלת מחומרה.
- תחשבו על VM שרץ בלינוקס, מריץ macOS, ויש משהו כמו 1-2% של (ירידה ב)ביצועים כ”תשלום”.
- זה קצת אומר שאמנות בניית החומרה הזו פחות רלוונטית - אפשר להריץ macOS ו - Windows במקביל, בלי לשלם ב - Performance.
- מגניב למי שרוצה לבנות Mac בבית שהוא סופר-חזק או זול. בלי Touch Bar (תשלחו לאלון, הוא בונה ממלא כאלה iPad. . .).
- לא רוצים לקחת intercom? אז chatwoot
- גם עבור מי שלא רוצה פתרון Chat support חיצוני
- וגם - בנוי ב Rails . . . שכבר הספדנו
- נראה מוצר טוב למי שלא רוצה או יכול להרשות לעצמו פתרון 3rd party
- אלון גילה שיצא Rails 6, אז אולי זה עדיין חי, ואולי במבט לאחור DHH צדק, לפחות לפעמים.
- חולצת “DHH אמר את זה קודם” למאזין הראשון שידפיס כזו.
- ואנחנו כבר לא רלוונטיים . . . Real-Time-Voice-Cloning כאן
- מערכת AI שמחקה קול אנושי - רק שלזו מספיקה דגימה של 5 שניות וזה מסמפל את הקול שלכם. כן, כזה.
- לפחות כשקוראים אין את הבעיה הזו, אבל באודיו אכן לא ברור כבר מי זה מי . . .
- יש תזה, יש דמו בYouTube, יש pip install, יש הכל.
- פתח להמון רעיונות, מדהימים ואיומים כאחד - ועדיין סביר להניח שהשימוש הראשון יהיה הצורך האנושי הבסיסי ביותר (אחרי דמו על Doom כמובן) - להטריל אנשים בעבודה.
- ואחרי נייר כסף על המקלדת
- בהמשך (?) לאייטם שהוזכר קודם - vscode on the browser
- לא קשור ל - Microsoft אבל אפשר להריץ על הדפדפן - ומישהו עשה את זה . . .
- וזה כבר כנראה באמת קשור - הכרזה של Facebook על זה שהם אוהבים את Microsoft - ומעבירים את הבחירה שלהם עבור light-weight code ל vscode.
- בהמשך לאייטמים על GitHub action - כאן מישהו הסתכל על זה ומצא דרך לעשות DDoS . . .
- בתוך הקובץ Config יש תיאור של מאיפה GitHub לוקחים את ה Action, ויש שם Short Hash (גודל של 6-7 characters) - ומי שקצת אוהב את זה זוכר שיש סיבה לזה שה Commit ארוך -על מנת להיות ייחודי . . .
- ברגע שלקחתם את זה, שברתם משהו - על 20K commits בכל Repo, סטטיסטית יהיו שניים אותו הדבר בסבירות לא אפסית בכלל (“פרדוקס היומולדת” — > שובך יונים)
- אמ;לק - הצליח לייצר ככה Collisions, קיבל Bounty יפה מ GitHub ומתקנים.
- הלקח - כל פעם שאתם רואים Short Hash ב - Production, תחשדו . . .
- ובהקשר דומה - רן נתקל בפרדוקס על אותו עיקרון בחלוקת עומסים בין שרתים - המרחב (זכרון במקרה) זה לא מספיק גדול כדי שהתנגשויות יהיו בהסתברות נמוכה מספיק.
- לוקח זמן להבין מאיפה זה מגיע כזה דבר, שווה לזכור.
- ולפעמים באמת יש יומולדת לילד מהגן וצריך לשנות תוכניות. ככה זה.
- ואחרון נחמד SQL Engine שכתוב ב - Go בשם ramsql
- נחמד לצרכי Testing למשל
- היה כזה ב -Java - בטח SQLite
- ב - Go זה אולי עובד יותר חלק
- מעניין, כרגע רק ל Unit test, ואם לא מעניין Performance אז יכול להיות נחמד.
ולחלק האמנותי -
- חזי לפלסיאן! ראוי לפרק בפני עצמו
- דמות של דין לנגסם, שמגלם מתימטקאי ערס וחבריו הנמיות. נפלא.
- דוגמא אחת - n np npm npm install . . . לא הבנתם? הרשמו מהר לחזי לאבס.

- לסיום - מה קורה בדקה אחת באינטרנט?
- 70 אלף שעות של תוכן נצפה ב Netflix, לפחות 3 מיליון וידאו רצים ב Snapchat, בגוגל נשאלות 2.4 מיליון שאלות - ונכתב JS Framework חדש . . .
- רק אחד? חשבנו שיותר. בכל מקרה לא מדע מדויק (לא מדע בכלל).

זה היה אנחנו. נתראה בפעם הבאה . . .
הקובץ נמצא כאן, האזנה נעימה ותודה רבה לעופר פורר על התמלול
אין תגובות:
הוסף רשומת תגובה