POPULARITY
Karina Nguyen leads research at OpenAI, where she's been pivotal in developing groundbreaking products like Canvas, Tasks, and the o1 language model. Before OpenAI, Karina was at Anthropic, where she led post-training and evaluation work for Claude 3 models, created a document upload feature with 100,000 context windows, and contributed to numerous other innovations. With experience as an engineer at the New York Times and as a designer at Dropbox and Square, Karina has a rare firsthand perspective on the cutting edge of AI and large language models. In our conversation, we discuss:• How OpenAI builds product• What people misunderstand about AI model training• Differences between how OpenAI and Anthropic operate• The role of synthetic data in model development• How to build trust between users and AI models• Why she moved from engineering to research• Much more—Brought to you by:• Enterpret—Transform customer feedback into product growth• Vanta—Automate compliance. Simplify security• Loom—The easiest screen recorder you'll ever use—Find the transcript at: https://www.lennysnewsletter.com/p/why-soft-skills-are-the-future-of-work-karina-nguyen—Where to find Karina Nguyen:• X: https://x.com/karinanguyen_• LinkedIn: https://www.linkedin.com/in/karinanguyen28• Website: https://karinanguyen.com/—Where to find Lenny:• Newsletter: https://www.lennysnewsletter.com• X: https://twitter.com/lennysan• LinkedIn: https://www.linkedin.com/in/lennyrachitsky/—In this episode, we cover:(00:00) Introduction to Karina Nguyen(04:42) Challenges in model training(08:21) Synthetic data and its importance(12:38) Creating Canvas(18:33) Day-to-day operations at OpenAI(20:28) Writing evaluations(23:22) Prototyping and product development(26:57) Building Canvas and Tasks(33:34) Understanding the job of a researcher(35:36) The future of AI and its impact on work and education(42:15) Soft skills in the age of AI(47:50) AI's role in creativity and strategy development(53:34) Comparing Anthropic and OpenAI(57:11) Innovations and future visions(01:07:13) The potential of AI agents(01:11:36) Final thoughts and career advice—Referenced:• What's in your stack: The state of tech tools in 2025: https://www.lennysnewsletter.com/p/whats-in-your-stack-the-state-of• Anthropic: https://www.anthropic.com/• OpenAI: https://openai.com/• What is synthetic data—and how can it help you competitively?: https://mitsloan.mit.edu/ideas-made-to-matter/what-synthetic-data-and-how-can-it-help-you-competitively• GPQA: https://datatunnel.io/glossary/gpqa/• Canvas: https://openai.com/index/introducing-canvas/• Barret Zoph on LinkedIn: https://www.linkedin.com/in/barret-zoph-65990543/• Mira Murati on LinkedIn: https://www.linkedin.com/in/mira-murati-4b39a066/• JSON Schema: https://json-schema.org/• Anthropic—100K Context Windows: https://www.anthropic.com/news/100k-context-windows• Claude 3 Haiku: https://www.anthropic.com/news/claude-3-haiku• A.I. Chatbots Defeated Doctors at Diagnosing Illness: https://www.nytimes.com/2024/11/17/health/chatgpt-ai-doctors-diagnosis.html• Cursor: https://www.cursor.com/• How AI will impact product management: https://www.lennysnewsletter.com/p/how-ai-will-impact-product-management• Lee Byron on LinkedIn: https://www.linkedin.com/in/lee-byron/• GraphQL: https://graphql.org/• Claude in Slack: https://www.anthropic.com/claude-in-slack• Sam Altman on X: https://x.com/sama• Jakub Pachocki on LinkedIn: https://www.linkedin.com/in/jakub-pachocki/• Lennybot: https://www.lennybot.com/• ElevenLabs: https://elevenlabs.io/• Westworld on Prime Video: https://www.amazon.com/Westworld-Season-1/dp/B01N05UD06• A conversation with OpenAI's CPO Kevin Weil, Anthropic's CPO Mike Krieger, and Sarah Guo: https://www.youtube.com/watch?v=IxkvVZua28k• Tuple: https://tuple.app/• How Shopify builds a high-intensity culture | Farhan Thawar (VP and Head of Eng): https://www.lennysnewsletter.com/p/how-shopify-builds-a-high-intensity-culture-farhan-thawar—Production and marketing by https://penname.co/. For inquiries about sponsoring the podcast, email podcast@lennyrachitsky.com.—Lenny may be an investor in the companies discussed. Get full access to Lenny's Newsletter at www.lennysnewsletter.com/subscribe
Listen to Software at Scale: https://www.softwareatscale.dev/p/software-at-scale-44-building-graphql?s=rSee also Dear Sir, You Have Built a Compiler
Lee Byron is the co-creator of GraphQL, a senior engineering manager at Robinhood, and the executive director of the GraphQL foundation.Apple Podcasts | Spotify | Google PodcastsWe discuss the GraphQL origin story, early technical decisions at Facebook, the experience of deploying GraphQL today, and the future of the project.Highlights(some tidbits)[01:00] - The origin story of GraphQL.Initially, the Facebook application was an HTML web-view wrapper. It seemed like the right choice at the time, with the iPhone releasing without an app-store, Steve Jobs calling it an “internet device”, and Android phones coming out soon after, with Chrome, a brand-new browser. But the application had horrendous performance, high crash rates, used up a lot of RAM on devices and animations would lock the phone up. Zuckerberg called the bet Facebook’s biggest mistake. The idea was to rebuild the app from scratch using native technologies. A team built up a prototype for the news feed, but they quickly realized that there weren’t any clean APIs to retrieve data in a palatable format for phones - the relevant APIs all returned HTML. But Facebook had a nice ORM-like library in PHP to access data quickly, and there was a parallel effort to speed up the application by using this library. There was another project to declaratively declare data requirements for this ORM for increased performance and a better developer experience.Another factor was that mobile data networks were pretty slow, and having a chatty REST API for the newsfeed would lead to extremely slow round-trip times and tens of seconds to load the newsfeed. So GraphQL started off as a little library that could make declarative calls to the PHP ORM library from external sources and was originally called SuperGraph. Finally, the last piece was to make this language strongly typed, from the lessons of other RPC frameworks like gRPC and Thrift.[16:00] So there weren’t any data-loaders or any such pieces at the time.GraphQL has generally been agnostic to how the data actually gets loaded, and there are plugins to manage things like quick data loading, authorization, etc. Also, Facebook didn’t need data-loading, since its internal ORM managed de-duplication, so it didn’t need to be built until there was sufficient external feedback.[28:00] - GraphQL for public APIs - what to keep in mind. Query costing, and other differences from REST.[42:00] - GraphQL as an open-source project[58:00] - The evolution of the language, new features that Lee is most excited about, like Client-side nullability.Client-side nullability is an interesting proposal - where clients can explicitly state how important retrieving a certain field is, and on the flip side, allow partial failures for fields that aren’t critical. Subscribe at www.softwareatscale.dev
שלום וברוכים הבאים לפרק מספר 411 (!Length Required) של רברס עם פלטפורמה וזהו באמפרס מספר 74.התאריך היום הוא 1 ביוני 2021 - והיום כרגיל [ממתי זה חזר להיות רגיל?] רן, אלון ודותן באולפן הוירטואלי.שלום אלון, שלום דותן - שלום, בוקר טוב . . . נשמע חזק וצלול - אז באמפרס הם סדרה של קצרצרים שבהם אנחנו מספרים על דברים מעניינים שפגשנו ברחבי האינטרנט: בלוגים, GitHub-ים, כלים מעניינים שמצאנו וכו'.רן - האייטם הפותח, שאני אתכבד להציג אותו, מרגש במיוחד - Call For Papers ל-Reversim Summit 2021 [!!!], שכנראה שברגע שאתם שומעים את הפרק הזה הוא כבר פתוח [דמיינו אפקטים של שמחה ומחיאות כפיים . . .]בזמן שאנחנו מקליטים את הפרק הזה אנחנו ממש כמה ימים לפני הפתיחה, ככל הנראה כאשר הפרק יפורסם זה כבר יהיה בתוכו, ה-Call For Papers [אכן]למי שלא מכיר את Reversim Summit - [קום וצא החוצה][יש מלא וידאו]אז זהו אירוע קהילתי, כנס קהילתי שאנחנו עורכים מזה כ . . . מלא זמן, נראה לי איזה 8 שנים, החל מ-2013 למעשה.זה כנס שהלך וגדל עם הקהילה, נכון להיום הוא כבר מציג בפני אלף-ומשהו אישכנס של יומיים, עם מספר טראקים מקביליםאנחנו מתעסקים בכל מיני נושאים של פיתוח תוכנה ומוצר ו-UX וכו', וגם לא מעט דברים שמסביב - קוד פתוח, תרבות פיתוח או דברים בסגנון הזה.אז ה-Call For Papers פתוח לכולם - מוזמנים כולם להגיש.אחרי ההגשה יש כמובן איזשהו תהליך של Review וקבלהנשמח אם תבואו ותגישו פשוט - חפשו Reversim Summit 2021 או שתגיעו לאתר שלנו שבטח יהיה פה ב-Show Notes [כמובן, הנה שוב . . .] - והגישו את הצעותיכם. וזה הכל על האייטם הזה - והשנה גם אלון ידידנו בצוות! כמו בשנים עברו . . .(דותן) הופה!(אלון) החלפתי את דותן . . . אחרי שבשנה שעברה, באשמתו, לא היה כנס פיזית, היה רק וירטואלי [שהיה מעולה!](דותן) לקחתי חל”ת . . . (אלון) אני הבאתי את החיסונים - ולכן יהיה הפעם כנס פיזי!(רן) בגלל זה גם מחליפים אותך . . . טוב, כן - כזכור, הכנס האחרון של 2020 היה וירטואלי והכנס של 2021 הולך להיות בהחלט פיזי, לגמרי פיזי, בגני התערוכה בתל אביב.והאייטם הבא שרציתי לדבר עליו - בפרק הקודם [שגם הוא היה באמפרס] הזכרתי איזשהו קורס, שאמרתי שעשיתי אותו, שנקרא Statistics 110 של אוניברסיטת Harvard [זה Harvard STAT110x], ואמרתי שהוא מאוד מאוד מומלץואז שאלתם אותי - אלון ודותן, אם אתם זוכרים - האם הקורס הוא מצולם או האם הוא כתוב, ואמרתי שהוא בעיקר כתוב, אבל פה ושם יש קטעים מצולמים, בעצם קטעי אנימציה.אז אחרי ששאלתם, גם הלכתי וחיפשתי - ומצאתי את כל הקורס מוצלם . . . ממש הרצאות, של אחד הפרופסורים ב-Harvard [זה - Joe Blitzstein].אז אם אתם מעדיפים את הפורמט המצולם - אז יש את זה, הרצאות מלאות של כל הקורס הזה, ממש ככה - Statistics בסיסי באוניברסיטת Harvard, קורס ברמה מאוד מאוד גבוהה, אני ממליץ.(אלון) זה איזה 30 שעות צפייה, רק אומר . . . 20 וקצת, 24 . . . (רן) כן, קורס . . . משהו כמו 14 שבועות כפול שעתיים כל שבוע . . . כן, זה הגיוניאבל קורס, לדעתי, מאוד טוב - נותן את כל הבסיס להסטטיסטיקה והסתברות.ומעניין לעניין באותו עניין - קורס נוסף, או למעשה אוסף של הרצאות מאוניברסיטת Cornell, שנקרא Cornell Tech CS 5787, בשפה שלהם . . . זהו בעצם אוסף של הרצאות על Introduction ל-Machine Learning מאוניברסיטת Cornellמאוד-מאוד תמציתיות, ממש מכסה חלקים מאוד נרחבים של התחום, ככה שאם מישהו רוצה לראות סדרת וידאו-ים שמכסה חלקים משמעותיים מאוד מתוך התחום של Machine Learning, ברמה של Introductory - זה אחלה.אני ראיתי כמה מהוידאו-ים - לא ראיתי את כולם, אני חייב להגיד: את חלק מהנושאים אני כבר מכיר וגם זה ארוך . . .יש שם הרבה מאוד חומר, אבל לא צריך לראות את הכל - כל פרק מדבר על תחום אחראם זה מתודות שונות כמו Supervised מול Unsupervised ו Monte Carlo Methods או Bayesian Networks וכו'.יש שם הרבה מאוד חומר - תכל'ס זה מכסה תואר שלם, רק שזה עושה את הכל, ככה, ביעף, וככה מאוד בקצרה על כל אחד מהנושאים.נושא הבא, לחלוטין לא קשור, בכלל לא בתחום - הפוליטיקה הגיעה גם לקוד הפתוח! כך מסתבר . . . האייטם הבא מדבר על הודעה פוליטית, שהופיעה יום אחד בפרויקט שנקרא graphiqlכש - graphiql זה איזשהו ממשק של GraphQL, שמפותח תחת אותה הקבוצה שמפתחת את GraphQLובתוך ה-README שלהם הופיע מסר פוליטיזה, אגב, לא המסר הפוליטי הראשון - הראשון היה, יחסית אולי, בקונצנזוס - Black Lives Matters.אבל להודעה הזו התווסף גם Free Palestine, וסביב זה כמובן התעוררה לא מעט שערוריה.אני מקשר פה גם ל-Pull Request המקורי, שלמרבה הצער עבר ככל הנראה Merge בלי Review, כשהיה שם מישהו שכנראה החליט לקדם איזושהי אג'נדה פוליטית ולא התייעץ עם השותפים שלו לפרויקט ופשוט עשה Push לתוך ה-README, של המסר הפוליטי הזהויש גם את ה-Pull Request שבא לתקן את זה, ויש לא מעט רעש מסביב לכל זה.בסופו של דבר, הסיפור הזה נמחק, והייתה איזושהי התנצלות - ההתנצלות היא לא על המסר עצמו אלא על עצם זה שנכנס קוד בלי Review ושם את שאר ה-Maintainers של הפרויקט במקום מאוד לא נוח.וגם ידידינו דותן - ראיתי שהתערבת בשיחה שם? . . . .(דותן) נכון . . .(רן) אני חושב שהמסר החשוב לקחת מפה זה לא לערבב בין הדברים - לא לערבב בין קוד פתוח . . . אם קיבלתם את אור הזרקורים בנושא של . . . לצורך העניין אם כתבתם ספריה מוצלחת - אל תערבבו לשם דברים אחרים שלא קשורים, זה כנראה רק יזיק לפרויקט שלכם.זה יזיק לאמינותזה יכול לפגוע, אולי, באנשים שהדעות שלהם שונות או שהאינטרסים שלהם שוניםאני לא חושב שזה רעיון כל כך מוצלח לערבב בין הדברים האלה.(דותן) בסוף, זה נסגר . . יש בחור בשם Lee Byron, שאני מכיר גם מהקהילה די הרבה זמן, והוא מסכם את זה בזה שהם . . . איזושהי Committee-על של כל מה שקשור ל-GraphQL, והם ישבו על זה וחשבו על זהוכנראה שאין להם איזשהו Guideline של מה עושים בנושאים פוליטיים ב-Code of Conduct, והם עכשיו יושבים לרשום . . . .זה פחות או יותר מה שכתבתי - שראיתי שאין בכלל Code of Conduct ב-Repo הזה, ושזה נראה לי גם כמו Take-away שאפשר לקחת - כל אחד שפותח פרויקט יכול לקחת איזשהו Code of Conduct סטנדרטי, כמו שלוקחים License, לשתול אותו בפרויקט שלכם, וגם להאמין בזה, לקרוא אותו . . .בסך הכל, המטרה היא להישאר כמה שיותר נייטראליים וכמה שיותר על תוכנה, ולא לערבב שטויות מבחוץ, מה שנקרא.(רן) כן . . . זאת אומרת, אני מסכים לגמרי - בסופו של דבר, אני חושב שזה הוציא . . . יצא לא מעט כעס סביב הפרויקט, אולי זלזול, לא יודע מה עודגם חשף תהליך שהוא לא כל כך בריא, וגם יצר לא מעט רגשות שליליים סביב הפרויקט הזה.אני חושב שבשורה התחתונה זה מאוד הזיק לפרויקט, והם כנראה מצטערים שככה זה היה.זהו, בקיצור, אל תנהגו ותשתו . . .(אלון) אל תנהגו ותשתו, אבל אני לא יודע אם זה הזיק - כי מי זוכר מה זה GraphQL עד שהיה את כל הבלגן הזה? . . . לא יודע מה יותר מפתיע, כמו שמישהו אמר - אם GraphQL עוד חי או שנכנס מסר פוליטי ל-README שלGraphQL . . .(רן) כן, הא? . . . .בכל אופן - כמו שאתה אומר: No Publicity is bad publicity?[ד”ש למיק]אבל איך שלא יהיה - כן: פרוייקטים, בעיקר פרויקטים גדולים, צריכים שהדברים יהיו כתובים, אחרת כל אחד יעשה כראות עיניו.נושא הבא, וגם זו שערוריה קטנה - היום אני בנושאי סקנדלים . . . אז חברת למונייד (Lemonade), שהיא חברה ישראלית שעוסקת בביטוח ומערבת לא מעט טכנולוגיה וגם AI, כתבה (או מישהו מטעם החברה כתב) איזשהו Thread ב-Twitter, תחת החשבון הרשמי של Lemonade, וכתב, בין השאר, שהחברה מסוגלת, כשאחד מהמשתמשים מייצר Claim (תביעה)- עושים את זה בוידאו, המשתמש מקליט את עצמו ומייצר Claim, נגיד תביעה על, לא יודע . .. “הדירה שלי הוצפה במים ועכשיו אני תובע את חברת הביטוח”אז ברגע שאחד המשתמשים מייצר Claim בוידאו, הם משתמשים ב-AI ומסתכלים על הבעות הפנים שלו כדי להבין האם הוא משקר או לא . . .[כזה - For example, when a user files a claim, they record a video on their phone and explain what happened. Our AI carefully analyzes these videos for signs of fraud. It can pick up non-verbal cues that traditional insurers can't, since they don't use a digital claims process.]זה, כמובן, יצר לא מעט סערה סביב הסיפור הזה . . . לא מעט אנשים שבאים ואוספים Miss-use של AI באו וקפצו מיד על המציאה ואמרו “או! הנה דוגמא למה AI . . . יש פה שימוש מאוד לא נכון, שיכול מאוד לחטוא למציאות או לאמת”.למונייד - מיד' אני חייב להגיד - התנצלו ואמרו שהדברים לא הובנו והסירו את ה-Thread הזה - אז כבר אי אפשר למצוא את זה על Twitterאבל כן אפשר למצוא את זה על איזשהו Archive - אז אם אתם רוצים לראות את ה-Thread המקורי אז אפשר למצוא את זה שם, אבל למונייד מחקו את ה-Twit הזה, ובעצם את כל ה-Thread וזה שוב מעלה את השאלות הערכיות בנוגע לשימוש ב-AI - של אילו דברים נכון לא נכון לעשות.בהקשר הזה, היו כאלה שהגיבו גם על ראיונות עבודה בודיאו, ואיזשהו ניסיון של אלגוריתם לבוא ולהחליט האם הבנאדם שמולך מתאים לעבודה או לא מתאים לעבודה, או לחילופין סינון קורות חיים על פי אלגוריתמים, שאולי [אולי?] הם Biasedכל התחום הזה של מוסר ב-AI זה תחום שהולך ומתפתח - אני הסתכלתי במקרה על תוכניות לימוד, וראיתי שלא מעט אוניברסיטאות מכניסות את הסיפור הזה לתוך תוכנית הלימודים ממשאם נגיד תעשו תואר שני עם התמחות ב-Data Science או ב-AI, חלק מהקורסים שתקחו הם גם איך לעשות AI שהוא מוסרי, איך מודדים את זה ואיך עושים את זה.(דותן) רן, אני חייב לעצור אותך ולצטט חבר משותף שלנו, שתמיד אמר בתחום הזה במיוחד, של AI ו-Hiring, ש”אין דבר כזה AI לא מוסרי - יש דבר כזה בני-אדם לא מוסריים” . . . . כי בני אדם בונים את ה-AI, וה-AI בסך הכל לוקח דאטה ועושה מה שאומרים לו.כאילו, נולד מושג או עולם כזה של “מכונות לא מוסריות” . . . (רן) כן, זה נכון . . .דרך אגב, כשהסתכלו, אני חושב כש-Amazon פרסמו שהם משתמשים באיזשהו אלגוריתם לסינון קו”ח וגילו שיש להם Bias לטובת, אם אני זוכר נכון, גברים לבנים, אבל אל תתפסו אותי במילה[אתה גבר לבן, זה כנראה באלגוריתם לא לתפוס אותך במילה]אז הם באו ואמרו להגנתם ש”זה הדאטה שלנו” . . . “האלגוריתם התאמן על הדאטה שהיה לנו וזה מה שהיה אז זה מה שהוא למד” - אז האלגוריתם לא אשם.אבל - התוצאה הסופית היא עדיין עקומה, אוקיי? האם אנחנו פה כדי להנציח את האתמול, או שאנחנו באים כדי לבוא ולקבוע קווים מוסריים אחרים שאנחנו מאמינים בהם? במקרה הזה, נראה שהתגובה של Amazon הייתה, כנראה, עובדתית נכונה - אבל כנראה שאח”כ, בראייה לאחור, מוסרית היא לא הייתה נכונהזאת אומרת - הם לא היו צריכים לעשות את זה ככה.עכשיו, זה נעשה ככל הנראה בתום לב ושלא במתכוון, אבל בסופו של דבר התוצאה היא עדיין אומללה.(אלון) אני חושב שהתוצאה דווקא לא אומללה בגלל שלהיפך - זה חושף את זה . . . אנשים הם גם Biasedזה מגניב להגיד “אנחנו לא Biased”, קל לי להבין - אבל לכל אחד יש את ה-Bias שלו, מה לעשות, אנחנו בני אדם.ולהיפך - ככה, כשזה באלגוריתם וככה כשזו מכונה, ואפשר להבין את ה-Bias ולתקן אותה ואפשר ללמוד שזה אנשים“אז קמתי במצב רוח לא טוב אז אני אעיף את ההוא מהראיון סתם ככה כי בא לי” או כי “הוא לא נראה לי כי הדיבור שלו לא מתאים לי” - אז הרבה יותר קשה לעשות לזה אחרי זה “רטרו” ולהבין מה קרה, וכשזה אלגוריתם אז הרבה יותר קל.אני חושב שכל אלה שצועקים, אז שיבואו ויגידו איך הם מפקחים על זה ואיך, כאילו, מוציאים מזה את התובנות, ולא לעצור את זה, כי אני חושב שזה ממש ממש חיובי כל הכיוון הזה, כי זה הופך את העולם להרבה יותר שקוף ויותר הוגן בסוףהתהליך הוא קשה.(דותן) אני חושב שאתה צודק, וכדי לחזק את מה שאתה אומר - אני חושב ש-Hiring הוא משהו שמאוד קל להבין אותו כי כנראה כולנו, וגם המאזינים, עושים את זה על בסיס אולי יום-יומי.אני רוצה לומר ש-Bias הוא מולטי-שכבתי - זה לא אתה מול המועמד וזהונגיד שאתה מנסה לייצר לעצמך קריטריונים . . . בוא ניקח רגע משהו שהוא מאוד פופלארי או לא פופולרי בשוק הישראלי, שאלו יחידות המודיעין - כל ה-8200[$] וכן הלאהצריך להבין שהצבא, אני חושב, לא יודע אם זה עדיין ככה, אבל הוא Biased by Design . . . כל הנושא של קב”א ופרופיל וכל הדברים האלה . . .בעצם, אם אתה עוקב אחרי הקב”א והפרופיל, אז קב”א מסויים יגיע ליחידה מסויימת - ואתה מגלה שכשאתה מחפש את ה”8200” או כל מספר אחר, אז בעצם ה-Bias הוא גם דמוגרפי . . . כי הצבא עשה את ה-Bias ואתה בעצם מקבל את ה-Bias כבר “Built-in” - לא משנה מה אתה מנסה לעשות, אתה במשחק אבוד.זה גם משהו ששווה להבין - שה-Bias הוא לא רק פרונטלי מולך, אלא הוא נעשה גם הרבה הרבה לפניך, וצריך להיזהר מזה.(רן) קודם כל, אני חושב שיש משהו במה שאתה אומר, אלון, אבל בוא תרשה לי להציג גם את הנקודה הנגדית, פשוט לשם הדיון:נכון, לכל אחד יש Bias, וכשאני מראיין בנאדם - יש Bias: בין אם הוא נראה דומה לי, אני מכיר אותו מהשכונה, היה באותה יחידה בצבא שלי, למד באותו מוסד אקדמאי, עבדנו באותה חברה . . . קיים Bias, לחלוטין מסכים.זה גם יכול להיות מראה חיצוני ועוד מלא דברים . . . ה-Bias הזה קיים.ו-Yet - כשה-Bias הזה מקודד לתוך מכונה, מי לוקח על זה את האחריות - מי שיצר את האלגוריתם? מי שהפיק את הדאטה? מי שמשתמש? זו שאלה ראשונה . . .(2) - כשקיים Bias אצלי, אבל מרואיין, לצורך העניין, אם נסתכל על ראיונות עבודה, אם הוא עובר חמישה אנשים שונים - אז אצל כל אחד קיים אולי Bias קצת שונה, אבל בסופו של דבר אנחנו נגיע - כנראה, בתקווה - לאיזשהו ממוצע, למרות שאנחנו יודעים שגם . . . כל תהליך הקבלה לעבודה הוא מאוד מאוד “רועש”, יש שם הרבה מקריות ודברים לא מאוד סיסטמטייםאבל בכל אופן, עצם זה שהוא עובר דרך חמישה אנשים, כשלכל אחד יש Bias קצת שונה, אז בכל זאת יש סיכוי שבסופו של דבר נקבל משהו שהוא קצת יותר אובייקטיבי - בזמן שכשיש מכונה, אז תיאורטית נכון, הדברים יכולים להיות יותר שקופים ואני מסכים איתך שזה לגמרי יתרון, אבל ה-Bias הוא חד-ערכי: קשה מאוד לאזן אותו.בכל אופן - כן, אני מסכים איתך . . . זה דומה לשאלות שעולות בתכנון של מכוניות אוטונומיות, למשל - אתה יודע, הדילמה הרגילה של “האם תסטה ימינה ותדרוס את האישה עם העגלה או תסטה שמאלה ותדרוס את האישה המבוגרת?” . . . אז אם זה בנאדם, שבסופו של דבר, ברגע האמת, צריך לקבל החלטה בין גרוע לגרוע-מאוד, כנראה שאף אחד לא ילך ויאשים אותו - אין מה לעשות, הוא היה במצוקה וקיבל את ההחלטה הכי טובה באותו רגע ואין מה לעשותאבל אם זה אלגוריתם, אז כן - יעשו לו Scrutinizing וינסו לשפר אותו, ומישהו כנראה יצטרך לתת את הדין על זה - וזה לא הנהג, במקרה הזה.ופה אני חושב שמתחילה הבעיה, או האתגר.[ד”ש לוויל סמית'](אלון) נכון, מישהו צריך לתת את הדין - אבל כל העניין הוא שאפשר לתת את הדין וכל העניין הוא שאפשר להשתפר - ואני חושב שזה חיובי, ואני פשוט נגד אלה שמנסים לעצור את קדמה, בוא נגיד את זה ככה.(רן) כן, טוב, אני חושב שזה לגמרי נושא לפאנל ארוך, אבל יאללה, בואו נמשיך - אלון, האייטם הבא שלך.[שמעתי שיש כנס בול לפאנלים כאלה, אפשר להגיש הצעות][ותמיד טוב לחזור ל-Thinking: Fast and Slow]אלון - טוב, אז Uber Engineering הוציאו איזה מאמר של pprof++, שזה Go Profiler with Hardware Performance Monitoringאז הם הוציאו פה מאמר די רציני על למה הם שיפרו את ה-Profiler של Goהם נכנסים פה לתאוריות מעניינות של Sampling Frequency ושל Sampling Bias והמון-המון דברים שבעייתיים כשעושים Profiling, יש פה . . . זה מאמר מאוד עמוק ומעמיק.מה שכן, בסוף יצא שהם ממש הוציאו Profiler חדש, אבל כמו שראיתי הם ממש עשו Fork לכל ה-Go כי זה Built-in בפנים שם - זה לא שהם הוציאו איזו ספרייה קטנטונת שכל אחד יכול לקחת אותה.זה תחת ממש uber-research/go, והם לקחו את Go 1.15 - 1.16 - וממש עשו לו Fork ושם שינו את ה-Profiler עם ה-Acceleration ללינוקס, Hardware Acceleration.אבל חוץ מזה שהם עשו את זה, הם גם פתחו ל-Community הצעה להכניס את השינויים האלה.עכשיו - זה לא שהייתי אומר להחליף את ה-Library של Go ב-Library שלהם, אבל קודם כל יכול להיות שאם למישהו יש מקרה מאוד ספציפי ומעניין של Performance ותקוע אז אולי זה יכול להיות מעניין, אופציה כזאת.מה שכן - זה מאמר מאוד מעניין, מבחינת בכלל תיאוריה של איך עושים Monitoring ודברים כאלה - אז מי שמעניינים אותו הדבר האלה, אני חושב שזה שווה.(רן) השתמשת בו, אלון?(אלון) לא, לא השתמשתי בו, צריך להחליף את ה-Framework . . . (רן) צריך לקמפל (Compile) מחדש, עם כל מיני Bindings כמו שהם כותבים . . . לא יודע, לא נראה יותר מדי מסובך, אבל מה שכן - הממשק עצמו הוא אותו הדבר, הממשק Pprof נראה כמו הממשק של pprof++, אם זה ה-HTML או ה-API שלו, ככה שנראה שחוץ מהקומפילציה זה ממש “להחליף וזהו”.(אלון) נכון, וחוץ מזה הם אפילו פתחו פה עוד כמה דברים, נתנו עוד כמה גישות לעוד כמה דברים שלא היו לפני זהיש פה עוד כמה שיפורים נחמדים . . . זה לא כזה טירוףצריך לקמפל (Compile) את ה-Binaries אבל שוב - זה התעסקות, זה Hassle, זה לא להיות על ה-Main Branch, אבל . . . (דותן) אני חייב להגיד שני דברים - (1) אני רוצה לקחת את העמדה של “מגדל השן”, ולהגיד שזה כיף כזה - להסתכל על מלא עבודה של מלא אנשים ואז אתה אומר משהו מאוד פשוט ודוקר את זה . . . - אז אני רואה שהדבר הזה בא בעיקר לטפל בצורך להבין CPU Cache Misses ו-Traffic בתוך ה-Socket-ים של ה-CPU ו-CPU Miss-prediction - המון דברים שהם Low-level [ד”ש ממערכות ספרתיות]- ואז, כאילו, יכול להיות שצריך, ב-Case של “לאפטם” (Optimize), אולי צריך להחליף שפה . . . (2) דבר שני - יש פה משהו שמתכתב עם הגישה של . . . עלתה לי השאלה של “איפה הצוות של Go בסיפור הזה?” . . . כל כך הרבה עבודה נעשית מחוץ לספירה (Sphere), ואני קורא פה דברים שמאוד מעניין שיהיו בפנים - איפה הצוות של Go?ואז אני נזכר בגישה של Go - “נתנו לכם משהו וזה מה יש - כשצריך דברים אז תעשו עבודה, נשמח לקבל את הנסיון שלכם ואת ה-Scale שלכם ובואו תכניסו את זה בחזרה” . . .(רן) יש לי תחושה, דותן, שאתה לא מפסיד הזדמנות לעקוץ את Go, ולרמוז לכיוונים אחרים . . .(דותן) למה? בכלל לא . . . (אלון) הוא לא - אבל בכל פעם שאומרים לו שהוא נוטש את Go הוא אומר “אני?! לא שמעתי שום דבר כזה בחיים! . . .”(דותן) החוכמה היא לאכול את העוגה משני הצדדים . . . (אלון) כן . . . מה שכן - אמרת פה משהו שאני קצת חולק עליו: יש פה עניין באמת של CPU ושל דברים שהם מאוד Internal כדי להבין, אבל אתה לא רץ ומחליף שפה ואז בודק אם זה פותר לך את הבעיה - קודם תבדוק האם שם הבעיה, ואז תחליט האם להחליף שפה . . .אני חושב שהכיוון הוא לבדוק את זה קודם כל ב-Go, ואז אולי תקבל החלטה להחליף ל-Rust ואז תמחא להם כפיים, שזה סבבה - אבל לא הייתי כותב קוד קודם כל ב-Rust ואז אומר “זה לא שיפר לנו כלום”, יכול להיות שהבעיה בכלל במקום אחר . . .(דותן) זה מבוסס הנחות שלי . . . אני מניח שלפני שהם יצאו למסע הזה - ונראה שזה מסע, יש פה כל מיני ציטוטים למאמרים אקדמאיים כאלה ואחרים - נראה לי שלפני שהם יצאו למסע, הם הבינו שיש להם בעיה גדולהלא יודע, הייתי שמח אם היה פה איזשהו Experiment בשפה אחרת, כדי לעשות השוואה איך זה בשפות אחרות.(רן) טוב, בכל אופן - אולי הם עשו מאמץ משמעותי, אבל עכשיו מי שרוצה להשתמש בזה . . . מי שכבר משתמש ב-Go ורוצה Profiler יותר טוב, לפחות לפי הכתוב, יכול פשוט להשתמש ב-Profiler הזה, פלוס/מינוס לקמפל יחד עם ה-Binary שלהם.אז אולי להם זו עבודה קשה - אבל לקהילת ה-Go זה כנראה רווח טוב.(דותן) זה לגמרי, נכון(רן) טוב, אז נקסט . . .(אלון) יש פה איזשהו מאמר, שהוא ממש ממש Hardcore, על מישהו שמדבר על Extreme HTTP Performance Tuning: איך הוא הגיע ל-1.2M API req/s על 4 vCPU EC2 Instance . . .הוא מתחיל פה את המסע שהוא התחיל מ-224 אלף Requests עד ל-12 מיליון Request-ים, וזה מאמר של משחקים קשוחים עם קונפיגורציות של הלינוקס ושל כל המערכת שהוא השתמש פה.והוא מסביר, Step by step ממש, איך הוא עלה מ-200 אלף ל-300 ול-400 ול-500 ו-600 ו-800 ו-1.2 מיליון בסוף - ממש בכל פעם Tune קטן ועוד Tune קטןאבל זה ממש היה Hardcore system, כאילו, המאמר הזה . . .(רן) כתוב ב-C, אני מבין? מה הוא כתב? . . .(אלון) קונפיגורציות של המערכת הפעלה, כאילו, מה שהוא מדבר פה . . .(רן) אבל מה ה . . .(אלון) ה-Service עצמו שלו? זה ב-C, למיטב זכרוני . . . זה json סטטי בכלל שהוא נותן פה בדוגמא, זה לא משנה . . .(רן) לא, חשבתי שהוא מדבר . . רגע, הוא מדבר על Server, לא? לא על . . . (אלון) הוא מדבר על Server, שמגיש פה, בדוגמא שלו, json סטטי, אבל הוא מדבר פה על המשחקים של ההגדרות של המכונה, בסוף, כדי להגיע ל-1.2 מיליון בקשות בשנייה.(רן) כן, אוקיי . . . (אלון) . . . זה לא “משחקי קוד”, זה משחקי . . . תשתית, בוא נגיד את זה ככה.(רן) כן, הבנתי - בסופו של דבר הוא השתמש ב-NGINX כדי להריץ את זה, הבנתי . . . הוא בדק כמה - בדק את NGINX ו-Netty ו-libreactor ו-Actix ו-AspCore, ומשהו ב-Go ומשהו ב-Node.jsבסופו של דבר הלך על NGINX, אוקיי . . .(אלון) לא על ה-libreactor? בסוף הוא עבר אליו, בשלב האחרון, אם אני לא טועה? . . . נראה לי הוא החליף עוד אחד באמצע, באמצע הוא עבר ל-NGINX ובסוף ל-libreactor, כדי להגיע ליותר - אבל זה ממש למי שרוצה להוציא את המיץ מהדבריםאבל זה כבר מאמר Hardware . . . לא Hardware אבל מערכות הפעלה, בוא נגיד את זה ככה. אם מישהו מוצא משהו מעניין שם אז שילמד אותי . . . חומר קשוח, בוא נגיד את זה ככה.טוב, בוא נעבור למשהו . . . היינו ב-Hardcore, בואו נעבור לדברים קלילים יותר - למי שעובד ב-Go, ודותן - אני אבקש שתשמור על שקט בחצי דקה הקרובה - אז אחת הבעיות היא שיש לך איזה API שמחזיר json, ואתה רוצה אותו ב-Struct-ים ב-Go, ואחד הדברים הנוראיים זה לך תכתוב עכשיו Struct ב-Go, לפעמים זה יכול להיות סיוט, כי זה נורא מעצבן . . .אז מישהו עשה פה איזה Web-page חמוד, שאתה פשוט עושה Paste ל-json שלך והוא מייצר את ה-Struct ב-Go . . .קליל, חמוד ופשוט - ודותן, אני רואה את החיוך שלך.(דותן) אני אעשה לך up - 1 . . . אז אל תשתמשו בזה - תשתמשו ב-quicktype.io: זה גם web-page, זה גם לכל שפה, כולל Go ו-Rust ושפות אחרותוזה גם Command-line, אם אתם רוצים לעשות את זה בצורה אוטומטיתאתה נותן לו דוגמא של json והוא זורק עליך “Struct של Go”, נקרא לזה.(רן) אז אני משחק עכשיו עם quicktype, וזה נראה באמת נחמד, לא הכרתי את זה - ואני רוצה לראות באיזו שפה זה יוצא הכי ארוך . . .זאת אומרת - יש לי איזשהו בלוק קטן של json, ואני מחליף בין השפות ובודק מה יוצא הכי ארוך . . . בינתיים נראה לי ש-Objective C, אבל עוד לא עברתי על הכל . . .בקיצור - אחלה תחביב להעביר את הזמן . . .(דותן) אתה יכול לעשות כמו ה-Google Translate - לתרגם את זה ל-Go ומ-Go ל-Rust ומשם ל-JavaScript וכן הלאה . . . (רן) TypeScript יוצא נורא ארוך . . . למה TypeScript יוצא כל כך ארוך? הם עושים כאילו type-ים לכל ה-json? . . . (אלון) נו, מה - הם ילדים? אחרת מה עשינו פה? . . . ה-Type-ים האלה . . . איזו בעיה זה כל השפות Typing האלה . . .טוב - עכשיו תקשיבו: ממי שהביא לכם בפרק הקודם את github1s - אותו אחד מביא לכם בשורה אחרת - Dom Events(רן) אתה כבר לא יכול לחזור . . . רגע, רגע רגע . . . (אלון) האמת נכון - הבטחתי שזה הפרק האחרון, אבל היה חידוש חוזה, היה מו”מ, ובעקבות לחץ ובאמת דרישות והפגנות מול הבית, חזרתי לעוד פרק!אז עכשיו הגיע domevents.dev - והדבר הזה ממש חמוד: הוא ממש מראה, ויזואלית, מה קורה ב-Dome כשלוחצים על כפתוראיפה הדברים רצים ואיפה ה-Event עושה Bubbling ודברים משעשעים ויפים קוריםאז קודם כל - לכל מי שמתחיל לפתח JavaScript, בוא נגיד . . . או Web בכלל, For Beginners זה Must[בר-זיק!]וגם כ-Advanced זה ממש חמוד ויפה לראות את זה.אז ממש שמח שנהניתם מעוד אייטם מוצלח מבית היוצר של אלון . . . אז זהו, מרגש אותי.(רן) תודה, אלון . . . (אלון) אני מתרגש שיש לי להביא לכם כאלה דברים, אני פשוט מתרגש . . . (רן) אנחנו מתרגשים איתך . . .(אלון) ועכשיו שוב, אחרי השיא אני שוב מעביר אליך [דותן] . . . מקווה שתתמודד . . . זה המצב(דותן) טוב . . . בסדר, בפעם הבאה אני אשים לב לדברים האלה.(אלון) אין בעיהדותן - טוב, אז האייטם הראשון שלי זו ספרייה, כלי שנקרא autocomplete - אני ככה גירדתי בראש וניסיתי להבין מה זה . . .לא ממש הבנתי - אבל אח”כ הבנתי.זה כזה סוג של טריק-חלונאות (Windowing?) מעל הטרמינל שלכם, וזה נותן לכם להקליד בטרמינל ולקבל Auto-Complete ב-Drop-down . . .ה-Drop-down הוא חלון Native-י כביכול של מערכת ההפעלה - שזה טוויסט נחמד למי שעובד עם טרמינלים, רוב הטרמינלים בעצם, שאין להם חוויית משתמש כזאת.אין פה מה . . לא מפסידים הרבה - אם מישהו מתחבר ל-Experience הזה אז מגניב, ואם לא אז לא . . .(אלון) רגע - זה עובד גם עם האייטם, כאילו? עם ה-Item-2? . . .(דותן) כן(אלון) אז מה אנחנו עושים פה? אנחנו יכולים להפסיק ולהתחיל לשחק עם זה . . . (רן) נשמע לי, דותן, שיש עוד כמה תוכניות, לפחות על ה-Mac, שמשתמשות בטכניקה דומה - למשל, אם תשים לב, ב-Zoom, כשאתה פותח את ה-Settings, אז אם אתה לא סוגר אותו ועובר לחלון אחר, אז החלון של ה-Settings נשאר פתוח, וצף מעל כל האפליקציות האחרות . . .(אלון) באמת?(רן) כן . . . וראיתי אתמול עם DBeaver, שזה איזושהי תוכנית שמבוססת על Eclipse [לא זה], איזשהו Database Client שמבוסס על Eclipse - וגם שם, אם אתה עושה Auto-Complete, אם אתה לא סוגר את ה-Auto-Complete ועובר לחלון אחר, זה עדייןצף לך מעל הכל . . .(אלון) נכון! שם זה תמיד מעצבן . . . אגב, למי שאין לו DBeaver ועובד עם Databases, אז מומלץ בחום . . .(דותן) מגניב . . .(רן) הטכניקה הזאת, של לייצר חלון נוסף בתור Auto-Complete, היא קיימת - אבל עוד לא ראיתי תוכנית אחת שאין לה באגים בתחום הזה . . .(דותן) כן, היא קשה . . . (אלון) רגע - אפשר להתקין את זה? רגע, את ה-Fig הזה? כי זה “Early Access” . . . מה זה Early Access?! תן לי את ה-Install, מה זה? תפנק אותנו! מה קורה פה? . . . אתה מוכר לי חתול בשק?(דותן) אני אשלח מכתב למערכת של Fig . . . (אלון) מה זה - אתה נותן אייטם סגור?! חבר'ה . . . עכשיו תיקח מכל מאזין Donation?! מה קורה פה?(דותן) עלית עלי . . . (אלון) טוב, בסדר . . . (דותן) אייטם הבא - זה גם אייטם שצריך לשלם בשביל לראות מה זה: מכירים סט כלים שנקרא Rome - רומא? יצא לכם לשמוע על התנועה הזאת? תנועה יציבה אבל מאסיבית? . . .(רן) יצא לי לשמוע, אבל האמת שאני לא זוכר . . . (דותן) אז Rome זה “התחליף של כל הדברים” ב-JavaScript ו-TypeScriptזה כלי למי שצריך לעשות Linting או Bundling או קומפילציה, Formatting של Style והכל ביחד . . . עם Zero Configuration ו-Zero Dependenciesאז Rome מגיעה ככה לעוד Milestone - ויש עכשיו Release חדש ונראה לי שאפשר להתחיל לנסות את זהאני, דרך אגב, אחת הסיבות שעברתי ל-TypeScript יחסית מזמן כבר זה בגלל ה-Tooling - האמנתי שה-Tooling עדיף לי, ושהוא יתקדם יחד איתו - ובאמת זה קרה.כש-Rome עדיין יכול להיות שימושי בלהחליף את כל הדברים שאני מביא יחד איתי, שזה לקנפג (Configure) את Jest ולקנפג את Prettier ו-Linting וכל הבאלגן הזהכלי אחד שעושה הכל - מדהים(רן) אני מנחש שהרעיון מאחורי ה- Zero Configuration זה שמשתמשים רק בקונבנציות ידועות מראש ולכן לא צריך לקנפגואם אתה רוצה לעבוד אחרת אז “לא בבית ספרינו” . . . (דותן) כן - וגם קצת להיות חכם, ואם יש React בפרויקט, אז אתה יכול להביא איזה שתי ספריות של Linting ל-JS6, למשל.אבל אם אין React אז לא צריך.(רן) אוקיי . . .(דותן) ועוד פרויקט מעניין שנקרא rustdesk - זה בעצם RDP Client, Remote Desktop, שבנוי ב-Rustיש כאן גם איזשהו שיעור אקדמי מאוד מעניין, שאותי לפחות זה מאוד סיקרןוגם Client, שאפשר להשתמש אם אתם עובדים עם RDPהאמת שהאייטם הבא הוא לא האייטם הכי שימושי, זה נקרא The Rust Performance Bookהסיבה שהוא לא שימושי היא שלא צריך לעבוד על Performance ב-Rust, אתה מקבל את זה כבר מחוץ לקופסא . . .(אלון) בום! וואו . . . איפה התופים?! תוסיף את האפקט פה . . .[אתה מדבר אלי? אוקיי - אה, מצאתי חצוצרה ♬. . . ](רן) אז זה בעצם ספר ריק? ספר ריק עם דפים לבנים, משקולת? . . . (דותן) . . . אבל אם בא לכם סתם לראות, ויש לכם זמן מיותר לראות מה היה קורה אילו הייתם צריכים לשפר Performance ב-Rust, אז יש ספר שנכתב לצורך הדבר.אגב, הספר הוא מאוד קטן - כי אין הרבה מה לשפר בשפה . . .(רן) Rust הוא כל כך מהיר, שגם אם לולאה היא אינסופית - שם היא נגמרת.(דותן) נכון, ככה מתחיל הספר . . .[ד”ש לצ'אק נוריס](אלון) אתה יודע, הבעיה ב-Rust היא שאף אחד לא הוכיח שזה לא מהיר כי הם עדיין מקמפלים (Compiling) . . .(דותן) זה גם נכון . . .ולאייטם הבא - האמת שנוצרה איזו שהיא בעיה, אני לא יודע אם שמתם לב: Google הכריזו שהם סוגרים את “החינמי לאחסון תמונות” [ב-Google Photos], ומה שקרה זה שיש כמה פרויקטים של “סנכרן בעצמך”, אם יש לך NAS בבית וכל מיני דברים כאלה, שהיו תמיד שם אבל פתאום “קפצו לתודעה”.אחד מהפרויקטים שאני זוכר לטובה נקרא syncthing - “סנכרן-דבר” בעברית . . .זה פרויקט שתומך בסנכרון - לכל דבר, מכל מקום, בעצם סנכרן-דבר . . .(אלון) אהבתי את זה שעשית לזה כבר עברות . . . (דותן) אני חושב שאחד מהדברים שאנחנו צריכים לעשות זה לעברת את האייטמים . . .(רן) יש לנו AI שמעברת . . .[אותו אחד שעברת שמות של שירים ב-90s?!](דותן) לגמרי . . .זהו, אז אפרופו עברית וישראלי, אז יש פה פרויקט מעניין שנקרא openpilot, שנוצר ע”י comma.ai, איזשהו ארגון / תנועהזה בעצם, איך שקראתי את זה וככה, הסתקרנתי - חס וחלילה לא נסיתי להשתמש בזה על האוטו שלי - אבל זה היה לי מרגיש טיפה לראות איך עובד MobilEye, נגיד . . .זה פרויקט Open Source שהמטרה שלו זה אלגוריתמיקה וטכנולוגיה - כמו לקחת נתיבים ולשמור על רכב בנתיב ולעשות איזשהו Cruise Control חכםאז למי שזה מעניין ומסקרן, או אולי שימושי - שווה להסתכל.אייטם הבא שגם היה לי מאוד מסקרן לקרוא ולראות - זה נקרא livego, שזה live video streaming server in Go(אלון) מה?! Live-Rust אמרת?(דותן) לא, Go . . . השפה Go . . . אז למי שרוצה לדעת ולראות וללמוד איך עושים Video Streaming ב-Go, אז מוזמן.ועכשיו שני אייטמים של חפירה, שאני חייב להתנצל מראש כי הם כבדים מאוד . . . אבלא' - אני שמח להעמיס עליכם מעמסה פסיכולוגית, שתחלקו את זה איתיו-ב' - יכול להיות שזה יהיה שימושי למישהואז יש איזשהו קונספט שהולך ומתפתח בעולם של Security שעוסק באיך לאבטח Supply Chain, שרשרת אספקה.בעצם, הרעיון הוא לקחת הרבה רעיונות מהעולם “האמיתי”, הפיזי - מפעל, ואיך מפעל מייצר, לא יודע . . . iPhone, או איך מפעל מייצר פיצה מוקפאית - ולנסות להבין איך זה קורה בצורה בטוחהלקחת משם, ולייצר את המודל של ה-”Software Factory”כשאתה חושב על הפקת תוכנה כעל Software Factory, כשבתוך מפעל אתה חווה Hand-Offs של שרשרת אספקה, מקבל חלק מהחומרים מבחוץ, מייצר חלק בתוך המפעל וכו' - ואתה חושב איך לאבטח את זה.אז בעצם קם איזשהו Committee או קבוצת עבודה, שהתפקיד שלה זה לחשוב על כל הדבר הזה ולייצר סטנדרטים.(רן) בוא רגע ניתן דוגמא, דותן - אז כשאני מדבר על שרשרת אספקה, נגיד אתה מדבר על ספריות קוד פתוח, על כלי CI . . . מה עוד קיים בשרשרת אספקה?(דותן) אז זהו, האמת שזו שאלה ממש טובה, כי זה חלק מה”כובד” של הנושא הזה.פה ספציפית מדובר . . . דרך אגב, אחד מהראשונים שיישמו את המודל האידאלי, אידאליסטי, הזה זה בעצם DataDogכש-DataDog מייצרים Agent, בעצם זה ה . . . אם הם היו מפעל, הם היו בעצם Producing Agentsול-Agent הזה - יש לו המון תחנות בתוך החברה של DataDog, בין אם זה החבר'ה שכותבים את הקוד, בין אם זה החבר'ה שכותבים את ה-Plug-ins, כי ה-Agent הזה בעצם אחראי לקחת נתונים מכל מיני טכנולוגיות שונות ומשונות שיש לך בארגון, עד החבר'ה שאורזים את זה וחותמים את זה ובעצם מאחסנים את זה ומדלברים (Deliver) את זה . . .(רן) בעצם, זאת אומרת שה-Agent הזה הוא Extensible - זאת אומרת שאם אני יוצר איזושהי מערכת Monitoring או מערכת Logging, אני יכול לכתוב Plug-In ל-Agent, כדי שיבין את הפורמט שלי, ואחר כך ייצא את זה החוצהזאת אומרת שקוד של צד שלישי או רביעי אולי אפילו נמצא אצלי ב-Data Center . . .(דותן) כן - כשכל הצדדים הם בעצם חלק מהארגון, ועכשיו אני אוהב לתת את הדוגמא של “נגיד ומישהו משלם לך” . . . אתה חלק מהארגון, אבל מישהו משלם לך סכום מאוד יפה, ב-Bitcoin, כדי להחליף את הקוד . . . בוא נדבר רגע על אנשים שהם, לא נקרא לזה . . הם Tainted, מזייפים, והייתה רוצה למנוע - או לגלות או למנוע או לעשות Traceability - להגיע לבנאדם ששילמו לו כדי להחליף חלק, סתם לקחתי עכשיו דוגמא מאוד פרועה, למרות שהיא יכולה להיות אמיתית והיא כבר קרתה, נגיד ב-Twitter[וד”ש ל-SolarWinds?]אז פה אתה מדבר על “איך אני מייצר איזשהו Framework או Process, שגורם לכל הדברים הרעים האלה לא לקרות”.אז יש Process שעבדו עליו וכתבו Draft, הכל ממש בחיתולים עכשיו - יש Framework שנקרא In-Toto - אין לי מושג למה השם הזה, לא יודע וגם לא טרחתי לבדוק . . .זה Framework ב-Python, שהוא Reference-Implementation של המודל של Software Factoryזאת אומרת שאם יש לך חברה מורכבת, שמייצרת מוצר מורכב כמו DataDog וגדולה כמו DataDog, אז אתה צריך פתרון כזהוכדי להיות ממש Buller-Proof, אתה יכול לקחת את ה-In-Toto הזהיש לא מעט לבנות, לא מעט דבק - כי זה עדיין בחיתולים - ולייצר פתרון.יש ל-DataDog מאמר ענק על איך הם עשו את זהנושא מאוד מאוד כבד, אבל יכול להיות שמעניין לחלק מהאנשים.(רן) ו-In-Toto זו בעצם יוזמה שלהם? זה איזשהו Brand שלהם?(דותן) נכון - זה בעצם מישהו שבנה את זה, יש Committee ב-CNCF שעובד על הנושא הזה, ממש נפגש פעם-פעמיים שבוע . . . התהליך, נראה לי, מאוד מאוד ארוך, עם שחקנים כמו Apple ו-Google וכו'יותר בקטן, אם אני אנסה רגע לפרוט את זה לדברים, ככה, יותר מעשיים - יש מה שנקרא the update framework - שזה חלק אחד קטן בתוך הסיפור הזה של Supply Chain הוא בא לפתור גם . . זה גם Spec, גם סטנדרט וגם כלי - בא לטפל בבעיה של איך עושים Update Securedיש לא מעט תקיפות ב-Updates של מוצרים - למשל, אם היום אנחנו מעדכנים Chrome, יש פה איזשהו Trust בין ה-Chrome שלנו לבין ה-Server ששולח את העדכוניםאם מישהו משתלט על ה-Server ששולח את העדכונים, הוא יכול או לשלוח עדכון, נקרא לזה, עם Malware בפנים, הכי פשוט, או לעשות סוג של Denial of Service - לשלוח עדכון בעתיד, או לקחת עדכון מהעבר שהייתה בו פרצת אבטחה מאוד קשה - ופשוט לתת לך אותו שוב פעם, כדי שתיהיה לך שוב פעם את פרצת האבטחה.יש כל מיני טקטיקות כאלה, מהלכי שחמט כאלה, שה-Update Framework מונע אותןכך שבעצם זה גם כלי וגם Reference Implementation.והדבר האחרון בשרשת הזו - No Pattern Intended . . . - זה לדבר קצת על מה שקרה ב-Codecovלמי שמכיר - הייתה פרצה די מזוויעה ב-Codecov - שזה Coverage SaaS, אפשר להגידהדרך שבא אתה משתמש במוצר זה שהם נותנים לך שורה אחת שאתה צריך לשים ב-CI שלך והשורה הזו זה Curl של Bash - והרצה עיוורת של ה-Script הזהאז ההרצה העיוורת היא בעצם הפתח לגנב - ובא מישהו ל-Codecov, שינה את ה-Script הזה - ותחשוב שיש להם אלפי . . . או מספר גדול - של לקוחות, ובן לילה יש לך גישה לכל ה-CI של כל הלקוחותוב-CI יש קוד רגיש - יש מפתחות, יש Secrets, יש את כל הדברים היפים האלה . . . וזה בדיוק מה שקרה ב-Codecovהם עדיין מלקקים את הפצעים . . .יש כמה חברות ישראליות שנפגעו מזה, כולל כמה חברות גדולות בארה”בעדיין חוקרים את זה, אבל ה-Bottom line הוא שזה Attack של Supply Chain - רק שבעצם זה הלינק האחרון ב-Supply Chain שנפגעמישהו בא, הלך ל-Codecov, שינה את החלק האחרון הזה - והמון חברות שצורכות את המוצר שלהם נפגעו.אז כתבתי על זה מאמר, עם מה שצריך לעשות, מה הבעיה ואיך אפשר להתמגן מפני הבעיה.(רן) דרך אגב - התוקף, סתם, לא שזה כזה משנה - אבל התוקף הוא מתוך החברה? או שהחברה עצמה, Codecov, הותקפה?(דותן) כרגע מה שפורסם רשמית זה שזה מחוץ לחברה - מה שאומר שהייתה צריכה להיות פרצה אחרת, התחלתית . . .אבל זה לא באמת משנה, כי . . . אנחנו בעולם סופר-מוזר, שמישהו יכול לקבל כסף ב-Bitcoin ולעשות את ה-”Perfect Crime” מתוך החברה . . . [ד”ש לאדוארד נורטון?]לא שזה קורה הרבה [איך אתה יודע? . . . ], אבל זו אפשרות(רן) כן . . . נכון, זה לא משנה, סתם מתוך סקרנות - זה יכול להיות מישהו מבפנים וזה יכול להיות מישהו מבחוץ, אבל צריך לצאת מתוך נקודת הנחה שזה יקרה, איכשהו - ואתה צריך לחשוב איך להגן על עצמך.טוב, בסדר - בנימה אופטימית זו: דותן, מה זה Slackware?(דותן) כן, אז יש לנו מכתב למערכת שהגיע אלינו [מה-90s?](אלון) הגיע בגלויה? איך הוא הגיע? . . . (דותן) כן, הגיע בגלויה, לכתובת שלנו [משאל מאזינים על מי יודע מה זו גלויה או ראה כזו פעם?] - וכתוב שם כך:“שלום חברים וחברות, רציתי לדעת מה זה Slackware-3.2? כמה דיסקטים אני צריך כדי להוריד את המוצר הזה ואיזה Linux Kernel יש שם?” . . . (רן) לקח לו הרבה זמן להגיע, למכתב הזה . . . מה, הוא נשלח דרך רשות הדואר הישראלית?(דותן) כנראה . . . כתוב פה “בתודה, זוהר”[זוהר?!]אז עבדנו קשה, בעצם - כל אחד מאיתנו קיבל משימה, והשגנו את התשובות.אז Slackware-3.2 נולד ב-1997, ובזמן הזה היה צריך 24 Floppies של 1.4Mb . . . מישהו זוכר?וה-Linux Kernel היה 1-נקודה-משהו . . . זה עדיין תחת ויכוח, עדיין צריכים לחקור טיפה - אבל זה היה ה-Linux Kernelמקווה שעזרנו, למי שרוצה להשתמש ב-Slackware-3.2, וכמובן - לקחת את זה ל-Production, כמו שצריך.(רן) אז זוהר - אפשר לנסוע עם הדיסקטים שלך ל-Production ולהתקין על שרתים . . .(דותן) כן, צריך לקחת Floppy לשרתים, לבקש מ-Amazon רשות להיכנס לחווה ולשים Floppy, דיסקט אחרי דיסקט, לשים ולהתקין . . . קל, לא קשה.(רן) בטוח יש איזה רובוט שעושה את זה, מחליף לך את הדיסקטים . . .[ברור, זה AWS, יש פשוט מתחרה להם בשירות של Snowball . . .]טוב, והאייטם האחרון להיום - מצחיקולים! אלון . . .(אלון) כן - אז נתקלתי באתר שנקרא kometbomb - הבחור הזה עושה משחקי רטרו, אבל מה שמעניין פה, ושמתי לינק לזה, זה ש-Zen Pong הוא כל כך קצר, שהוא עשה לו Twit . . . הוא שם ב-Twitter את הקוד שמריץ אותו, ככה אגב הגעתי אליו - הוא פרסם Twit עם “הנה המשחק, זה כל הקוד”, וזה היה ממש משעשעואז גיליתי שהוא עושה עוד הרבה דברים חמודים חוץ מלדחוף משחקים לתוך Twit, כאילו - זה התחביב שלו . . .(דותן) ממש אדיר . . . יש פה אחד שממש אהבתי, שזה ה -Gravity . . . הוא קרא לזה Gravitus Minusזה משחק שכאילו . . . הסוג הזה של המשחקים של ה-Gravity Flyers האלה . . . הייתי משחק בהם כל הילדות שלי בערך, מדהים . . . (אלון) כן, אז יש פה משחקים שצריך לעשות להם Download, כי הם ב-C, אבל יש כאלה שאפשר להריץ ב-Browserכל אלה של “לשבור את הקירות” ו”פינג-פונגים” וכאלהגם ה-Breakout 280, שזה “Popcorn” נקרא אחרי זה, בגרסאות אחרי זה - שיש לך למטה כזה שאתה זורק כדור . . . אז גם הוא נכנס ל-Twit, הקוד שלו . . .זה ממש משעשע - חוץ מזה שהוא כותב משחקי רטרו, הוא גם מצליח לדחוס אותם כל כך קטן שהוא מצליח לדחוף אותם לתוך Twitזה מהפנט . . . מה שהוא עשה פה זה, כאילו, אוצר מדהים של משחקי רטרו, וזה בכלל . . . חלקם רצים ב-Browser, והקוד שלהם כל כך קצר שזה לא להאמין . . . לא נתפס.(דותן) קודם כל, זה נראה כאילו . . . לא בדקתי, אבל אולי הכל חינם?(אלון) כן, אני חושב שהכל חינם, הוא רק רוצה Follow . . .(דותן) . . . יש פה . . . מה שעוד אהבתי, שזה גם רטרו - אתם זוכרים שפעם היינו קונים משחקים כאלה - King's Quest וכל הדברים האלה - והייתה את החוברת של המשחק? שהיית מתעמק בחוברת, כי לא היה שום דבר אחר, לא היה אינטרנט . . . אז הוא עשה גם כזה - הוא עשה PDF עם הספר של המשחק . . . מדהים . . . (אלון) בקיצור - בחור ממש רציני . . . אז זהו, מוזמנים לעקוב אחריוזהו . . . משעשע מאוד, שווה להסתכל ולהתפעל.(רן) מסתכל לפחות על Gravity, שב-Download יש ל-Linux ויש ל-Windows, אבל אין ל-Mac, לדעתי . . .(אלון) כן - הוא לא עושה ל-Mac, זה Linux ו-Windows . . . אבל דותן הראה לנו איך ב-Windows הוא מריץ Linux וב-Linux מריץ Windows וככה הוא מריץ הכל וככה הוא יכול מכל מקום להריץ כל דבר - בפעם שעברה . . .אז אין שום בעיה, הוא יכול לשחק בהכל . . .(דותן) שמע, זה נראה . . . אני ככה עושה Stocking לבנאדם - אז קוראים לו Tero Lindeman, ונראה שאת המשחקים שלו הוא בונה ב-Pico-8, שזה אותו Virtual Machine כזה שהוא ערכת “צור-משחק”, שאחד מהדברים החזקים שלה זה שזה מלא הגבלות . . . [היה בפרק 350: Bumpers 51 for kids]יש לך רק . . . לא-זוכר-כמה-Kb של זכרון, ויש לך רק איזה כמה . . . מספר-מוגבל-של-צבעים ואת ה-Coding אתה עושה בפנים . . . מאוד-מאוד מאתגר . . . מגניב.(רן) טוב, נחמד, שעשוע . . . טוב - אז כאן אנחנו מסיימים להיום.לפני סיום - נתזכר שה-Call For Papers ל-Reversim Summit 2021 נפתח - צריך להיות פתוח ברגעים אלה [נבואה . . . ] - הוא פתוח לתקופה של בערך חודש [עד ה-15 ביולי בחצות], אז תלוי מתי אתם שומעים את הפרק . . . הכנס עצמו מתוכנן לסוף דצמבר - אז כבר תתכוננו נפשית, הסיפור הזה הולך להיות מהמם, ככה אני מקווה . . . (אלון) אני בטוח - לא צריך לקוות . . . תאמין בעצמך! יהיה מהמם , בואו בהמוניכם!הקובץ נמצא כאן, האזנה נעימה ותודה רבה לעופר פורר על התמלול
Eric Anderson (@ericmander) interviews Nick Schrock (@schrockn) about Dagster, the open-source data orchestrator for machine learning, analytics, and ETL. Nick is the founder and CEO of Elementl, and is well-known for creating the Project Infrastructure group at Facebook, which spawned GraphQL and React. On today’s episode of Contributor, Nick explains how he set out to fix an inefficiency he identified amongst the complexity of the data infrastructure domain. In this episode we discuss: Dagster’s place in the industry shift towards thinking of data as a software engineering discipline Why Nick believes it’s time for the term “data cleaning” to be retired The empowerment of Dagster’s instantaneous spin-up process and local development experience How a partner integrated Dagster into workflow for ops workers on the warehouse floor One user’s testimony that, “what dbt did for our SQL, Dagster did for our Python” Links: Dagster Elementl GraphQL React dbt Snowflake Apache Airflow People mentioned: Lee Byron (@leeb) Dan Schafer (@dlschafer) Abe Gong (@AbeGong)
Stan Chollet et Jean-François James discutent avec Emmanuel de GraphQL. Cette seconde partie explique GraphQL concrètement pour le développeur, les différents moteurs et clients et le futur de GraphQL. Enregistré le 25 février 2021 Téléchargement de l'épisode [LesCastCodeurs-Episode-253.mp3](http://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-253.mp3) ## Interview ### Ta vie, ton oeuvre [Stan Chollet](https://twitter.com/tsunammis) [Tartifflette.io](https://tartiflette.io/) [Jean-François James](https://twitter.com/jefrajames) [Microprofile GraphQL](https://github.com/eclipse/microprofile-graphql) ### En pratique pour le développeur Je veux faire du GraphQL, maintenant quoi ? Quels frameworks choisir? Lien JS - mon language (e.g. Java) Comment définir son schéma Des outils qui aident à la génération des entités? Erreurs dans les requêtes Comment écrire ses requêtes, Qu’est-ce qui est possible Comment réduire les requêtes possibles générer 23 jointures? De pas afficher certaines données à l’utilisateur Comment faire des agrégations de plusieurs sources ? Modification des données Faire évoluer ses APIs Et quid des changements incompatibles? Pagination [AppoloGraphQL](https://www.apollographql.com/) [GraphiQL](https://github.com/graphql/graphiql) [GraphQL Playground](https://www.electronjs.org/apps/graphql-playground) [Postman](https://www.postman.com/graphql/) ### Sous le capot Qui définit GraphQL? Qui implémente? Les clients GraphQL Les Serveurs GraphQL Les GraphQL requête dans la base de données ### GraphQL Futur GraphQL federation Lee Byron qui part de Facebook, moins d'activités [La spec GraphQL](https://github.com/graphql/graphql-spec) ## Nous contacter Soutenez Les Cast Codeurs sur Patreon [Faire un crowdcast ou une crowdquestion](https://lescastcodeurs.com/crowdcasting/) Contactez-nous via twitter sur le groupe Google ou sur le site web
Stan Chollet et Jean-François James discutent avec Emmanuel de GraphQL. Cette seconde partie explique GraphQL concrètement pour le développeur, les différents moteurs et clients et le futur de GraphQL. Enregistré le 25 février 2021 Téléchargement de l’épisode LesCastCodeurs-Episode–253.mp3 Interview Ta vie, ton oeuvre Stan Chollet Tartifflette.io Jean-François James Microprofile GraphQL En pratique pour le développeur Je veux faire du GraphQL, maintenant quoi ? Quels frameworks choisir? Lien JS - mon language (e.g. Java) Comment définir son schéma Des outils qui aident à la génération des entités? Erreurs dans les requêtes Comment écrire ses requêtes, Qu’est-ce qui est possible Comment réduire les requêtes possibles générer 23 jointures? De pas afficher certaines données à l’utilisateur Comment faire des agrégations de plusieurs sources ? Modification des données Faire évoluer ses APIs Et quid des changements incompatibles? Pagination AppoloGraphQL GraphiQL GraphQL Playground Postman Sous le capot Qui définit GraphQL? Qui implémente? Les clients GraphQL Les Serveurs GraphQL Les GraphQL requête dans la base de données GraphQL Futur GraphQL federation Lee Byron qui part de Facebook, moins d’activités La spec GraphQL Nous contacter Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs Faire un crowdcast ou une crowdquestion Contactez-nous via twitter https://twitter.com/lescastcodeurs sur le groupe Google https://groups.google.com/group/lescastcodeurs ou sur le site web https://lescastcodeurs.com/
Loren Sands-Ramshaw: https://lorensr.me/The GraphQL Guide (coming soon): https://graphql.guide/TranscriptLoren Sands-Ramshaw: [00:00:00] So welcome Shawn to the GraphQL Guide interview with Shawn Swyx Wang. Is that swyx: [00:00:04] it? I pronounce that, right. It's it's my Chinese and English initials. And it's just a branding that I'm leaned into because it's unique. Yeah. I think it's great. Loren Sands-Ramshaw: [00:00:11] Yeah, definitely unique. So for those of our readers who don't yet know you, swyx: [00:00:15] Who are you, what do you do?Cool. I'm Shawn. I guess I work on developer experience at Temporal. I should be more assertive. I am head of developer experience at Temporal.io. It's a Small startup that does microservices orchestration, which is a very, very fancy name that basically runs an open-source framework spun out of Uber that we can go into more details, but really, I've done.I sort of migrated from finances, which is my first career. Then I went into Front end. So I did a JavaScript bootcamp then went into front end D started doing some speaking and writing in 2017 and got noticed by Netlify. And that's how I got into developer education, which is what we're here to talk about, I guess, and then started getting into graph QR because it was all tied into the react world.At the time. You could not ignore graph QL and Gatsby and Apollo and all the other ecosystem in, in, in place. I did. Then I then went to AWS to do the same job, essentially where they have amplify an app sync apps think is AWS has graph QL gateway as a service, which we can talk about. And I recently left to join Temporal.Loren Sands-Ramshaw: [00:01:18] Going back to when you were getting noticed you were like writing blogs and doing talks and getting out a spot Netlify how did you decide to get into developer education? swyx: [00:01:25] I didn't, there wasn't actually a decision. It was just like, let's just try this. And see what happens. So that the context was that the boot, the first job I got out of bootcamp was at Two Sigma, which is a well-known Quant hedge fund in New York.The problem was that I was in a, I didn't know it, but I got into a bad part of Two Sigma where they were severely underusing their engineers to the point where four days out of five, we were not doing anything like specifically not standing on our desk. Cause we had stand up desks. And.Explicitly given to have the okay. To do whatever we wanted, whatever because we just didn't have work. And that was, it's a, it's an enviable position, right. For for a lot of people like, Oh yeah. Paid around and do whatever you want. That's that sounds like a great job, but I don't think it's a very good job for a junior.Like someone just starting out. Right. You're not going to grow up very much. So it's like frustration. Really that I was like, okay, I'm not getting any learning at work. My, my team lead was like not doing his job. So I just started blogging and, making my own mentors, like, externally New York city has a pretty vibrant meetup scene.So I just, started doing my own talks, even though I didn't feel like an expert. And then I started doing blogging and I think the first one that really picked up for me was. When react announced that it was working on async react like concurrent mode as it is known today, but back then it was async react.So it was announced at a conference in JS conf on March in March, 2018. And I remember that night because it was a big shock to the react ecosystem and it was like a sweeping change. They touching every single part of react. So I just stayed up all night to write a walkthrough of the talk, the demo, and just really like went through everything at it.And that was the first blog post that. We've got really some notice for me and that really still bald since then. And since then I've kind of enveloped everything into this principle I've learned in public. Like when you find something interesting write it up in your own words and share it with people.And at least the people involved in working on the thing will probably read it. And if you're saving some work and if you have some unique perspective than other people will find it helpful as well. Loren Sands-Ramshaw: [00:03:26] Was there a moment where you were like, I'm going to write my own blog posts instead of reading other people's.swyx: [00:03:32] I've been doing it, unsuccessfully for like the two years prior. So there was no one single moment. It was just like focusing it on something that people actually cared about. It turns out that, you want to write things that people want to read. And that's that was a pretty big insight for me.It's not, it didn't seem like that big of an insight until you look at it. The vast quantities of developer blogs out there. And a lot of them are sort of very inward facing. They don't really answer the question of why should you care? And so I, I definitely had my mentality changed around like, okay.Like it has to be an intersection of things you're very interested in and things that other people are interested in and you can't just have one or two. Loren Sands-Ramshaw: [00:04:07] Speaking of things that people are interested to read, you have a great book on the coding careers. That's called the coding career handbook.One of your first. Customers really like the parts of it that I read. What was that like coming with the idea of the book and writing it and swyx: [00:04:20] publishing it. So there's a fun story for the reason the name is so awkward. I still don't like the name, but I just had to go with it because I didn't have anything of anything else.The reason was the original name was cracking the coding career because there was a successful technical interviews book called cracking the coding interview. And the whole point was that it w I wanted it to be apparent in the title that once you're done with the interview, once you landed the job.There's a huge gaping hole of what's next. And this th this book is targeted at the what's next. Unfortunately, Gail McDonald, the author cracking Cody career actually got in touch with me and mentioned lawyers. So I had to change the name before lunch. So, by the time, like I already had my Twitter handle up and all that, and I was just like, all right, I'll just stick with this thing.But it is an acronym. Yeah the. Point I think is that people, I think my most successful writing, like it or not has been my non-technical writing which the learning public essay has reached, hundreds of thousands of people. And I constantly get shout outs every single day about people starting to own journeys.And it's something that I really. Believe it, even though I hate, I'm not like the Tony Robbins type, I don't want to be like a lifetime life coach or anything. I just think that this worked for me and it will work for a lot more other people. So I was like, okay. I just, I should probably just write down some more advice on, on, on what I think that people need, because.I think what really crystallized it for me was when you look at career ladder. So I did a study of every public career ladder out there. So career ladders are these things where it's like, all right you're junior, you're expected have these qualities or senior, you expected these qualities, staff, principal, whatever.And and everyone has some version of these in some companies are actually brave enough to publish them. And so if you just study all of them and you realize something really interesting, which is that when you look at the way that people are promoted and graded about 75% of the grading criteria is non-technical.Seventy-five right. It's like, all right, you can call it. Great. But what about your communication? What about your business impact your mentorship and all that, which is like surprisingly not the type of thing that you learn in college or bootcamp. And no one tells you to do it, but suddenly it's 75% of your evaluation, like, well, okay.And I think that just reflects the reality that we are less coders and more code enabled humans and we can code, but we're humans first. And so we need to apply all these sort of soft skills. I hate the word soft skills, but that's the common commonly accepted terms. So I use it Two two, we need to teach each other, lessons from these things.I am not saying I'm the world's foremost expert at them. I have things to work on myself and it's a very difficult thing to, to come on and say like, I have something worthwhile for you, even though I'm imperfect. But I don't base my advice on myself. I also base my advice on.Hundreds of other people that I've interviewed and collect collected the book has like 1400 references to people smarter and wiser and more accomplished than I have. And that, that's just what research does for you. And hopefully you can decide yourself which of these ideas you agree with and which are not.And that's all I ask really, I think it's really hard to write a soft skills book. Because your sort of character has to be impeccable. Like the moment you're like, Oh, I had a bad interaction with this person. Therefore, the entire book is wrong. Like, I'm sure, if you want to take that view that's fine for you.But I view ideas as sort of independent, you can sort of pick and choose. And if this book, has 40 chapters and three of them make sense for you then that, that would be a good investment of time for me. Loren Sands-Ramshaw: [00:07:39] I liked it like the field of life coaches and career coaches and therapy and stuff.And I really appreciate the knowledge that you've put into the world with that book. So thank you swyx: [00:07:49] for writing. Well, yeah. Thanks for asking about it. It's kind of, it's still awkward that you can hear me like being very hesitant about like, talking about this thing, but people like it.I think that, everyone wants to hire seniors. That's the truth. There's a huge glut of bootcamps producing juniors. There's lots of people self-teaching. And then from junior to senior, somehow you magically, hope to. Find something that works. And then once you're seeing her every once a hi, everyone wants to hire you.So I guess if I had to narrow it down, like I need to make it. Easier for people to up-level whether or not they can use the book as a guide or they can join the discord that I have and interact with me directly and ask me questions and all that. These are all passed into upscaling, more people from junior to senior.And I think people don't do it. It's just, it's a very awkward thing to do. But that's an interesting challenge. I really Loren Sands-Ramshaw: [00:08:37] liked the boot camps. There were like nine months. You can go really deep. It'd be cool if I was like a graduate school version of boot camp. So you go to the bootcamp one, and then later on you go to the boot camp two.swyx: [00:08:46] Oh, there is a Recurse center, which is the self guided one in New York. Yeah. A lot of pretty famous people have come out of the recur center because they do it's essentially like graduate school. Like you propose your topic and then you sit in a room with a bunch of other people who are very self motivated as well.And you produce something to impress each other and the kind of people that actually self-select to go there are very intellectually curious themselves. So they work on pretty cool stuff. And it turns out that once they graduate, they will actually go on to do some pretty interesting things as well.So, that's a comparison, but like the thing is that doesn't scale. Like they, they admit like maybe a few dozen people there's tens of thousands who will never do it. Loren Sands-Ramshaw: [00:09:23] Also. There are a couple more ideas in that area that I have where like, Having it be more of a norm for companies of like even medium size to have like a junior teaching mentorship program.swyx: [00:09:37] Yeah. Yup. More apprenticeships, especially for people from non-traditional backgrounds. I find, I see so many companies that have, Campus recruiting for colleges. But actually, what about everyone else? So, yeah. And then in the mentorships, it, th the thing is like, it's perceived to be a cost.And we need to turn that around and turn the tenant equation around and say like, actually you're getting. To upskill talent, there's that cheap, that becomes very valuable once you put, once you invested in them. And I think some companies are getting into this mindset. So Stripe is having direct integration with the university of Waterloo.And I think shop, sorry. Stripe is integrating with the university of Limerick, I think in Ireland. And Shopify is. Has a has a degree offering with the university of Waterloo. And it's just amazing to see all these innovations, but they're just sort of piecemeal. And then, they'll improve a few dozen people, a few hundred people at a time, but it's a slow process for sure.Loren Sands-Ramshaw: [00:10:28] I would think of it makes sense for there to be like a lower part of the market where like, like the, maybe under the entry-level for expected junior does, there's like a gap where people can do like. Traditional apprenticeships where it's more of a stipend or like an internship kind of thing where you're not being paid like a normal dead salary, but you are learning a lot.Yeah. And maybe like that would be low enough that it would be profiled. swyx: [00:10:52] They are doing that at they are doing that at Lambda school, which is the online bootcamp. The problem is Whenever you talk about paying people perhaps less than an average developer salary the, there people online who get very angry about that.And I, it's not my place to say. Who's right and who's wrong. I defend the right of consenting adults to agree to whatever contract they want, even though, some, some of them may be exploitative in retrospect, but we have to let people make mistakes. And we have to let people experiment with new forms because all we know is the current system.Doesn't work well in, in some way we need to try new ideas. We need to make it safe to try new ideas. And and so Atlanta school was really trying. And I think what they have right now is they'll guarantee you they'll give you a student for a month.And they'll pay the full month of it. So it's totally cost free to you, except that you have to give them, stuff to do. And I think that's a really beautiful experiment. So I don't know, some people get angry about that. I'm like, you're, you don't know what it's like to be a bootcamp student.I would've killed for that. When I was a BlueCat student, Loren Sands-Ramshaw: [00:11:51] I have friends who haven't found a job after boot camp. So, hope that swyx: [00:11:56] system works fine. Yeah. Nothing is better than sort of just getting into a real work scenario and like, stop jumping on the artificial hoops with like in video binary or whatever.And just get into the real work. And after three months, six months, nine months, you're a dev. And. You know that w yeah. Every, everything else is just gate keeping. So whatever. Loren Sands-Ramshaw: [00:12:14] So you think of algorithm, coding interviews? I had an interview with Toptal, and I didn't know they were going to do data structures and algorithms.So I didn't study and like, I haven't studied it in over 10 years. And I got an a in my courses at Dartmouth, so like I knew it at one point. swyx: [00:12:30] But I totally did you burn, did they give you a grade? Did they give you a number? Like how bad? I know they just like stop Loren Sands-Ramshaw: [00:12:35] asking your questions. swyx: [00:12:36] Yeah.Yeah, yeah. So tail, the reason that'd be so stringent is the marketing, right? They're like we, they have to have a rejection rate to, to show off. Because that's part of the marketing appeal. I totally get it from their angle, but then also, like you don't need them. So, whatever.Loren Sands-Ramshaw: [00:12:49] What are your thoughts around different education mediums? Like how did you decide to do a book versus a video course? And do you have any plans for doing books or courses or. swyx: [00:12:59] Inefficient. That's an interesting question. The reason I did a book was because the MVP of a book is a blog post, and I already done like three, four years of blogging prior, and people already knew me from my blogging.So it was very natural progression. So I didn't really question it. I also know that I take a lot more time to do video than I do writing or, yeah. No, let's just put it, let's put it the other way. Like, I don't think I'm ever on the world's most natural speaker. I have a lot of false starts.I've thought I'm sinners and I'm still working on it as you can probably tell. But yeah. And so when it comes to writing, it's SEO, searchable, it's you can edit it anytime and reformat things, and it's not it's super cheap. You can add hyperlinks, which I love dropping references.Right? Like when I. Have references in a podcast or a talk. I can't drop a hyperlink in my mouth and you can click on it and it just leads you right to the source. I really liked that. And it annoys me when podcasts say, like, we'll put it in the show notes on any deal. They don't it's really super annoying anyway.So writing solves all of that. It's it's perfect. Medium. It's very scalable. In fact, I have a whole chapter on why writing is great. Everyone, every developer should write. So yeah, I mean, no, no contest on mediums. That's it. One of the downsides of writing is that the moment you call anything, a book, what's the normal price of a book it's nine to nine to $59 or something like that.Like you can go to maybe 99 or whatever, actually, I don't know how much theYeah, got it. Yeah, there's a range. Right. And it's basically constrained by the format rather than the value of the knowledge contained in the book. So if my book happens to. Yeah. Increase your the slope of your career by $10,000 a year. The Mexican charge is 59, which is what I charge that's absurd.Right. And other formats, like video courses, that's automatically like 200 to $300. Irrespective of like the actual value of the delivers to you. And so that's a really bizarre way to do things. So that, that was one, that's one argument for why you might want to do other formats.So apart from this book, I actually considered doing a reactant types, of course, because my other one of my other side gigs is that I run the react and TypeScript cheat sheet, which is. The de facto community docs for react and TypeScript. And it's a, it's a much bigger deal now with them back when I started.So I teach, a thousand people a day react to TypeScript and it's been a completely volunteer behavior volunteer activity. And if I, sold 1% of those on a video course, I probably make a living.It's something that I thought about. Th the only reason I don't do it is because I don't want to be a teacher. I don't think I'm a, I've a very ever temperament to be a good teacher. I don't think I have the patients. I want to do other things with my life apart from teaching.So I think I'll just leave it to someone else, or maybe collaborate with someone. Loren Sands-Ramshaw: [00:15:44] Let's move to the backfield topic. What is your swyx: [00:15:47] take on evacuation? Greatest thing since sliced bread. Is that what I'm supposed to say? So I had a talk about this Hawaii where like kinda compared it to like, I hate I wish that people would start comparing graph QL to risk.Like we have to, because that's kind of what we. What the paradigms are and how people mentally place them. But rest doesn't go away at Graco has a protocol over rest. And so it was like, it's, it's not either, or it's like one and the other. That's it. My sort of galaxy brief summary of graph you all is that instead of creating a dozen different end points that are all kind of dumb you create one smart end point and then you have contracts that can specify whatever that end point does sort of on, on request.And I think that's a really simplified take, but it really. You were there at Apollo day. And I think the Apollo folks have a really good present explanation of this. It really starts to come into its own when you start having multiple devices to support. So you have mobile and desktop and web Sr and, and Sorry.Well, mobile native and desktop and mobile web and on whatever other devices that you may have, these are all have the different data requirements. And there's a combinatorial explosion. They have all these lines crossing over from different services, into different devices that you could simplify by just having one single sort of smart endpoint.And everyone connects to that one smart end point. It speaks to the right contract and that smart endpoint has. The means to resolve all the data from each individual data source then that's essentially graph QL. Like you could do this in a bunch of different other ways as well. And there have been many, many other attempts like graph QL is, is, it's not new.They're there. And I think the creators of graph you all are pretty upfront about like the inspirations that led to. Craft you are like all data, which I never really tried any of these. So outside, I don't have much sympathy. All we know is that graph QL is successful. Now it has the network effects now, and therefore it's a much better bet than the other formats.Which is an argument by like it's success, it's popular. Therefore it should be more popular like that kind of argument, but it's true. There's some amount of validity to betting on things because the ecosystem is better. And so, so that's really smart.I have another take, which kind of combines into one of the questions that we prepped for is what I dislike about it. So, I think that it's very, very easy for front end developers to wax poetic about graph QR, because it makes their lives a lot easier. And the people that we kind of leave behind, or we sort of punt all the tough questions too, are the backend developers for whom It turns out it's not true.It's not always true, but net, it turns out that it's more work for them, whatever it is from like, figuring out how to do off figuring out how to do like rate limiting or like query complexity, limit limitations and like, Inserting all the validation steps or like joining schema is, and the federating them, these are all the tough work that was maybe sometimes shift done on the client side has all been shifted onto the backend.That's really unfortunate for graphical adoption. Like the main bottleneck of graphical adoption is backend. That's it there. And I wish we would stop. Okay. I wish front end developers would stop selling graph QL based on how easy it makes their lives, because it's totally unsympathetic to graph to back in people back.And people are just like, you guys are not thinking about the security risks. They're not thinking they're not talking to them in terms that they are thinking about. And I wish that more evangelism, more graphical individualism was more sympathetic to the backend perspective. Loren Sands-Ramshaw: [00:19:08] What are your personal swyx: [00:19:10] favorite parts?Oh, graphical. I, this is the common answer, right? Like it's I feel like graphical is kind of like the common ground of all of them. Cause like, you can, it's a raffle or it's a postman or whatever it is. It's the common tool and it's so good and actually got a lot better. We graphical Explorer sorry, graphical Explorer.And that's the little side tab that the added and I think, their plans were a graphic for 2.0 in graphical. And it. It's just such a introspective tool that has embedded documentation in it. Like, it's just, it's everything you want out of a documentation tool and of API documentation that rest never really got to, like the best you got.It was open API and even that's kind of like a sprawl and it doesn't have embedded like try this, it, it does, but like it, it's just not as smooth as graphical. So yeah not really galaxy brain take here. But I think, yeah once you make experimentation and modification a lot easier than you, you move the pace of development faster, at least on the front end.So, I definitely like that a lot. The errors kind of bother me a little bit with, areas being 200. Okay. That's a common sort of gripe among people who don't like graph QL, but you'd learn to deal with it. You just, yeah. Loren Sands-Ramshaw: [00:20:16] Any advice for swyx: [00:20:16] people learning Graco?Nice. We're learning people that are in graph. Y'all I think the thing that you do in the book where like you explain the validation and set it, set things up from scratch you should do that. You should go through the exercise. Actually even set up a server using just pure graph LGS without all the fanciness that maybe Apollo server does for you.And just, yeah. Fundamentally understand like, or, so like, I guess the advice would be like stripped down the tooling as much as possible and build your way back up instead of just starting at the tooling and never going down the stack a little bit. So, did you know that you can query Aggreko end points just with fetch?Do you know how to do that? If so then great. Then what's the next step after fetch? What does caching actually do for you? So on and so forth, like these are all this, these are the steps that you knew you need to sort of work through to, to build up to a complete understanding of graph you are so that when things go wrong, you know how to fix it.And that's one thing which I really encourage because graphene is a complex system. It's client side is service side and there's like, This complex chain of events that go through it. And sometimes the errors can be a bit too loose. If you don't really know what's going on under the hood.Loren Sands-Ramshaw: [00:21:19] Yeah. I don't a friend who I was a junior dev working at a company that like had a Apollo in place and like their view of craft kill was if I add this like fragment or this query to this component, then. I'm going to get the data. And so they don't have the understanding of like what's happening, how it's all getting collected, where the cash is doing.Which is definitely helpful. When things go wrong. swyx: [00:21:47] Yeah. Yeah. Loren Sands-Ramshaw: [00:21:48] What are your, yeah. So you had a chance to read parts of the guide. Thank you so much for being here. I really valued your feedback. What swyx: [00:21:55] were your favorite parts of the book? So I noticed that you do something unique, which I don't see a lot in a lot of other books, which is every code sample has like a good tag.Is that what you do? And you can just view the defer or go straight to the, get, get tag from that sample. And I actually really liked that. Sorry. So this is really tiny detail, but then like, I appreciate that. Cause I read a bunch of other books as well. Like I got another, a book here.And on top of this monitor that I'm looking at you on, I have a bunch of other techniques as well. I really enjoy reading technical books as a way to level up. And so like when you can actually follow through on the code and download it and run it yourself, that's a really nice detail.Overall, like, I think it's, I think it's a very comprehensive, like 500 something pages, which is huge guide, and it's the kind of detail that you would take months to really pick up on. And, you get it within a Yeah. Within a few days of just reading this book.And so I just really appreciate it, like all the research and all the piecing together of things. Obviously you had to make some tough choices, like, picking on picking Apollo. But I don't think these are controversial at all. These are just like, the industry standard things that, that you would at least expect people to be familiar with.Even if they go with the alternative. And then going into like each individual client and framework, I don't use react native sorry, I don't use Vue or react native, or I think you have some other native iOS, even that you went into there. I don't use any of those platforms. I'm just a web person.But I know that, when the time comes, I can just pick it up and start there. So that's a really good perspective as well as like the broader ecosystem, right? Like, Apollo Federation, which is like a fair, fairly new thing. And then talking a little bit about history as well, which I think is one of the most significant graph your companies out there.So, so yeah, it really like combines, condenses a lot of research that's done by you and John Resig and that's pretty well, this very much worth the sticker price. Loren Sands-Ramshaw: [00:23:36] Thank you. So the tags is particularly difficult because I have a tag for each section of each coding chapter.And those are chapters six through 11, and then for each version of the book has a different tag of version. So it's like the react chapter is maybe 40, 40 tags with each, with a version number. And then each time I changed the code for the next version of the book, I can make another 40 tags. It's a big process.Yeah. swyx: [00:24:05] I was thinking about, is react the best pear to graft you all like, does it, is it an accident of history that it just happened to also come out of Facebook? That's. Which is why we use it together. I always wonder that because, we act it's very weird with its effects and all that.It's kinda clunky to, to use. So you basically have to use a third party library, like, or goal, or Apollo client to wire to that. I don't, I'm not sure how I feel about that. Like I was just like, Ugh. Anyway, we can talk the frame, talk about frameworks in a day, but yeah, I appreciate it that all the guys are in there and you took pains to, to cover other devices.Like, like I said, like, one of the main benefits of adopting graph is that you can support multiple devices, multiple frameworks in paradigms pretty easily. Okay. Loren Sands-Ramshaw: [00:24:47] Any visions swyx: [00:24:48] for the future of death off? OhLoren Sands-Ramshaw: [00:24:51] well just probably like, having the backend story be. More developed. I think it was both pitching them and then swyx: [00:24:56] also the software supporting them. I have a pretty good coverage of this in the book where you talk about differ and idea, the two directors, which I never remember stream yes.Street. So like all these spec level things are very important because once it's in the spec then multiple, different parties can implement them. And we because right now everyone's kind of haphazardly kind of. Hacking their way around it if they need it. And once it's standardized we can really build some rails around it to make it a lot more reasonable and, things like the, for like, they need to be in there just cause once your graph gets big, like you, you need to, query things at different paces and have them all in one quick one single query. Yeah. So, so more standardization of stuff. Like I even, I don't know. I don't know how you feel about this, actually. I should ask you a do, but I think that graphic, I wish that graph y'all had a date time. Standard type. Loren Sands-Ramshaw: [00:25:41] Definitely. I think it's a, swyx: [00:25:43] some stage in the spec. Okay. Super annoying. It doesn't happen.Yeah, so, I think Lee Byron has had arguments for why did kept it out. And definitely simpler is better for the initial success of graph. You would prefer would not be where it is today. If it had done all the things it had to really, really scope down and just solve a specific problem for Facebook and the early adopters.Then it got big and then people want more out of it. This is the natural way of things is how it always goes. That's it. It's super annoying to work with the time in in graph QL and everyone has their own really weird spec. And we should probably standardize on that. I think relay seems to, relay seem kind of dead for a while.And then it had a little bit of resurgence and people really like the the cursor format which which I think you briefly touch on as well. There's, there seems to be some amount of need for standardization of like, the way we do pagination, the way we do a bunch of things like even authorization as well.I don't think it's really it's too. Left to influence that it's too hand-wavy. And so, yeah, which is, which kind of goes back to the solving backend developers, pain points, like having best practices that are sort of, well defended and in production at well-known companies that really gives a lot of assurance to the rest of us who are just trying to figure this out and trying to evaluate like, Oh, Hey, I have this thing that has worked for 15 years.That's that happens to be rested. I can ship faster with that, or I can deal with this cutting-edge thing, which like I might make a critical mistake on. Sorry, my cat and my Comey. Exactly. So, nine times out of 10, the, I was going to say no, because it's just like, are you a dev just trying to play it a new toy or are you trying to ship, do you know how to ship things, which I've always worked in, nothing's broken about it.So you really need to pave the path, which is something that obviously I do for a living, but Graffio has a lot of smart people working on that. Yeah. Did I answer the question about the future?Well, Federation used to be a big sticking point and then they actually, came out with it. So I think it's less of a talking point now. And hopefully I, I haven't used it in any sort of work setting, so I don't know how actually people feel about it. All I know is that it was there were multiple competing solutions and now there's an official one.Loren Sands-Ramshaw: [00:27:48] So, I guess the last thing on graphica was app sync. I'm curious. But what kind of companies you see you saw using it? I guess I quick over here for people. swyx: [00:27:57] Okay. Absolutely. So graph yall tends to end up as a gateway meaning that it starts to wrap around other rest API starts to wrap around your other data services.And then you start to that's as natural. In my view, state of where it should lie in your stack and then your front end sort of starts to query against the graphical gateway rather than your rest or API gateway. In Amazon's terminology, it is literally called API gateway, the most unimaginative name possible.So, the graphical version of that is called app sync. Not graphically I'll get waived for whatever reason. And it really does essentially the same thing. You can define resolvers and resolve against data sources, whether the rest or a third party, or even then I can include a dynamo DB database, which there's a specialized schema for that.We can, which is really intuitive to set up. And I, I think so, people are using that Amazon music, 30 million monthly active users, it's is based on that think there, there are some clients, I, big sort of consumer brand clients. And then there are a bunch of smaller smaller of a well-known names.Like, orange theory is another one that, which we talk about a lot which is a gym that converted to like an online fitness training company during COVID that has like, that does like 2 million, monthly subscribers a month or something like that. And. And yeah, I it's used in production by the kind of companies that use AWS and they may not necessarily be, well-known names to developers, but they are successful businesses in an off their own.Right. We also have a bunch of non-profits, which I really enjoy because it helped them get to market quicker. I feel like I, I still am still performing my role as AWS spokesperson here, but like, it really, I really enjoyed this cause like during COVID, a lot of people had to go online and a lot of nonprofits actually built out their apps using app sync and they got to market in like three weeks and, started serving people.Like some of them were like homeless shelters. Some of them were like sort of critical medical care facilities and and. When you see the pace of development solve by, by, by this, by the service like you, you can get naturally very excited by them. And sorry. So let me get to the point.The point is that you want a service, a graph, your service and either someone at your company is going to build it and it's going to be. Weird and funky and kind of, custom to your company or it's sort of, specked out and developed and scaled by someone like AWS or her Sera or Apollo, w whoever else does the graphic as a gateway service?Because I, it could, because I just said like the backend stuff is the hard part. So when on, let someone else do that for you, that's the SME pitch. So yeah. Sorry. I feel really weirdly passionate about this just cause like it's a really fascinating investment. It'll be, this is the only big cloud to invest in graph you off.As you're in Google and awareness on this and now Facebook is in the cloud. So, so, I feel like it, it has, maybe it doesn't get enough credit for like the amount that is really investing in making graphical a thing and making graphical easier for people to, to put it into production. I would say it's not the easiest thing in the world because it still has to encounter a lot of AWS hurdles, like, how do you deal with IAM policies and billing and all that which has its own sort of nightmares and EWS.Nothing's perfect, but it's a trusted brand and it serves people who are familiar with AWS. It serves them well enough. Oh. One example. I think I really liked was a Yan tweet on Twitter. I don't know if you, if if you come across him he's actually done a bunch of tests and actually helped to help a bunch of clients build with ASIC.And one of the interesting things is that graph Jaan natively has his subscription sort of. Paradigm association method, method which you can implement it with like long polling, whatever. But yeah, the high thing was serverless has been using has been developing serverless, which with WebSockets like having the scalability, serverless with the persistent connections or web sockets absent has this built in.And so it's much easier to to develop sort of live apps, w. With the live reaction functionality that that website has give you with seeing them without, and to go pure serverless with API gateway. I'm sorry, I'm throwing a lot of jargon at you, but if you're in the AWS ecosystem, you know what that means?Loren Sands-Ramshaw: [00:31:42] No, I've. I've used it on one or two. What did they call it? Consulting gigs. And I swyx: [00:31:48] remember not understanding the UI Loren Sands-Ramshaw: [00:31:51] very well, like you're not feeling intuitively, but then being able to do most with like CloudFormation via the amplify CLI. swyx: [00:31:58] So I liked that.Yeah, that's a that's the common starting point which is like, if you just have a pretty common use case, I definitely recommend using a CLI then the more. Custom you get I would recommend checking out co CDK, the CAGR development kit where you can programmatically create confirmation resources to attach onto your API gateway.And that's the migration path. You start with the CLI started out, building something simple, a proof of concept get familiar with the graphical schema definition, language that maps onto your resources. Like. And that's ultimately what you want. Right? You want your, the graphical, SDL SDL that you write to to do as much work for you.So that means provisioning infrastructure in the backend and doing Kojin and the front end. Right. That's what, that's the ultimate dream of like do one thing, one source of truth. And it flows both ways. Right. And that's what I think, is. Building towards I'd definitely say it's not perfect.Like, like exactly AWS will never win any awards, but the bar is very low for AWS. Like, all you have to do is to be in better than existing services that AWS has is not trying to win the world's best API for, compared to all the other startups out there. It just has to serve existing AWS customers.Very well. So, so yeah that's kind of my perspective on that. Like, and like the core gen goes all the way down to the front end. So, EDSS has this sorry. Amplify has this idea of the data stores, which is on-device cache of your remote data, which is powered by your graph, your schema.I remember Loren Sands-Ramshaw: [00:33:16] When Twitter figured out that JB amplify a client was based on a public client, but also had a lots of added things like offline. swyx: [00:33:25] Data. Yeah. And th this kind of thing is only possible with strong typing, right? Like w which is essentially what graph provides for you, strong typing of your backend schema.And so once you have that, you can produce a front end replica of that, and then it works offline which is the kind of thing that you basically only possible by vertical integration. And if you don't, if you piece things together yourself, then you're on the hook for building all of that.Which is pretty rough. So like, I just think it's amazing that they want an investment that's going into this. I feel like it's really rough to make easy and get right, because the surface area is massive, but but I think that the vision is correct. I think the vision of like, let's make this graph, Gail schema do everything.Drive make it the source of truth and drive the whole app. And when you do migrations it's very easy to see what to regenerate the clients regenerate the backend infrastructure. That's the way you want to do things. Because if everything's disconnected, then you're essentially doing a lot of things twice.Like, you change the schema. All right. Then you write the resolver then. Alright. Provision the infrastructure, the backend. These can all be done in one step. If you had tight integration any Loren Sands-Ramshaw: [00:34:25] final message you'd like to give to the readers in the graph? Yoga. swyx: [00:34:28] Enjoy the book and ask the authors for coverage of relay.Cause I feel like there's a lot and no fault to you. Like I think graphic equals ecosystem is big enough and you already did a fantastic job of covering all of these things. I just feel like, Apollo is one perspective on what graft Cal could be. And there are very, very smart people that I really, really respect that love relay and I don't know anything about it and I wish I could read more about it.Loren Sands-Ramshaw: [00:34:51] I planned on adding at least a little bit about relay pursuant to your feedback. So thank you for that. And thank you for joining us today, Shawn.swyx: [00:34:58] Yep. Likewise.
Stan Chollet et Jean-François James discutent avec Emmanuel de GraphQL. Cette première partie explique les concepts et les points de base de GraphQL. Enregistré le 25 février 2021 Téléchargement de l’épisode LesCastCodeurs-Episode–252.mp3 Interview Ta vie, ton oeuvre Stan Chollet Tartifflette.io Jean-François James Microprofile GraphQL GraphQL en deux mots La techno en concepts D’où vient GraphQL? On avait WS-* Ensuite on a eu REST Quels sont les problèmes principaux que GraphQL essaye de résoudre? Quand rester sur REST vs aller sur GraphQL? Les concepts: * Schéma * Requêtes * version Toujours JSON ? Une requête pour plusieurs sources Appllo GraphQL GraphQL Federation Domain Graph Service 45:07 En pratique pour le développeur Je veux faire du GraphQL, maintenant quoi ? Quels frameworks choisir? Lien JS - mon language (e.g. Java) Comment définir son schéma Des outils qui aident à la génération des entités? Erreurs dans les requêtes Comment écrire ses requêtes, Qu’est-ce qui est possible Comment réduire les requêtes possibles générer 23 jointures? De pas afficher certaines données à l’utilisateur Comment faire des agrégations de plusieurs sources ? Modification des données Faire évoluer ses APIs Et quid des changements incompatibles? Pagination AppoloGraphQL GraphiQL GraphQL Playground Postman Sous le capot Qui définit GraphQL? Qui implémente? Les clients GraphQL Les Serveurs GraphQL Les GraphQL requête dans la base de données GraphQL Futur GraphQL federation Lee Byron qui part de Facebook, moins d’activités La spec GraphQL Nous contacter Soutenez Les Cast Codeurs sur Patreon https://www.patreon.com/LesCastCodeurs Faire un crowdcast ou une crowdquestion Contactez-nous via twitter https://twitter.com/lescastcodeurs sur le groupe Google https://groups.google.com/group/lescastcodeurs ou sur le site web https://lescastcodeurs.com/
Stan Chollet et Jean-François James discutent avec Emmanuel de GraphQL. Cette première partie explique les concepts et les points de base de GraphQL. Enregistré le 25 février 2021 Téléchargement de l'épisode [LesCastCodeurs-Episode-252.mp3](http://traffic.libsyn.com/lescastcodeurs/LesCastCodeurs-Episode-252.mp3) ## Interview ### Ta vie, ton oeuvre [Stan Chollet](https://twitter.com/tsunammis) [Tartifflette.io](https://tartiflette.io/) [Jean-François James](https://twitter.com/jefrajames) [Microprofile GraphQL](https://github.com/eclipse/microprofile-graphql) ### GraphQL en deux mots ### La techno en concepts D’où vient [GraphQL](https://graphql.org/)? On avait WS-* Ensuite on a eu REST Quels sont les problèmes principaux que GraphQL essaye de résoudre? Quand rester sur REST vs aller sur GraphQL? Les concepts: * Schéma * Requêtes * version Toujours JSON ? Une requête pour plusieurs sources [Appllo GraphQL](https://www.apollographql.com/) [GraphQL Federation](https://www.apollographql.com/docs/federation/) [Domain Graph Service](https://www.infoq.com/news/2021/02/netflix-graphql-spring-boot/) 45:07 ### En pratique pour le développeur Je veux faire du GraphQL, maintenant quoi ? Quels frameworks choisir? Lien JS - mon language (e.g. Java) Comment définir son schéma Des outils qui aident à la génération des entités? Erreurs dans les requêtes Comment écrire ses requêtes, Qu’est-ce qui est possible Comment réduire les requêtes possibles générer 23 jointures? De pas afficher certaines données à l’utilisateur Comment faire des agrégations de plusieurs sources ? Modification des données Faire évoluer ses APIs Et quid des changements incompatibles? Pagination [AppoloGraphQL](https://www.apollographql.com/) [GraphiQL](https://github.com/graphql/graphiql) [GraphQL Playground](https://www.electronjs.org/apps/graphql-playground) [Postman](https://www.postman.com/graphql/) ### Sous le capot Qui définit GraphQL? Qui implémente? Les clients GraphQL Les Serveurs GraphQL Les GraphQL requête dans la base de données ### GraphQL Futur GraphQL federation Lee Byron qui part de Facebook, moins d'activités [La spec GraphQL](https://github.com/graphql/graphql-spec) ## Nous contacter Soutenez Les Cast Codeurs sur Patreon [Faire un crowdcast ou une crowdquestion](https://lescastcodeurs.com/crowdcasting/) Contactez-nous via twitter sur le groupe Google ou sur le site web
Originally published July 19, 2019 In 2011, Facebook had begun to focus its efforts on mobile development. Mobile phones did not have access to reliable, high bandwidth connections, and the Facebook engineering team needed to find a solution to improve the request latency between mobile clients and the backend Facebook infrastructure. One source of latency The post Facebook GraphQL with Lee Byron (Repeat) appeared first on Software Engineering Daily.
Originally published July 19, 2019In 2011, Facebook had begun to focus its efforts on mobile development. Mobile phones did not have access to reliable, high bandwidth connections, and the Facebook engineering team needed to find a solution to improve the request latency between mobile clients and the backend Facebook infrastructure.One source of latency was recursive data fetching. If a mobile application client made a request to the backend for newsfeed, the backend API would return the newsfeed, but some components of that feed would require additional requests to the backend. In practice, this might result in a newsfeed loading partially on a phone, but having a delayed loading time for the comments of a newsfeed item.GraphQL is a solution that came out of this problem of recursive data fetching. A GraphQL server provides middleware to aggregate all of the necessary information to serve a complete request. GraphQL connects to backend data sources and federates the frontend request across these different data sources.GraphQL was open sourced in 2015, and has found many use cases in addition to simplifying backend data fetching for mobile clients. Today, GraphQL is used by PayPal, Shopify, Twitter, and hundreds of other companies.Lee Byron is the co-creator of GraphQL and he joins the show to tell the story of GraphQL, and how it fit into Facebook's shift to mobile.
Originally published July 19, 2019 In 2011, Facebook had begun to focus its efforts on mobile development. Mobile phones did not have access to reliable, high bandwidth connections, and the Facebook engineering team needed to find a solution to improve the request latency between mobile clients and the backend Facebook infrastructure. One source of latency The post Facebook GraphQL with Lee Byron (Repeat) appeared first on Software Engineering Daily.
Originally published July 19, 2019 In 2011, Facebook had begun to focus its efforts on mobile development. Mobile phones did not have access to reliable, high bandwidth connections, and the Facebook engineering team needed to find a solution to improve the request latency between mobile clients and the backend Facebook infrastructure. One source of latency The post Facebook GraphQL with Lee Byron (Repeat) appeared first on Software Engineering Daily.
JavaScript Remote Conf 2020 May 14th to 15th - register now! Josh Ponelat is Software Architect at SmartBear working on Swagger and OpenAPI. He's from South Africa. Josh's father is a programmer and was heavily influenced by his father. He started with ANSI-C and hacking on shells. He studied graphic design in school. He got back into programming in PHP and MySQL and wound up transitioning to JavaScript. Host: Charles Max Wood Joined By Special Guest: Josh Ponelat Sponsors Sentry CacheFly ______________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ______________________________________ Links JSJ 409: Swagger and Open API with Josh Ponelat D3.js Swagger.io What is OpenAPI? SwaggerHub Immutable JSJ 243 Immutable.js with Lee Byron 231 RR GraphQL with Lee Byron Hacker News Clojure ClojureScript Parinfer Datomic Cloud Picks Josh Ponelat: Miro Pour Over Coffee Charles Max Wood: Interview Cake Docking Station
JavaScript Remote Conf 2020 May 14th to 15th - register now! Josh Ponelat is Software Architect at SmartBear working on Swagger and OpenAPI. He's from South Africa. Josh's father is a programmer and was heavily influenced by his father. He started with ANSI-C and hacking on shells. He studied graphic design in school. He got back into programming in PHP and MySQL and wound up transitioning to JavaScript. Host: Charles Max Wood Joined By Special Guest: Josh Ponelat Sponsors Sentry CacheFly ______________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ______________________________________ Links JSJ 409: Swagger and Open API with Josh Ponelat D3.js Swagger.io What is OpenAPI? SwaggerHub Immutable JSJ 243 Immutable.js with Lee Byron 231 RR GraphQL with Lee Byron Hacker News Clojure ClojureScript Parinfer Datomic Cloud Picks Josh Ponelat: Miro Pour Over Coffee Charles Max Wood: Interview Cake Docking Station
JavaScript Remote Conf 2020 May 14th to 15th - register now! Josh Ponelat is Software Architect at SmartBear working on Swagger and OpenAPI. He's from South Africa. Josh's father is a programmer and was heavily influenced by his father. He started with ANSI-C and hacking on shells. He studied graphic design in school. He got back into programming in PHP and MySQL and wound up transitioning to JavaScript. Host: Charles Max Wood Joined By Special Guest: Josh Ponelat Sponsors Sentry CacheFly ______________________________________ "The MaxCoders Guide to Finding Your Dream Developer Job" by Charles Max Wood is now available on Amazon. Get Your Copy Today! ______________________________________ Links JSJ 409: Swagger and Open API with Josh Ponelat D3.js Swagger.io What is OpenAPI? SwaggerHub Immutable JSJ 243 Immutable.js with Lee Byron 231 RR GraphQL with Lee Byron Hacker News Clojure ClojureScript Parinfer Datomic Cloud Picks Josh Ponelat: Miro Pour Over Coffee Charles Max Wood: Interview Cake Docking Station
We're kicking off a new decade by going back in time time to 1999, just 10 years after the birth of the internet. Our guest today is Lee Byron. He takes us on a tour of the early web and personal home pages. And connects the dots between PHP and technologies like React and GraphQL. His work — inside Facebook during a critical pivot to mobile — provides a unique vantage point on the progress of web technologies over the past 20 years.
Topics include:- 5:41 – Hasura, React, URQL + Formik = Nutrition app- 44:51 – React to the Future by Jordan Walke Links:- [URQL](https://formidable.com/open-source/urql/)- [Formik](https://jaredpalmer.com/formik)- [Reach Dialog](https://reacttraining.com/reach-ui/dialog)- [Dan Abramov's tweet on controlled/uncontrolled components](https://twitter.com/dan_abramov/status/1200436185426006017)- [React to the Future - Jordan Walke](https://www.youtube.com/watch?v=5fG_lyNuEAw)- [Let's Program Like It's 1999 - Lee Byron](https://www.youtube.com/watch?v=vG8WpLr6y_U)- [Functional Programming in 40 Minutes - Russ Olsen](https://www.youtube.com/watch?v=0if71HOyVjY)- [Reason ML](https://reasonml.github.io)
In 2011, Facebook had begun to focus its efforts on mobile development. Mobile phones did not have access to reliable, high bandwidth connections, and the Facebook engineering team needed to find a solution to improve the request latency between mobile clients and the backend Facebook infrastructure. One source of latency was recursive data fetching. If The post Facebook GraphQL with Lee Byron appeared first on Software Engineering Daily.
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan CacheFly Host: Charles Max Wood Special Guest: Lee Byron Episode Summary In this episode of My Ruby Story, Charles hosts Lee Byron, web engineering lead at Robinhood, a financial services company based in California. Listen to Lee on the podcast JavaScript Jabber on this episode and on the podcast Ruby Rogues on this episode. Links JavaScript Jabber 243: Immutable.js with Lee Byron Ruby Rogues 231: GraphQL with Lee Byron Lee’s Medium Lee’s Website Lee’s Twitter Lee’s GitHub https://devchat.tv/my-javascript-story/ https://www.facebook.com/DevChattv Picks Lee Byron: The Arm Cortex-M4 processor Charles Max Wood: allrecipes.com Walmart Grocery Pick Up
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan CacheFly Host: Charles Max Wood Special Guest: Lee Byron Episode Summary In this episode of My Ruby Story, Charles hosts Lee Byron, web engineering lead at Robinhood, a financial services company based in California. Listen to Lee on the podcast JavaScript Jabber on this episode and on the podcast Ruby Rogues on this episode. Links JavaScript Jabber 243: Immutable.js with Lee Byron Ruby Rogues 231: GraphQL with Lee Byron Lee’s Medium Lee’s Website Lee’s Twitter Lee’s GitHub https://devchat.tv/my-javascript-story/ https://www.facebook.com/DevChattv Picks Lee Byron: The Arm Cortex-M4 processor Charles Max Wood: allrecipes.com Walmart Grocery Pick Up
Sponsors Sentry use the code “devchat” for 2 months free on Sentry small plan CacheFly Host: Charles Max Wood Special Guest: Lee Byron Episode Summary In this episode of My Ruby Story, Charles hosts Lee Byron, web engineering lead at Robinhood, a financial services company based in California. Listen to Lee on the podcast JavaScript Jabber on this episode and on the podcast Ruby Rogues on this episode. Links JavaScript Jabber 243: Immutable.js with Lee Byron Ruby Rogues 231: GraphQL with Lee Byron Lee’s Medium Lee’s Website Lee’s Twitter Lee’s GitHub https://devchat.tv/my-javascript-story/ https://www.facebook.com/DevChattv Picks Lee Byron: The Arm Cortex-M4 processor Charles Max Wood: allrecipes.com Walmart Grocery Pick Up
In this episode, Lee Byron takes us through his personal journey where curiosity, the desire to make things, and some happy accidents led him to change how we all think about APIs with GraphQL. We also discuss Open Source, designing products, and his recent move from Facebook to Robinhood. See acast.com/privacy for privacy and opt-out information.
GUEST BIO: Lee Byron is helping to lead web engineering at Robinhood having previously worked for Facebook for nearly ten years. He is also an open source contributor and was a co-creator of GraphQL whilst at Facebook, which is an open source data query and manipulation language for APIs. EPISODE DESCRIPTION: Phil’s guest on today’s show is Lee Byron. He spent the first 10 years of his career working at Facebook. While there he developed several new tools, mainly for mobile. His work at Facebook led to Lee co-creating GraphQL. In 2018, he left and joined Robinhood. There, he is helping to lead web engineering and fulfill the company’s mission of democratizing access to America’s financial services. KEY TAKEAWAYS: (1.03) – So Lee, can you expand on that brief introduction and tell us a little bit more about yourself? Lee explains that he spent 10 years at Facebook, where he started out as a data scientist. Eventually, becoming a product designer working on Facebook Mobile, then on Front End Engineering, this led to him co-creating GraphQL. Lee has now moved on to Robinhood helping them to democratize finance by solving some of their technical challenges. (2.04) Phil speculates that Lee must have seen a big difference between the cultures of Facebook and Robinhood. Lee agrees, but explains that there were also quite a few similarities. When he first joined Facebook there were only around 400 people working there. Right now Robinhood is a similar size, with around 250 people. Both companies are very product orientated. They both “lend trust to the team” and transparency levels are high. Facebook held weekly Q&A sessions where people like Mark Zuckerburg gave a roundup about the important things that were happening then took questions. Often, answering quite tough questions. A process that makes sure that the tough conversations are had, Robinhood does something similar. (4.06) – Phil asks Lee for a unique IT career tip. Lee says he always looks for the overlap between two different skill sets. When you do that, it is possible to find a way into something new and can begin to solve problems in that field. He has very little formal training. Instead, he learns by doing. Lee has progressed mostly by seeing a problem, finding the end of the thread and pulling on it. This process leads him through the underlying issues and pushes him to find a solution to each of them, which, eventually, solves the overall problem. Over time, he has learned to get past his feelings of being an imposter because he has no formal training. Lee now realizes that when he is working with people who are smarter than him, that is a good thing. He can still contribute and, importantly, learn from everyone else, at the same time. (5.54) – Lee is asked to share his worst career moment and what he learned from it. Lee said that while at Facebook he bet big on HTML and the web platform as a way to do mobile development. They built a mobile website version that had a higher level of functionality than the existing app did. The mobile website worked extremely well on touch devices on Android and iOS. All in all, they reasoned, the site was well received and worked. So, they doubled down on that way of doing things. When it was time to build the iOS and Android apps out they did it in a similar way. Basically, the apps were glorified web browsers loading pages. At the time, this seemed like the right approach. After all iOS had mobile Safari and Android had their own browser. It seemed logical that these would be developed over time and continues to get better. Unfortunately, the opposite happened they got buggier. As a result, the functionality of the mobile site lagged further and further behind the desktop version of Facebook. In the end, they had to change direction. At that stage, Mark Zuckerburg stated that focusing on HTML5 had been a mistake. Naturally, for Lee, this was hard to hear. But, the good thing about the whole incident is that they went on to put together an API to enable native iOS and Android apps to be developed. That in turn, led Lee and his team, to create GraphQL. One of the things he is most proud of. (11.52) – Phil asked Lee if he now does anything differently to ensure that he will not pick the wrong technology, again. Lee explains that, nowadays, when working on a project he pauses at regular intervals and asks whether the choices he is making are still the right ones. Technology moves at a fast rate, so doing this is essential. In 2009, building a high-quality mobile website made a lot of sense for Facebook. But, by 2011, user habits had shifted significantly. People were now using their mobile phones far more than they were using touchscreen tablets and similar devices. That was the point at which Lee and his team should have switched from developing the mobile website to developing full iOS and Android apps. Instead, they doubled down on the work they had already done, which was a mistake. (14.25) – Phil asks Lee what his best career moment was. For Lee, that was the open sourcing of GraphQL and building that community. GraphQL was written in Hack a dialect of PHP that was developed by Facebook. The language was open source, but still not widely used, so Lee was not sure about open sourcing GraphQL. The other problem was that GraphQL had evolved over 3 years, so it was not a crisp, clean tool. Fortunately, despite these issues, the Relay team still pushed to share GraphQL. Relay is a piece of software that ties React together with GraphQL. People in the open source community were really interested in Relay and wanted to build data-rich tools for Facebook, using it. So, the Relay team wanted to talk more publically about GraphQL more. In the end, everyone agreed to make it public. So, Lee’s team went through every item explaining what it was for and how it worked alongside and listed that information alongside the appropriate piece of pseudo code to produce an in-depth specification. Then they built a JavaScript library, so that everything could be more widely understood. They also built a new version of Graphical using JavaScript. Finally, they open sourced all of this. It was extremely well received. Within 6 months, the community had replicated everything in nine different languages, including Ruby, Android, iOS and Python. Naturally, for Lee and his team this was very gratifying, a real highlight of his career. (21.56) – Phil asks Lee what excites him about the future of the IT industry. The fact that so many technologies are becoming democratized is something that Lee finds exciting. He is especially excited to see this happening with technologies like AI. He predicts that within the next 10 years we will be using machine learning in ways that are currently unimaginable to us. He is also excited by the fact that we are finding effective ways to collaborate and work remotely. This change means that regardless of where a developer lives they will have the chance to work on all kinds of projects. As a result, everyone will have more IT career opportunities. (25.13) – What drew you to a career in IT? Lee was always interested in computers, but art, architecture and design were his passions. Lee had built websites in High School and found it really boring, so he really did not want to do that. But, when it was time to find work the financial crisis was in full swing. So, there was not that much work around. Luckily, through a personal connection, he got taken on as an intern at The New York Times. It was in the data graphics department, work that turned out to be very interesting. One day, the head of data science from Facebook contacted him and offered him the chance to work for them. But, he was not sure. At the time, social media was not that big and Facebook was still at the startup stage. Plus, the role would have had him working on building a website. But, when he talked to them, he was impressed. So, he took the job. Lee was supposed to be mostly helping the data science team, to interact with the press and explain what they were learning to the rest of the company. But, he was not kept busy enough just doing those tasks. So, he started doing small jobs for the design team. In time, he was asked to join them full-time. At first, he said no. But, when he was given a bigger mobile related project to work on, he was inspired and started working in design full-time. (29.34) – What is the best career advice you have ever received? Lee said it was – “back up and look at the big picture.” This does not come naturally to Lee. But, every time he has made the effort to follow this advice, he has been able to pick up major issues. Spotting them sooner rather than later created the chance for him to fix things. If he had not stepped back, he would never have spotted those issues. (31.32) – If you were to start your IT career again, now, what would you do? Lee thinks he would probably have ended up doing something totally different. Just because he would have seen something interesting and gone off and explored it. Right now, the intersection between machine learning and the interesting new things that are happening in technology and education particularly interests Lee. He would love to work on the design of interactive exhibits and educational tools to produce exhibits and educational materials that are truly immersive. (34.13) – Phil asks Lee what he is currently focusing on, in his career. Right now, Lee’s main focus is helping Robinhood to grow. He believes that their mission is genuinely important. Finances and financial services are extremely complicated, even for someone like him, who is a bit of a nerd and a spreadsheet fiend. He really wants to be involved in demystifying things for ordinary people, so they can make the best decisions. Once they understand the options and how to access them they can invest and borrow without having to pay over the odds to do so. (36.44) – What’s the number one non-technical skill that has helped you in your IT career? Having a good understanding of how people interact with things has always helped Lee. This is a skill that he began learning, during his design studies. A lot of the principles that he learned then apply equally to digital and physical products. (38.18) – Phil asks Lee to share a final piece of career advice. Lee reiterates what he said earlier. He said that finding the overlap between skills and chasing that is what has helped him in his career. When you do that, one thing leads to another and it is easier for you to step into what are sometimes very different roles. BEST MOMENTS: (4.15) LEE – “The thing that has helped me the most is looking for the overlap between two different skill sets.” (5.09) LEE – “Learn to get over imposter syndrome.” (14.08) LEE – “Just spend a month or so just evaluating technologies before you move forward.” (22.58) LEE – “I think 10 years from now, a lot of the software that we write will use machine learning in fascinating ways.” (39.38) LEE – “If you can find two things that you're good at that you don't think are related to each other, figure out where they overlap. There's almost always something really interesting there.” CONTACT LEE BYRON: Twitter: https://twitter.com/leeb Github: https://github.com/leebyron
On this episode of the Bike Shed, Matt Sumner returns to chat with Chris about their recent adventures. They start by discussing Matt's ongoing work building an open source Ethereum implementation in Elixir and the joys of a test suite guiding your work. From there, Matt asks Chris about Chris's recent trip to speak at GraphQL Summit and his take on the current state of affairs in the GraphQL world (hint, it's good). Matt and Chris then discussed the progress they've made on simpler form handling in React applications and consider how far they could go with this, and then discuss the recent announcement of React Hooks. And finally, they discuss the fact that thoughtbot is hiring, and we think you should apply! Head on over to thoughtbot.com/jobs and drop us a line :) Mana - ethereum Heroku SSH Erlang OTP GraphQL Summit 2018 GraphQL Foundation Apollo GraphQL Prisma Graph.cool Falcor (Netflix GraphQL-like library) JSON Graph Lee Byron Nick Schrock Shopify GraphQL Design Tutorial Chris Toomey: React & GraphQL – Bringing Simplicity to Client Side Development video CodeSandbox Proof of Concept - Simple React Form Handling Formik & Yup React -- Introducing Hooks React Hooks RFC (now merged)
In this episode I'm joined by Lee Byron, former Facebook employee, who is one of the co-creators of GraphQL. Coming from RESTful API development, I've run into many pain-points that GraphQL works to alleviate, and is one of the reasons why I've become such an advocate for it for modern development. Lee and I spend a lot of time discussing the fundamentals of GraphQL and how to get started with it in development. Not only are we focusing on the how, but we are also focusing on the why, which is very important when evaluating a new technology and methodology. A brief writeup to this episode can be found via https://www.thepolyglotdeveloper.com/2018/08/tpdp-e20-graphql-api-development/
Relay is a JavaScript framework for building data-driven React applications. Facebook open sourced Relay around the same time they open sourced GraphQL, and Facebook expected Relay to be the more popular of the two projects. However, the reality was reversed. Open source companies like Meteor quickly began to build GraphQL tools and a few businesses The post Relay Modern with Lee Byron and Joe Savona appeared first on Software Engineering Daily.
1:05 - Introducing Lee Byron Ruby Rogues episode 1:55 - Immutable.js 4:35 - Modifying data and operations using Immutable.js 7:40 - Explaining Big-O notation in layman’s terms 11:30 - Internal tree structures and arrays 15:50 - Why build with Immutable.js? 23:05 - Change detection with a mutable 25:00 - Computer science history 34:35 - Other positives to using mutables 37:50 - Flux and Redux 39:50 - When should you use a mutable? 46:10 - Using Immutable.js instead of the built-in Javascript option 51:50 - Learning curves and learning materials Docs 54:50 - Bowties Knotty Co Picks: Contractor by Andrew Ball 17 Hats (Charles) Asana (Charles) Call of Duty Infinite Warfare (Joe) LEGO Star Wars (Joe) Advent of Code (Lee)
1:05 - Introducing Lee Byron Ruby Rogues episode 1:55 - Immutable.js 4:35 - Modifying data and operations using Immutable.js 7:40 - Explaining Big-O notation in layman’s terms 11:30 - Internal tree structures and arrays 15:50 - Why build with Immutable.js? 23:05 - Change detection with a mutable 25:00 - Computer science history 34:35 - Other positives to using mutables 37:50 - Flux and Redux 39:50 - When should you use a mutable? 46:10 - Using Immutable.js instead of the built-in Javascript option 51:50 - Learning curves and learning materials Docs 54:50 - Bowties Knotty Co Picks: Contractor by Andrew Ball 17 Hats (Charles) Asana (Charles) Call of Duty Infinite Warfare (Joe) LEGO Star Wars (Joe) Advent of Code (Lee)
1:05 - Introducing Lee Byron Ruby Rogues episode 1:55 - Immutable.js 4:35 - Modifying data and operations using Immutable.js 7:40 - Explaining Big-O notation in layman’s terms 11:30 - Internal tree structures and arrays 15:50 - Why build with Immutable.js? 23:05 - Change detection with a mutable 25:00 - Computer science history 34:35 - Other positives to using mutables 37:50 - Flux and Redux 39:50 - When should you use a mutable? 46:10 - Using Immutable.js instead of the built-in Javascript option 51:50 - Learning curves and learning materials Docs 54:50 - Bowties Knotty Co Picks: Contractor by Andrew Ball 17 Hats (Charles) Asana (Charles) Call of Duty Infinite Warfare (Joe) LEGO Star Wars (Joe) Advent of Code (Lee)
Fredrik talks to Pete Hunt about monoliths, breaking them up and when not to. And of course React, how it came about and how the introduction to the world looked from the inside. How to handle releases of software and working with communication around it. What happens when you go from underdog to being the safe choice? This episode was recorded during the developer conference Øredev 2015, where Pete gave presentations on monolith-first apps with Node and building React backends. Thank you Cloudnet for sponsoring our VPS! Comments, questions or tips? We are @kodsnack, @tobiashieta, @oferlund och @bjoreman on Twitter, have a page on Facebook and can be emailed on info@kodsnack.se if you want to write something longer. We read everything you send. If you like Kodsnack we would love a review in iTunes! Links Pete Hunt Kubernetes Lee Byron and his talk on Graphql The Graphql introduction talk from React Europe 2015 Smyte - where Pete currently works Pete’s talk from JSconf EU - Rethinking best practises The future of Javascript MVC frameworks React-motion Titles Everyone has a monolith Follow the hype train HTML in my Javascript! It’s let me leave work earlier
Go check out Rails Remote Conf! 02:30 - Lee Byron Introduction Twitter GitHub Blog Facebook 02:46 - GraphQL [GitHub] graphql Relay 04:16 - GraphQL vs REST 09:43 - Endpoints Security 13:33 - How the Stack Works graphql-ruby 19:35 - GraphQL on the Front and Back Ends Type Checking Contracts Versions 36:14 - Calculating Tradeoffs 43:38 - Structuring 46:17 - Building the Ecosystem 48:16 - Use with Other Frameworks JavaScript Jabber Episode #152: GraphQL and Relay with Nick Schrock and Joe Savona 49:50 - GraphQL vs Falcor 52:20 - How would you have made GraphQL differently? 54:06 - React Native 56:29 - REST => GraphQL ElixirConf 57:36 - Types Picks San Francisco (Jessica) Dolores Park (Jessica) Greg Heo: Outlining Your Conference Talk Pixar-style (Coraline) Walnut (Coraline) Tandy Leather (David) Ian Atkinson on YouTube (David) Bruce Cheaney on YouTube (David) Springfield Leather (David) Tandy Leather Outlet (David) The Ionic Framework (Chuck) CharlesMaxWood.com (Chuck) Rails Remote Conf (Chuck) All Remote Confs (Chuck) JS Remote Conf (Chuck) Flow (Lee) The Firesteel: A Novel by Ash Huang (Lee)
Go check out Rails Remote Conf! 02:30 - Lee Byron Introduction Twitter GitHub Blog Facebook 02:46 - GraphQL [GitHub] graphql Relay 04:16 - GraphQL vs REST 09:43 - Endpoints Security 13:33 - How the Stack Works graphql-ruby 19:35 - GraphQL on the Front and Back Ends Type Checking Contracts Versions 36:14 - Calculating Tradeoffs 43:38 - Structuring 46:17 - Building the Ecosystem 48:16 - Use with Other Frameworks JavaScript Jabber Episode #152: GraphQL and Relay with Nick Schrock and Joe Savona 49:50 - GraphQL vs Falcor 52:20 - How would you have made GraphQL differently? 54:06 - React Native 56:29 - REST => GraphQL ElixirConf 57:36 - Types Picks San Francisco (Jessica) Dolores Park (Jessica) Greg Heo: Outlining Your Conference Talk Pixar-style (Coraline) Walnut (Coraline) Tandy Leather (David) Ian Atkinson on YouTube (David) Bruce Cheaney on YouTube (David) Springfield Leather (David) Tandy Leather Outlet (David) The Ionic Framework (Chuck) CharlesMaxWood.com (Chuck) Rails Remote Conf (Chuck) All Remote Confs (Chuck) JS Remote Conf (Chuck) Flow (Lee) The Firesteel: A Novel by Ash Huang (Lee)
Go check out Rails Remote Conf! 02:30 - Lee Byron Introduction Twitter GitHub Blog Facebook 02:46 - GraphQL [GitHub] graphql Relay 04:16 - GraphQL vs REST 09:43 - Endpoints Security 13:33 - How the Stack Works graphql-ruby 19:35 - GraphQL on the Front and Back Ends Type Checking Contracts Versions 36:14 - Calculating Tradeoffs 43:38 - Structuring 46:17 - Building the Ecosystem 48:16 - Use with Other Frameworks JavaScript Jabber Episode #152: GraphQL and Relay with Nick Schrock and Joe Savona 49:50 - GraphQL vs Falcor 52:20 - How would you have made GraphQL differently? 54:06 - React Native 56:29 - REST => GraphQL ElixirConf 57:36 - Types Picks San Francisco (Jessica) Dolores Park (Jessica) Greg Heo: Outlining Your Conference Talk Pixar-style (Coraline) Walnut (Coraline) Tandy Leather (David) Ian Atkinson on YouTube (David) Bruce Cheaney on YouTube (David) Springfield Leather (David) Tandy Leather Outlet (David) The Ionic Framework (Chuck) CharlesMaxWood.com (Chuck) Rails Remote Conf (Chuck) All Remote Confs (Chuck) JS Remote Conf (Chuck) Flow (Lee) The Firesteel: A Novel by Ash Huang (Lee)