Podcasts about mikeal rogers

  • 24PODCASTS
  • 86EPISODES
  • 57mAVG DURATION
  • ?INFREQUENT EPISODES
  • Oct 7, 2022LATEST

POPULARITY

20172018201920202021202220232024


Best podcasts about mikeal rogers

Latest podcast episodes about mikeal rogers

Sustain
Episode 141: Melissa Mendonça on being a Developer Experience Engineer for scientific OSS

Sustain

Play Episode Listen Later Oct 7, 2022 44:58


Guest Melissa Mendonça Panelists Richard Littauer | Amanda Casari Show Notes Hello and welcome to Sustain! The podcast where we talk about sustaining open source for the long haul. Today, we are so excited to have a wonderful guest, Melissa Mendonça, joining us. Melissa is a Senior Developer Experience Engineer at Quansight, where she focuses more on developer experience and contributor experience. Today, we'll hear all about Quansight and the focus for Melissa's role as a Developer Experience Engineer. Melissa tells us about a grant they are working on with CZI that focuses on NumPy, SciPy, Matplotlib, and pandas, she shares several ideas on what can be done to make people feel seen and heard, and we hear her thoughts on what the future of community management and community development looks like for people entering the role of these projects. Go ahead and download this episode now to hear more! [00:01:25] Melissa tells us her background and her role at Quansight. [00:03:41] When Melissa made the decision to switch from one role to another, Amanda asks if that was her plan or if she learned that the skills that she needed to get things done changed over time. [00:06:10] We find out what the focus is for Melissa's role as a Developer Experience Engineer and what she does on a day-to-day basis. [00:08:43] As Melissa was talking about her projects that they work on at Quansight, Amanda wonders if that's the majority of her portfolio, or if she works across different kinds of projects. We learn about the current grant they are working on with CZI that focuses on NumPy, SciPy, Matplotlib, and pandas. [00:13:18] We learn about the funding model and how sustainable it is. [00:16:20] Melissa shares some great ideas on how we can put more effort into making people feel seen and heard. [00:19:26] Melissa details some things she learned with the open source projects and things she recommends for others with large established projects. [00:22:44] Amanda talks about a 2020 paper that was released in nature called “Array programming with NumPy,” and Melissa gives us her perspective on what happened with the community in 2020, if things have changed, and what needs to be addressed. [00:27:09] Find out how CZI got involved with Melissa's work, what their goals are, and how she's changing in order to adapt towards those goals. [00:31:32] Melissa shares her thoughts on what the future of community management and community development looks like for people who are entering the role for those projects. [00:36:40] We hear more about Python Brasil 2022 that's coming up. [00:38:05] Find out where you can follow Melissa online and learn more about her work. Quotes [00:02:49] “Since Quansight is a company very focused on sustaining and helping maintain open source projects, we are trying to help new contributors, people who want to do the move from contributor to maintainer, understanding what that means, and how we can help them get there, and how we can help improve leadership in our open source projects.” [00:11:53] “This is one of the barriers that we want to break, is that making sure that people understand that these are important, they are core projects in the scientific Python ecosystem, but at the same time they are projects just like any other.” [00:12:17] “I think experience of working with projects that are so old and big has taught me a lot about the dynamics of how people work and how new people try to join these projects and how we can improve on that.” [00:16:41] “We need to make sure that people who do contribution outside of code are credited and that they are valued inside open source projects.” [00:18:20] “I think we should think about diversifying these paths for contribution, but for that we need to go beyond GitHub. We need to go beyond the current metrics that we have for open source, we need to go beyond the current credit system and reputation system that we have for open source contributions.” [00:30:38] “Community managers are not second-class citizens.” Spotlight [00:39:21 Amanda's spotlight is a 2014 paper from MSR called, “The Promises and Perils of Mining GitHub.” [00:40:48] Richard's spotlight is the book, Don't Sleep, There Are Snakes, by Daniel Everett. [00:41:52] Melissa's spotlights are Ralf Gommers and Scientific Python initiative. Links SustainOSS (https://sustainoss.org/) SustainOSS Twitter (https://twitter.com/SustainOSS?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor) SustainOSS Discourse (https://discourse.sustainoss.org/) podcast@sustainoss.org (mailto:podcast@sustainoss.org) Richard Littauer Twitter (https://twitter.com/richlitt?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor) Amanda Casari Twitter (https://twitter.com/amcasari?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor) Melissa Mendonça Twitter (https://twitter.com/melissawm) Melissa Mendonça LinkedIn (https://br.linkedin.com/in/axequalsb) Melissa Mendonça GitHub (https://melissawm.github.io/) Quansight (https://quansight.com/) Quansight Labs (https://labs.quansight.org/) Quansight Lab Projects (https://labs.quansight.org/projects) Quansight Labs Team (https://labs.quansight.org/team) Sustain Podcast-Episode 57: Mikeal Rogers on Building Communities, the Early Days of Node.js, and How to Stay a Coder for Life (https://podcast.sustainoss.org/guests/mikeal) Sustain Podcast-Episode 85: Geoffrey Huntley and Sustaining OSS with Gitpod (https://podcast.sustainoss.org/85) Advancing an inclusive culture in the scientific Python ecosystem (CZI grant for NumPy, SciPy, Matplotlib, and Pandas (https://figshare.com/articles/online_resource/Advancing_an_inclusive_culture_in_the_scientific_Python_ecosystem/16548063) Sustain Podcast-Episode 79: Leah Silen on how NumFocus helps makes scientific code more sustainable (https://podcast.sustainoss.org/79) NumPy (https://numpy.org/) SciPy (https://scipy.org/) Matplotlib (https://matplotlib.org/) pandas (https://pandas.pydata.org/) Sustain Podcast-Episode 64: Travis Oliphant and Russell Pekrul on NumPy, Anaconda, and giving back with FairOSS (https://podcast.sustainoss.org/guests/oliphant) Tania Allard Twitter (https://twitter.com/ixek?lang=en) Array programming with NumPy (nature) (https://www.nature.com/articles/s41586-020-2649-2) Python Brasil 2022 (https://2022.pythonbrasil.org.br/) “The Promises and Perils of Mining GitHub,” by Eirini Kalliamvakou, Georgios Gousios, Kelly Blincoe, Leif Singer, Daniel M. German, Daniela Damian (https://kblincoe.github.io/publications/2014_MSR_Promises_Perils.pdf) “The Promises and Perils of Mining GitHub,” by Eirini Kalliamvakou, Georgios Gousios, Kelly Blincoe, Leif Singer, Daniel M. German, Daniela Damian (ACM Digital Library) (https://dl.acm.org/doi/10.1145/2597073.2597074) Daniel Everett (Wikipedia) (https://en.wikipedia.org/wiki/Daniel_Everett#Don't_Sleep,_There_Are_Snakes:_Life_and_Language_in_the_Amazonian_Jungle) Excerpt: ‘Don't Sleep, There Are Snakes' (npr) (https://www.npr.org/2009/12/23/121515579/excerpt-dont-sleep-there-are-snakes?t=1661871384424) Ralf Gommers (GitHub) (https://github.com/rgommers) Scientific Python (https://scientific-python.org/) Credits Produced by Richard Littauer (https://www.burntfen.com/) Edited by Paul M. Bahr at Peachtree Sound (https://www.peachtreesound.com/) Show notes by DeAnn Bahr Peachtree Sound (https://www.peachtreesound.com/) Special Guest: Melissa Mendonça.

JS Party
This is JS Party!

JS Party

Play Episode Listen Later Apr 13, 2022 1:30


JS Party is a weekly celebration of JavaScript and the web so fun is at the heart of every episode. We play games like Frontend Feud… (clip from episode #192) Discuss and analyze the news… (clip from episode #213) Explain technical concepts to each other like we're 5… (clip from episode #195) Debate hot topics like should websites work without JS? (clip from episode #87) Interiew amazing devs like Rich Harris and Una Kravets… (clip from episode #167) This is JS Party! Listen and subscribe today. We'd love to have you with us.

Changelog Master Feed
This is JS Party! (JS Party)

Changelog Master Feed

Play Episode Listen Later Apr 13, 2022 1:30


JS Party is a weekly celebration of JavaScript and the web so fun is at the heart of every episode. We play games like Frontend Feud… (clip from episode #192) Discuss and analyze the news… (clip from episode #213) Explain technical concepts to each other like we're 5… (clip from episode #195) Debate hot topics like should websites work without JS? (clip from episode #87) Interiew amazing devs like Rich Harris and Una Kravets… (clip from episode #167) This is JS Party! Listen and subscribe today. We'd love to have you with us.

Sustain
Episode 102: Ele Diakomichalis and Radicle

Sustain

Play Episode Listen Later Dec 17, 2021 39:31


Guest Ele Diakomichalis Panelists Richard Littauer | Eric Berry | Pia Mancini Show Notes Hello and welcome to Sustain! The podcast where we talk about sustaining open source for the long haul. We are very excited to have as our guest today, Ele Diakomichalis, who is one of the Co-Founders and one of the core contributors to Radicle. What is Radicle? It's a decentralized stack for code collaboration that enables developers to collaborate on code, govern code, and fund code in a decentralized way. Ele fills us in more about Radicle, how many people are on the team, how many people use it, the financial commitment to using Radicle, and he explains the three layers to the Radicle stack. Also, we find out Ele's pipe dream for long-term usage of Radicle and his thoughts on how he thinks he can change the coding space for JavaScript and Ruby coders, and people who want to make open source better. Go ahead and download this episode now to find out more about how to get involved in Radicle! [00:01:28] Ele fills us in on what Radicle is and why it's so awesome. Also, we learn how Radicle is different than using GitHub and then paying people through Open Collective using Ethereum. [00:08:39] We learn more about the financial commitment that somebody using Radicle might be obligated to or not obligated to. [00:15:29] Richard wonders what the current scope of Radicle is, how many people use it, and how big the team is. [00:18:09] What is Ele's pipe dream for long-term usage of Radicle for the average contributor who doesn't want anything to do with P2P or Crypto, and how does he think he can change the coding space for JavaScript coders, Ruby coders, or people who are interested in just making open source better and working on stuff? [00:22:42] The topic of finding a path for open source creators to capture more value out of their creations through a coin or token is brought up by Pia and she wonders how that's looking now for Ele with Radicle, as well as challenges of paying or getting paid for value creation in open source. [00:32:12] If you want to get involved in Radicle find out where you can go. [00:33:25] Find out where you can follow Ele online. Quotes [00:06:25] “One of the things that we actually do with Radicle is actually leveraging Ethereum for code governance.” [00:13:28] “The last thing is basically what we call Radicle Funding, and this is basically our contribution to the open sustainability problem where you, as a maintainer, you can actually raise funds from your supporters, either as donations or in exchange for something within your community.” [00:19:17] “The second thing that it's more of a dream or a hope, but I really feel that what we're doing with Radicle works is introducing a non-hierarchical model for collaboration.” [00:19:57] “We really hope that we're going to see a lot of these developers actually realizing that if we can also coordinate in a non-hierarchical way and sometimes this actually looks more beautiful.” [00:30:56] “Because we think that we need to create new cultural norms. We want to make this a norm that every time that you get paid, more developers get paid and try to create this more cyclical, regenerative, someone would say, open source economy.” Spotlight [00:34:31] Eric's spotlights are iPad mini 6, Gitcoin and Kevin Owocki, and the immense value that Richard Littauer provides to the community, as well as his videos to check out on YouTube called, “Francis Bacon and Eggs.” [00:36:09] Pia's spotlight is the Lex Fridman Podcast. [00:36:50] Richard's spotlight is Nassar Hayat. [00:37:29] Ele's spotlights are Abbey Titcomb, Nassar Hayat, IPFS, SSB, and other decentralized workers. Links SustainOSS (https://sustainoss.org/) SustainOSS Twitter (https://twitter.com/SustainOSS?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor) SustainOSS Discourse (https://discourse.sustainoss.org/) Eleftherios Diakomichalis Twitter (https://twitter.com/lftherios?lang=en) Eleftherios Diakomichalis Linkedin (https://de.linkedin.com/in/eleftheriosd) Elefttherios Diakomichalis Website (http://eleftherios.io/) Radicle (https://radicle.xyz/) Radicle Community (https://radicle.xyz/community.html) iPad mini (https://www.apple.com/shop/buy-ipad/ipad-mini) Kevin Owocki Twitter (https://twitter.com/owocki?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor) Francis Bacon and Eggs-Richard Littauer (YouTube) (https://www.youtube.com/playlist?list=PLYqf3zgG7JNPtk2z5Hnyh4-xEhLBkRfIG) Lex Fridman Podcast (https://lexfridman.com/podcast/) Nassar Hayat Twitter (https://twitter.com/nassarhayat/) Abbey Titcomb Twitter (https://twitter.com/abbey_titcomb) IPFS (https://ipfs.io/) Sustain Podcast- Episode 57-Mikeal Rogers on Building Communities, the Early Days of Node.js, and How to Stay a Coder for Life (https://podcast.sustainoss.org/guests/mikeal) Sustain Podcast- Episode 56-Dominic Tarr on Coding What You Want, Living On A Boat, and the Early Days of Node.js (https://podcast.sustainoss.org/guests/dominic) Sustain Podcast- Episode 68- Kevin Owocki-Introducing FundOSS.org: A new way of funding open source, by Gitcoin x Sustain (https://podcast.sustainoss.org/guests/kevin-owocki) Sustain Podcast- Episode 50- Kevin Owocki- Gitcoin, Quadratic Funding, and how Crypto can sustain Open Source (https://podcast.sustainoss.org/guests/kevin-owocki) Sustain Podcast- Episode 14-Kevin Owocki- Funding Open Source With Gitcoin (https://podcast.sustainoss.org/guests/kevin-owocki) Credits Produced by Richard Littauer (https://www.burntfen.com/) Edited by Paul M. Bahr at Peachtree Sound (https://www.peachtreesound.com/) Show notes by DeAnn Bahr Peachtree Sound (https://www.peachtreesound.com/) Special Guest: Ele Diakomichalis.

Modern Finance
Where Data Lives in an IPFS/Filecoin World with Mikeal Rogers

Modern Finance

Play Episode Listen Later Dec 8, 2021 51:16


Kevin is joined by Mikeal Rogers, engineering manager at Protocol Labs, the team behind Filecoin and IPFS. Here, they try to answer the important questions around decentralized storage, like where our NFTs and data live in a Web3 world -- especially when a marketplace (like Hic et Nunc) goes down. Also, they discuss what Filecoin is and how it works with IPFS, when major browsers will support IPFS, how we can speed up IPFS image loading, and much more.

The Swyx Mixtape
[Weekend Drop] Sunil Pai: React and the Meta of the Web

The Swyx Mixtape

Play Episode Listen Later Sep 19, 2021 80:04


A wideranging convo with Sunil covering the future of React, the Third Age of JavaScript, and the Meta of online discourse.Watch on YouTube: https://www.youtube.com/watch?v=H3h1WICelqsFollow Sunil: https://twitter.com/threepointoneChapters: [00:01:40] React and Temporal, Declarative vs Imperative My Temporal Explainer: https://twitter.com/swyx/status/1417165270641045505 https://www.solidjs.com/  [00:12:57] State Charts and Lucylang https://lucylang.org/ XState and Stately https://stately.ai/viz [00:17:08] The Future of React [00:25:03] React Streaming Server Rendering vs SSR/JAMstack/DSG/DPR/ISR ReactDOMServer.renderToNodeStream() Sunil's Slides: https://www.icloud.com/keynote/0MyOJkDIOVfFit76PqJFLvPVg#react-advanced https://react-lazy.coolcomputerclub.com/  [00:33:13] Next.js and the Open Source Commons [00:38:46] The Third Age of JavaScript Third Age of JS  Benedict Evans (not Sinofsky) on Word Processors: https://www.ben-evans.com/benedictevans/2020/12/21/google-bundling-and-kill-zones [00:45:16] ESbuild vs SWC vs BunBun (Jarred Sumner) https://twitter.com/jarredsumner/status/1390084458724741121  [00:50:46] Let Non-X Do X: Figma vs Canva, Webflow vs Wix/Squarespace Canva vs Figma valuations https://twitter.com/swyx/status/1438102616156917767 [00:52:42] JavaScript Twitter and Notion's 9mb Marketing Site Notion 9mb JS Site Tweet mrmrs' Components.ai [01:06:33] React Server Components and Shopify Hydrogen/Oxygen https://twitter.com/swyx/status/1410103013885108229  [01:09:18] Categorical Imperatives of Web Platforms: Cloudflare vs AWS, MongoDB vs Auth0, Gatsby vs Netlify https://auth0.com/blog/introducing-auth0-actions/  [01:18:34] Wrap-up  Transcript [00:01:40] React and Temporal, Declarative vs Imperative  [00:01:40] swyx: Okay. So the first topic we want to talk about is React and Temporal, right?  [00:01:43] Sunil Pai: I feel Temporal is introducing a shift into the workflow ecosystem, which is very similar to the one that React introduced to the JavaScript framework system.  [00:01:54] swyx: That's the hope. I don't know if like my explanation of Temporal has reached everybody or has reached you. There are three core opinions, right? The first is that whenever you cross system boundaries, when you call it external API. So when you call internal microservices, there's a chance of failure and that multiplies, the more complex the system gets. [00:02:11] So you need a central orchestrator that holds all the retry states and logic, as well as timers And it tracks all the events and is able to resume from it from failure.  [00:02:21] Second opinion that you should have is you should do event sourcing rather than try to just write your business logic and then instrument with observability logs after the fact you should have your logs as the source of truth. And if it's not in the log, it did not happen.  [00:02:34] And then the final piece is the workflows as code, which is the one that you're focusing on, which is the programming model, in the sense that like all the other competitive workflow engines, like, Amazon step functions, Apache airflow, Dagster, like there's a bunch in this category. [00:02:48] They're all sort of JSON and YML DSLs, and the bind that you find yourself in is that basically you're reinventing a general purpose programming language inside of these JSON and YML DSLs because you find a need for loops, branching, variables functions, all the basic stuff. And, people find that like at the end of the day, all this tooling is available, you just have to make it run in inside of a general purpose programming language. So that's what Temporal offers.  [00:03:12] But it's very interesting because it kind of straddles the imperative versus declarative debate, right? [00:03:17] React, people view as declarative. And I think it's mostly declarative, like there's imperative escape hatches, and because it's declarative, people can have a single sort of render model of their entire app for the entire tree. And I think it makes sense to them. [00:03:32] And you're saying that that's better, right? That's better than the imperative predecessor of like jQuery and randomly hooking up stuff and not having things tied up together. You sounded like you want it to  [00:03:42] Sunil Pai: interrupt. So it's actually two things. One is the jQuery had an imperative API, and then they went way too hard into the declarative side with templating languages and then started reinventing stuff there. [00:03:54] So really react was like, no, you need access to an imperative language to create, you need a fully featured programming language to generate description trees like Dom trees or in this case, a workflow graphs.  [00:04:10] swyx: Got it. So it's kind of like a halfway solution, maybe, maybe anyway. So the problem with us is that we're trying to say that imperative is better than declarative, for the purposes of expressing general purpose business logic, which is an interesting sell for me because in all other respects, I'm very used to arguing to declarative is better. [00:04:33] Then there's also an idea that people should build declarative layers on top of us. And I, it's just a very interesting, like back and forth between declarative and imperative that I don't know where I really stands apart from like, wherever we are is never good enough. So we need to add another layer to solve the current problems  [00:04:51] Sunil Pai: there. [00:04:51] So there's a phrase for it and I forget what it's called the mechanism. It says that, uh, the system that allows you to execute stuff should not be the same system that prevents you from doing bad things. So there's a core, which is basically a fully featured API. And then you put guard rails around like the experiences. [00:05:12] For example, as an example, this is like adding TypeScript on top of JavaScript, let's say, unlike reason ML, let's say like, OCAML or a lot of very strongly type a language where if your code doesn't compile, you can't really run the code in TypeScript. There are times when you're like, you know what? [00:05:29] I need an escape hatch to actually like, do something like really funky here, X, Y, and Z, that that's not even well expressed in either the type system or sometimes even the language itself. You need to like hack it. And like, you might even email a couple of things. Uh, and in react, this was, I think when react came. [00:05:47] It wasn't just that it was a, oh, like there's JSX. It was very much, uh, okay. Uh, I have a lot of existing code, so I can add, React to one part of it and then hook onto the DOM, it renders and then have like this whole jQuery widget that I would like render onto the thing. Uh, so it gave you this whole incremental part to adopting the system, but then like after a point, like react consumes all of it. [00:06:11] And the fuck up with react is if you go too hard into react, doing stuff like animations is like impossible, which is why like we are at least a year or two away from a good animation API in React, or while you use, Framer or whatever Framer has become right now. Like frame of  [00:06:27] swyx: motion. No. Um,  [00:06:31] Sunil Pai: Yeah, but he's working. [00:06:32] I think Matt is now working on like a new, new thing. That's got a really funky name. Like, it sounds like a robot or something. All right. But it was curious to me that React's biggest deal was that, Hey, like, They talk about it being declarative, but a whole lot of things you wrote were like in regular-ass JavaScript, you would say on click and get an event and start doing things  [00:06:53] swyx: beautiful. [00:06:54] It's a perfect blend.  [00:06:56] Sunil Pai: Right. And you would suffer with this in. So there was the jQuery prototype phase, which was like directly imperative. And then they went hard in the other direction with type templating languages, like Jade and dust. And, uh, there were a number of popular ones at the time. And that's when like even Angular 1 became super popular because they're like, here's the whole kit and caboodle full whole framework. [00:07:18] And then React came and said, oh, well just the view. But that's because they didn't want to release like really yet. And they were like, yeah, this is all you need and the whole ecosystem. But anyway, so in temporal temporal for me is particularly interesting for that because it is now clearly making that. [00:07:35] I hate the phrase, but it's a good one. The paradigm shift of like how you start thinking about these systems and you just write some fucking code and then like you start adding on bits and guardrails for the things you want to do, which is on for the few hours I spent going through the docs and failing to get it running on my laptop. [00:07:53] That's my understanding of it. Feel free to correct me.  [00:07:56] swyx: Okay. Yeah. And I think you're right, actually, I'll try this messaging on you because, it's something that we're consciously designing for. In fact, I have a, one of my API proposals was, reacts like API for tempo. And so essentially what we enable you to do is bundle up each individual service or job into a component that we happen to call workflow. [00:08:21] And my struggle here is that I currently tie component to workflow because what is the component like? It's, it's something that's self-contained that is a deterministic. Like it has a strict rule of execution from top to bottom, right. It just does the same thing every single time, uh, where we differ and why I struggle with this is because we put all the side effects into things that we call activities. [00:08:44] That's where all the non-deterministic stuff goes. And that one gets retried, basically at Temporal's will and essentially Temporal is serving as the central runtime or framework that has knowledge of all these workflows and activities. And can re-render them based on its internal rules, I retries timeouts, uh, heartbeats, all that good stuff. So I struggled with things like, which is the component and which is the hook or the effect.  [00:09:08] And then there's other concepts. So, uh, we have ways to send signals into individual workflows, right? That's a very important property of the system that you can send data in while it's running and you can get data out while it's running. I'm not sure that's reflected in React at all. So maybe I'm stretching the analogy too much,  [00:09:24] Sunil Pai: Solid, had an answer for that the word signal. So like solid JS. This is by Ryan Carniato the Marco folks, signals are a first-class concept in the framework. Again, I haven't dived into it in detail in a while, but it feels like an important thing. And I always wondered why React actually didn't have it because props are something that you just like pass. [00:09:46] Right. And it's just a value, like if you like plot it on a graph, for example, it's, let's say if you had to have like a graph of binary values, it would be either zero or like one, and that would be the shape of the graph, but signals are something that can be like something that happens and yeah, just pops up and goes down, like pressing a key on the keyboard. [00:10:06] And that's actually not so easy to define in a, in a react like system, like, uh, which is why it's kind of hard to build like audio processing graphs with like React or JSX. Um, I don't have like a good answer. I'd probably have to like hack on Temporal a little more, but the idea of like signals as a channel, through which you can like send information and having it as a first class part of the system is something that's not represented well in well, in React at least. [00:10:33] Yeah. Well,  [00:10:34] swyx: isn't that in an action? For reducers  [00:10:38] Sunil Pai: and event effectively. Yes. Like it's basically one of those actions.  [00:10:42] swyx: The problem is that everything just ties right into the component tree instead of just having the component B and sort of isolated unit that can function independently.  [00:10:50] Sunil Pai: That's the other thing, which is a workflow engine isn't a directed acyclic graph. In fact, it could have cycles, it could have cycles and it could have a number of other things, which is the  [00:11:00] swyx: beautiful thing, by the way.  [00:11:02] For us coding, a subscription platform literally is charged Stripe sleeps 30 days, charged Stripe again, and then infinite loop until you cancel and then you break out of the loop. [00:11:13] That's it.  [00:11:13] Sunil Pai: That's awesome by the way. So I was actually thinking that someone's going to implement not someone's going to implement, uh, someone's going to use Redux saga on top of Temporal, that's what I was thinking, because then you will have generators that define like long running processes that are just talking to each other. [00:11:30] I think that would be good. CloudFlare also loved Temporal, by the way, like we were talking about it, like for awhile, they're like, oh, this is like fundamentally a new thing. And as you can imagine, some engineers were like, well, why isn't this running on workers? I'm like, I don't know why isn't it running on workers? [00:11:43] Like maybe we should get it there. [00:11:45] swyx: It is fairly heavy duty right now. We're trying to reduce that to a single binary, which could maybe run a workers. I'm not sure about the memory requirements that you guys have. It could, it's just not a priority for us based on our existing users.  [00:12:00] Sunil Pai: Um, I was just, I was saying what they're saying. [00:12:04] They want everything to run on workers and I'm like, dude, it's just like one small, weird isolated like condo.  [00:12:10] swyx: Ironically we also using V8 isolates for our TypeScript runtime. And that's just to make sure that people don't do non-deterministic stuff. So we did mock out everything, which is also pretty cool because whenever you use a library with, like setTimeout inside of that library, that persists to us as well. [00:12:25] So we set the durable timer. Your system can go down and we, we bring it back up and you're using our timer, not the JavaScript runtime timer, which is like just awesome. There's a trade off to that, which is, things don't work when you import them, like you would in a normal, Node.js project. [00:12:39] So most of, because you have to inject them into the environment of the V8 Isolate, you can't just randomly import stuff that as freely as you would in a normal node environment. So dependency injection and becomes a topic for us. [00:12:57] State Charts and Lucylang  [00:12:57] swyx: Um, yeah. We actually clashed a little bit with David Khourshid because David is on this warpath of like everything in a state machine, right. Everything in the time-tested 40 year old JSON format that describes state machines. And we actually thought we were going to be competitive with him for a while because for him, the thing about writing imperative code is that it's prone to bugs, right? Like you can not really see the full, possibly the full span of like all the possible states that you're exposing, but in a state machine everything's explicit so he was butting heads with our founder for awhile. [00:13:31] But I think recently he decided that he is better at building on top of us than trying to compete with us on the reliability front. So that's, that's kind of an interesting evolution that has happened over the past year on this topic of declarative versus imperative. [00:13:44] I'm still like coming to terms with it. Like I'm not fully okay with it yet, but, it clearly is more expressive and that's something I am Very in favor of, and I have genuinely looked at like the workflow solution from Google, the workflow solution from Amazon, and they are literally have you write the abstract syntax tree by hand in JSON and that's just absolutely no way that that's going to work. So I'm pretty down with the imperative approach for now.  [00:14:09] Sunil Pai: Well, that's, I figured at some point you will run XState on it and extent should work fairly well. I think contemporary, I don't see why it would. I think that that would actually,  [00:14:19] swyx: Honestly, I'm not really sure what he's going to charge for. He's pushing the idea of state machines and making it more of a commonly accepted thing. [00:14:26] Sunil Pai: Well, his pitch isn't even state machines. It's very specifically state charts and I love state charts. I even bought the book by the way, the Ian Horrocks $700. So when I got it on Amazon, it was $180. I was like, cheap. Let's do it. I got really lucky at the time. It, it fluctuates like mad by the way that that value, well, you should expense it now is what it is. [00:14:46] Um, but, uh, what struck me about the thing? Here's what I tried. I really liked it. And I took a course, a couple of steps back and I was trying to understand, well, why isn't it like a success? Why don't people get into it? And the truth is that this falls not just into the intersection of this is the intersection of like computers and humans in the sense that sure. [00:15:07] There are things that can be correct, but there are things that can be expressible as well. Like I don't even know what code I want to write when I'm sitting down to write it. I love to like discover it while I'm writing it and really. All the syntax that we have created and abstractions, we have created around programming languages have been purely to express these things and have let's call it implicit state machines, even though that implies that it's bad. [00:15:32] Um, so for example, if you look at state charts, there's no real good way to compose two state charts together. You have to like manually start wiring them together. And like, there's, you know, like you've got in react, you say, oh, combo, if you have two components to put it together, you put like a little, uh, function around it. [00:15:49] And now it's two components in one component. So it's important not just to have a good unit of computation, but to have it like be composable with each other so that you can gather it and then make this whole nesting doll react, Dom tree of things. And I think. Until there's an actual language that supports that has state charts as a first class primitive, much like Lucy, I think that's what Matthew Phillips built. [00:16:15] He wrote a, he wrote an actual language that compares to state charts called Lucy Lang. That was very cool by the way. Like, I really like it. Uh, well, and it's fairly young, so it's too early to say whether people like love it or not. And other than, but people like you and me who look at something like, wow, this is awesome. [00:16:33] Let's all use it. No, like to take a while to grow. But I think that's the state charts has a bit of dissonance with the languages that it's written in right now, because it's not a first-class thing. I mean, it's adjacent object with keys and. Okay. Like we can do better maybe. Uh, but I would not bet against David and the people he's hiring. [00:16:53] Like he's hurting some smart people, you know, they're all like pretty intelligent. So I'm curious to see how that plays out.  [00:17:00] swyx: I'm just glad that we're not competing. Uh, so that's, that's something that, that, that resolved itself without any intervention from me, which is very good. [00:17:08] The Future of React  [00:17:08] swyx: Well, let's have this conversation since it's related, should React to be more of a DSL,  [00:17:14] you know, this conversation that happened over this week, so I'll pull it up. [00:17:20] Sunil Pai: Uh, wait, so I've, I'm seeing, is this the whole Svelte versus React thing that's been happening over the last two, three days?  [00:17:25] swyx: Yes. So basically it's saying React is already so far down almost like its own language. [00:17:30] They should just embrace it more. And instead of using linting to catch rule violations, just make a DSL, people are gonna use it. It's fine. And just like build things in so that it's impossible to make these errors that, that people commonly make.  [00:17:47] Sunil Pai: So this is Mike Sherov, uh, he was smoking about it. [00:17:51] He mentioned how it shouldn't be a lint rule. And since we already have customs, insects and GSX, he should introduce a couple of other things. So as you can imagine, the react team has thought about this a lot. So the big problem with this all boils down to that fucking dependency area on use effect, by the way, that's the one that trips, everything else is fine. [00:18:09] Like you stayed all that is like fine. You can get. This is  [00:18:13] swyx: what it was. Yeah. People want like state something memos and things like, you know, just build the reactor primitives into the language.  [00:18:22] Sunil Pai: So yeah, I think this, this actually, isn't a bad idea and I think that was the whole deal with hooks. Whereas what's the phrase that they use in the docks. [00:18:30] A sufficiently advanced compiler might comply with these things at some point, and you're like, oh wow, great job. On pushing that responsibility onto the community, React team, well done.  [00:18:41] swyx: My joke is like it's the react teams equivalent of a assume, a frictionless spherical cow from physics.  [00:18:48] Sunil Pai: Exactly. [00:18:48] That's a perfectly spherical code. [00:18:54] swyx: It will exist.  [00:18:57] Sunil Pai: And it's just the five of them or six of six of them hacking on this. And they have to make sure they don't break like facebook.com whenever they're working on these things. Imagine it's taken this long for Concurrent to show up and Concurrent is nice by the way. And we can talk about the server rendering API. [00:19:14] Okay. Uh, so react right now is, uh, yeah, that's the one like that. It shouldn't just be an intruder, but, uh, inside the inside Facebook only, well, not everybody can see it, but it's an in an internal, uh, uh, Facebook Wiki page, which is a list of potential F projects. You know, how the react team has fiber, whatever the hell. [00:19:47] Right? So there's a list of these projects that, or when we do this, uh, project F F I forget what the one for, uh, uh, animation that's called, is it called flat? Flat was the dumb one. And so there are lists of them and there are about 15, 20. I'm pretty sure my India has done. So Hey, so, uh, there's a list of them. [00:20:09] And if you look at them and you start assigning values in terms of work, oh, this is about six months of work. This is about, uh, another six months of work. It strikes you that there's a roadmap for about five to 10 years. At least if not more than that, I mean, look at how long it took to get like this. Of course this was very more foundational. [00:20:26] Those could probably happen a little quicker when it comes, which means the react team is like solely aware of what's missing in react right now. And to an extent that they can talk about it because if they do it becomes like a whole thing and like don't really engage in that conversation. They don't, I, I, and I don't blame them for it. [00:20:44] It's very hard to have this discourse without somebody coming in and saying, well, have you considered CSS transitions? I like that. Yes, we have. We have, we have considered CSS a lot. Uh, so, uh, so. There are all these projects like a sufficiently advanced compiler that compiles down to hooks. There's the animation API. [00:21:04] There's a welcome current, et cetera. This whole data fetching thing has been going on for years. And now it's finally starting to come to light, thankfully with collaboration, with the relay team and effectively all of the core when they built out facebook.com and, and that is the length that those are the time periods that Sebastian looks at and says, yeah, this is how we can execute on this because it can be prioritized. [00:21:33] It has to be prioritized by either Facebook wanting it or making Facebook wanted. So for example, the pitch was, Hey, let's rewrite facebook.com the desktop version because they haven't, it's a film mishmash of like hundreds of react routes on one page. It should be a single react route that does this thing. [00:21:52] Now that we have gotten management to agree to a rewrite, let us now attach it to the concurrent mode thing. And that was also part of it, which is in the older version, there was a lot of CPU fighting that used to happen between routes, which is why the whole work for the share dealers started and took like two years to like fix effectively. [00:22:08] They're doing cooperative, multitasking VM in JavaScript, which sure. When you're a Facebook, I guess you've got to like do these things. Uh, and how does that all,  [00:22:18] swyx: was that ever offloaded to the browsers, by the way? Like I know there was an effort to split it out of react.  [00:22:24] Sunil Pai: So I think last, I checked they were talking to Chrome literally every week. [00:22:29] Uh, but I think it's also been down to, uh, well, what Chrome wants to prioritize at the time. I think it is still going ahead again. It's the sort of work that takes years, so it's not going ahead. Nice and slowly, uh, which is why. Which is why it's architected inside react for the same reason as like it's attached to global and then read off the global. [00:22:52] I think it's also why you can't have two versions of React on the same page. There's the whole hooks thing. But also if you have two versions of React, and they'll just start fighting with each other on the scheduler, because the scheduler would yield to one than to the other than to the other one. [00:23:08] And there would be no like central thing that controls what is on the scheduling pipeline. That's from the last, again, this conversation is at least two years, or maybe they fixed that, but that's the goal of the dealer. There has to be one scheduler for the thread that everybody comes on to, and like tries to pull stuff, uh, with it. [00:23:26] I think it will become a browser API. It's just a question of like, when, like, yeah, I mean, the shared dealer in react itself has undergone so much change over the last three years. Uh, so maybe we should be glad that it isn't in the browser yet, because like, it's changed so much. It's coming there. It's I mean, the fact that they're releasing in November is a big deal. [00:23:45] swyx: You said there's so many projects that you want to ship, and the way to ship it in Facebook is to either convince them that this feature itself is worth it, or you tie it together with something else, like the Facebook, I think it's called FB5 rewrite. [00:24:00] Sunil Pai: Oh yeah. I think it's good for them. Like it worked because the Facebook, facebook.com is now more performant. Like it actually works well and they don't have CPU fighting. The fact that Facebook itself is becoming slightly irrelevant in the world is a whole other conversation.  [00:24:17] swyx: Well, you know, I still use my billions, so, uh, it's it's, it improves the experience for them. [00:24:23] Sunil Pai: I'm only being snarky.  [00:24:25] swyx: Uh, but I, you know, hopefully hopefully you're like, you know, there's other properties like Instagram and WhatsApp and what is, uh, which hopefully it will apply there. And then obviously like there there's the VR efforts as well. Absolutely. Yeah.  [00:24:39] Sunil Pai: And that is the future. In fact, uh, several components also happened because they suddenly realized what they could do for how the deal with server components and server-side streaming rendering was never about an SSR story, or even a CEO. [00:24:54] Facebook doesn't give a fuck about SEO, right. It was about finally they figured out how to use concurrent mode to have a better UX altogether.  [00:25:03] React Streaming Server Rendering vs SSR/JAMstack/DSG/DPR/ISR  [00:25:03] Sunil Pai: So, okay. I should probably just keep Server components aside for right now.  [00:25:06] And I'll just talk about the new streaming rendering API. Okay. [00:25:09] Okay. So I know there's like about three styles of rendering. [00:25:14] I say legacy, but legacy is such a dirty word. I don't mean it in the form that it's old it's in fact,  [00:25:20] swyx: traditionally, like, sorry.  [00:25:24] Sunil Pai: Uh, heritage Facebook would say heritage, it's a heritage style rendering, um, which is the, Hey, you use something like a rails or spring or some, it could be node as well. And you spit out a bunch of HTML and then you progressively enhance it with sprinkling JavaScript, pick your metaphor there like three or four metaphors that you could use. [00:25:44] Uh, uh, web components actually falls square into this, where it just comes to life only on the browser and then like make stuff interactive. Uh, then there's the whole client fully client side rendered one. So this is create react app or, well, a number of like smaller players then there's server side rendered. [00:26:04] And so as I rendered is actually like, it's not just next year. It's also your Gatsby. I feel like pretty much every, uh, react framework now has some kind of service side rendering story. Okay. So the next slide goes into what types of server-side rendering things happen. [00:26:20] swyx: there are a lot of subdivisions within here, right? [00:26:22] Like, uh, Gatsby is up here trying to reinvent like D S R D P R or something like that, which is like deferred,  [00:26:29] Sunil Pai: static,  [00:26:32] swyx: DSG, deferred static generation. That's the one. My former employer, Netlify also DPR, and is all, these is all like variations of this stuff with,  [00:26:41] Sunil Pai: like, it's a question of where you put the cache is what it is. [00:26:46] It's a TLA three letter acronym to decide where you put the caching in.  [00:26:49] Yeah, so there's the whole JAMstack and that's like the whole Netlify story, but also CloudFlare pages, or even GitHub pages. [00:26:56] There's no real runtime server rendering. You just generate a bunch of static assets and you Chuck it and it just works. Then there's fully dynamic, which would be next JS without any caching. Right? Like every request gets server-side rendered then like a bundle loads on top of it. And, um, like suddenly makes it alive, like sort of like it hydrates it. [00:27:16] And then after that it's effectively a fully clients rendered application then there's okay. So I just said ISR, but like you said, there are like three or four after this as well. There's this whole DSP. Yeah. Oh wait. So the new streaming API is actually fundamentally new because. I don't know if people even know this, but react already has a streaming rendering API. [00:27:37] It's called a render to node stream. I think that's the API for it. And the reason that that exists is so that, uh, only for a performance thing on the server where otherwise synchronous renders would block like other requests. And it would make like if for a server that was very, uh, uh, there was heavily trafficked. [00:27:57] It would become like really slow. So at least with the streaming API, yeah. That's the one learner to notice the stream, at least with this one, it wouldn't clash and you could interleave requests from there happening, but it didn't solve like anything else, like nothing, you couldn't actually do anything asynchronous on it, which is kind of that fucking sucks because like, it looks like it's an asynchronous API, but you can't do anything asynchronous through it. [00:28:18] It's the only thing that, okay, so vendor to readable stream is cool because I can, even if you go to the very last slide last bit, once. You know what this is, where the very first link open it up. Like it says react, lazy.cool computer club. So this is the demo that they have that exists with this new API. [00:28:36] This is what they link to. So if you refresh it a couple of times and I'll show you something that happens here, so you see the little spinner that shows up there and then the content loads. Yep. So, um, you know what, maybe I can share my screen because I want to show like a couple of things. Uh,  [00:28:53] swyx: yeah. I'll fill in some context, like I knew that the renderToNodeStream API was not good enough, basically because everyone who is doing SSR was doing like a double pass render just to get the data in. Um, and I noticed a very big sticking point for Airbnb so much that they were almost like forking react to something like that to,  [00:29:11] Sunil Pai: they invented a caching API. [00:29:13] They did like a whole bunch of things. Okay. So if you have a look here, you'll see that there's a little bit of spinner and then the content comes in. But now what I'm going to do is I'm going to show you the actual HTML. So let's just go to prettier and just pretty far this, for that, we can see the content and I'll show you something that's very like fundament. [00:29:32] That's the playground playground paste, big HTML. All right. So are you looking at this HTML it's rendering rendering by the way, this, these are special comments that mark suspense boundaries. It's very cool. If you come down here, you'll see a dev, which is the spinner. So this is the spinner that you see when you refresh the page. [00:29:52] So this is. And then the rest of like then, like the, like the bits that are below that close and the HTML closes, but content still start stream is streaming in at that point. So like, this is the actual, like devs that are coming in with the content. And then a script tag gets injected that says, Hey, this thing that just came in, shove it into where the spinner was. [00:30:13] This template  [00:30:14] swyx: tag is so small. I would, I would have imagined it was much bigger.  [00:30:18] Sunil Pai: It's not. So by the way, at this point, the react has not loaded. This is happening without react. This is just a little DOM, much like swelled ha uh, just a little operation that does it. So you, you, you get this content. And, uh, so, so that's the first feature which is that suspense. [00:30:35] It not only works out of the box, but fallbacks and replacing or fallbacks with actual content also happened. Um, I want to pull this outside of this main window to show you something. Um, so you can see the content load in, but keep an eye on the loading spinner. Okay. Just to prove a point. So the content loads in, oh man. [00:30:56] Oh, is it cash just that way? Uh, the content loads in, but the spinner is still going on. That's because there's an artificial delay for the react bundle to show, to show up. That's the point of this demo, which is to show that it can do async. Now you can imagine that it's not just one part of the page. [00:31:13] There could be multiple suspense boundaries here, some with something heavy, something with something asynchronous and they're potentially streaming in effectively in parallel in the, like after the HTML tag closes and they load nicely the, the other cool feature, which is a feature, every framework should steal is if you do a second refresh and here, I think if the, if you do a second refresh and at this point, the react bundle, the JavaScript bundle is cached. [00:31:42] So it loads before the react, the server. Finish the streaming. So at that point, the react says, fuck you, I don't care about the streaming bit anymore. I'm taking over, it's now a client set up like just automatically out of the box, because now that would be faster. So it basically raises the client and suicide. [00:31:58] So suspends working out of the box itself is like a big deal first. So people will start using it like with react dot lazy, but then with data fetching and a bunch of slate styling solutions, which they're also working on. Um, but this is the new server entering API. The reason I was talking about this, I keep losing context about these things. [00:32:19] I should stop sharing, I guess. Um, the absolute best feature of this of course is the reason why is something that comes out of Facebook, which is it works with existing applications and you can incrementally add it. So the first thing you will do is you'll take your render to string that one line somewhere in your code base, which says rendered to. [00:32:39] And you'll replace it with vendor to notable readable string. I mean,  [00:32:43] swyx: either way 99% of users have never used render to string. Right. That's what next year is for.  [00:32:51] Sunil Pai: Well, that's the, that's all my God. That's part of a whole other conversation, right?  [00:32:54] swyx: This is rendered a string as a service. [00:32:59] Sunil Pai: The moment you update next, year's your version of next year? So work on yes.  [00:33:04] swyx: Which is good, which is good. Right? Because, uh, people won't even know and they will just benefit, but it's, it's a little bit bad. Okay. [00:33:13] Next.js and the Open Source Commons  [00:33:13] swyx: And this is a little bit of my criticism, which is that your blessing, a meta framework, at the expense of all the others, right? Like which admittedly have not been as successful, but, uh, basically reacts Chrome, picked a winner and it was next year.  [00:33:27] Sunil Pai: I've been thinking about this so much. Oh, look, it let's get into them at our conversation now. So let's standard disclaimers. I think Guillermo is a mench. [00:33:35] I think the people who work there are incredible. There are some people I'm close to. I'm so happy for them. I know people on the Chrome team who work with these folks. I love them as well. Nicole for me is, uh, is a hero. Uh, and of course the React team at all my buddies, I love them. Okay. That being said, the React team is six people and they don't have the time to build the meta framework and Guillermo, uh the one thing he's incredible at is he's great at building relationships. [00:34:03] He's just amazing at that. Like he, uh, in a very genuine way, like this, there's nothing like ulterior about it. Next JS is open-source and runs on any node runtime and it's designed to do so. There's nothing about it. That's become special on Vercel. Because of that the React team felt, feel like, okay, fine. [00:34:20] We can have a primitive and meta frameworks will solve it. And let's just make sure it works with next two years, because so many other people who are just reach out to them and say, Hey, this new API is showing up. Uh, this is not just with next.js. It's a similar thing is with like react testing library. [00:34:34] When the new activity I showed up, right. I made the PRS to react testing library. I was like, what you should do is have every function and react testing library be wrapped in back act. So nobody really has to like use the API by hand. I just, it's now it's the D and it's a very good testing framework, the Chrome team. [00:34:53] And this is my, I'm not saying this, like, it's a bad thing. I think they did the right thing. The Chrome team realized that if they provide performance enhancements to next years directly, they can have so much impact on the internet because so much of the react tool is running on next year. So fixing how the images are loaded in next year certainly makes the internet faster. [00:35:15] Yeah. And maybe that's what we should do also like for the accessibility, just ship acts in, uh, all the acts rules in development mode, either in like react Dom directly, or at least the next years. Oh yeah. The sweatshop, the axles. Yeah.  [00:35:33] swyx: Oh, they're enabled by default. And, uh, your, your app one compile, uh, actually I think it would warn you won't fail by a worn. [00:35:40] Sunil Pai: Okay. So you should be making the swag folks should be making way more noise about that. That is such an incredible draw for accessibility.  [00:35:48] swyx: The thing is like, uh, if you encourage, if you think that your, your problems are solved by X, then you're taking a very sort of paint by numbers approach to accessibility. [00:35:57] Right. Which is actually kind of against the spirits of, of, uh, what people really want, which is, um, real audits with like tap through everything. Like the stuff that machines could catch is so little,  [00:36:08] Sunil Pai: I agree. The whole point of actual SIS to make sure that all the low hanging fruit is done by default. [00:36:15] It's like TypeScript, like I guess, which is a TypeScript. Doesn't solve all your bugs, but the stupid undefined is not a function once it does. Yeah, exactly. Make sure that your images have. Just by default, like we can have stronger conversations about tab order once you make sure all your images have all tags. [00:36:35] swyx: Uh, okay. Anyway, so, so yeah. So first of all, yeah, I agree with you on the, on this Chrome. And, uh, I think this is opensource winning, right? Like, uh, there's a, there's a commons. Vercel built the most successful react framework, Nate. They went the investor really hard at it. They had the right abstraction level, you know, not too much, not too little, just the right one. [00:36:55] Uh, and now everyone is finding them as like the Schelling point, which is a word I'm coming to use a lot, uh, because you know, that is the most impact that you reach. Uh, so no hate on any of them. It's just like it happens that a venture backed startup benefits from all of this.  [00:37:11] Sunil Pai: Can you imagine how hard it makes my job? [00:37:13] We don't run, not on CloudFlare workers, which means Next.js doesn't run on it. It's annoying.  [00:37:19] swyx: Oh, is there any attempt to make it run?  [00:37:22] Sunil Pai: There are a couple of ways where we can get it to work, but it like, it's a lot of polyfill and, uh, we'll get that. Like, I expect it to be fixed within the next three to six months, but out of the box, it doesn't run on it. [00:37:35] And for me in my head, it doesn't, it's not even about CloudFlare workers. I'm like, oh shit. That's what makes Bezos like even richer because everyone's got, has, if you want to use Nadia using AWS or Lambda. And that just means more folks are using AWS. I'm just like, okay, I guess. Sure. I know you work there as well, but it's just very annoying to me where I'm like, shit. [00:37:56] What's even more interesting is that node is now moving to implementing web standard APIs inside of it. So they already have the streams implementations. They will have fetch fetch will be a node API. Like it will be implemented based on standards, which means the request response objects. And once that happens and people, if people build frameworks on that, then you can say that it will run on CloudFlare workers because the cloud fed worker's API is also like a standards based thing. [00:38:21] So it's an interesting shift of like what's happening in the, in the runtime world. Also conveniently the person who implemented the web stream implementation at node just started at CloudFlare like last month, like James. Oh, James  [00:38:38] swyx: now. Okay. Yeah. I recognize  [00:38:39] Sunil Pai: a great guy by the way. Uh, very, I just love these people who have like clarity of thought when they talk James as well. [00:38:46] The Third Age of JavaScript  [00:38:46] swyx: We're kind of moving into the other topic of like JavaScript in 2021. Right. So first of all, I have a meta question of how do you keep informed of all this stuff? Like I ha I had no idea before you told me about this Node stuff. How do you know? [00:38:57] Sunil Pai: I have an internet information junkie problem. [00:39:00] I replaced the weed smoking habit with a Twitter habit. This is what it is.  [00:39:05] swyx: You're not unlike some magic mailing lists that like tells you all this stuff. Okay.  [00:39:09] Sunil Pai: Like reading the tea leaves is what it is. Like. I keep trying to find out what's going on. The problem  [00:39:14] swyx: is I, I, I feel like I'm ready. I'm relatively plugged in, but you're like, you're way more plugged in than me. [00:39:22] and then this development with node adopting web standard APIs, um, is this a response to Deno?  [00:39:28] Sunil Pai: I don't know if it's a response to Deno because I know Mikeal Rogers wrote about this. Like your. That we made a mistake by trying to polyfill note APS and browser code with like modules and stuff. [00:39:41] Right? Like that's what the whole browser, if I, during those days, when we started actually using the same module system and the word isomorphic came up, what ended up happening was naughty APIs were polyfill in web land, but what should have happened is we should have gone the other way. And it would have kept like bundle this bundle size problem would have been a web smaller pro problem right now, just because of that. [00:40:07] So I know that the folks at not have been thinking about it for awhile, maybe Deno finally pushed them to do it, but I don't, I don't, I don't, I don't think it's like that reductive. I don't think it's just, it's just dental. It's very much a, this is the right time to do it and we actually can do it now. [00:40:22] So let's like flesh it out and do it the right way. Uh, and it's hard to do it in, in no, right. It's not just that you can just implement this thing. Like, what does making an HTTP server mean now? Because the request response objects are slightly different in shape. So you have to make sure that you don't break existing code. [00:40:39] So it's not as simple as saying, oh, we're just implementing the APS. That being said, having fetch inside node proper is going to be great. I think. Excellent.  [00:40:47] swyx: Yeah. Yeah, no more node fetch. Um, yeah. You know, my other thoughts on I've been, I've been doing this talk called the third age of JavaScript. Right. [00:40:55] Which is a blog post that I wrote last year that, um, honestly I feel quite a bit of imposter syndrome around it because all I did was name a thing and like it was already happening. It was, you already saw, like, I think basically when, when COVID hit, a lot of people were. I have a lot of time on my hands, I'm going to make new projects or something. [00:41:14] Um, uh, and then, yeah, so I just, I named it and I just called it a few trends. So the, the trends I I'm talking about are the rise of IES modules first, you know, in, in development and in production, uh, concurrently the death of 11, which I'm also tracking.  [00:41:30] Sunil Pai: Yes, those are, those are both come to fruition.  [00:41:34] swyx: Which, by the way, I think the us government will have to drop by 11, uh, sometime in the next six months or so because, uh, the, the use, the usage levels have plummeted. [00:41:43] 3.6% of all visits to the U S government website in November, 2020 was I 11 and now that has dropped to 1.6, um, all  [00:41:51] Sunil Pai: accelerating the drop is actually accelerating.  [00:41:53] swyx: Uh, I don't know if it's accelerated it's everything, but it's under the 2% mark that the us government sets for itself. [00:41:59] They have an opportunity to essentially say like once it's stable, you know, there's no chance that it'll ever go back up again. Uh, they could just deprecate 11 for all government websites and then that, that will be the signal for all enterprises. And that's it. Yeah. So, um, and then the second. [00:42:15] Oh, I was going to move on the second bit. But what was your calling?  [00:42:19] Sunil Pai: Oh, just saying that this happened, like, while I was working in JP Morgan over the last year, they did the same shift, but they're like, yeah, we are now a Chrome company. Literally none of our clients are asking for this and you know, it, it was just in rules somewhere, or we need to target, I 11, some people looked at it and said, okay, fine. [00:42:35] What happened is people are spending money on something that wasn't giving them the returns. And that's when a bank is like, yeah, we don't need  [00:42:41] swyx: to do this anymore. Like you, you can deprecate free support. Right. And, and just make, just charge for 11 support, stop spreading it out among all the other users who are bearing the cost of development and maintenance. [00:42:54] The other one was collapsing layers, which is the death of Unix philosophy. Like , we used to have one tool does one thing, but now we want to combine everything. So, uh, Deno and Rome both have ambitions of linter format or test runner, all of that into a single binary, because the idea of what we want out of a default runtime has changed, uh, from a, for a very minimalist thing. And I always made the comparison to what word processors used to be like. [00:43:18] So, are you aware of Benedict Evans? He has a blog post, which is amazing about what a job of a platform should be. And he talks about like in 1980s word processors used to only let you type words. And if you wanted a horizontal layout, if you wanted word counts, if you wanted footnotes, these are all plugins that you buy and install separately. [00:43:38] Right. Okay. So, but as we evolve, as we just use all these things, we realize that these are just like the same tool that we want out of a word processor. So then they absorb all these features instead of plugins. They're just part of the platform now. They're there now in the new table stakes. [00:43:53] So I make that analogy to the runtimes that already doing, right. Like, Node used to be this like much more minimal thing. And, uh, but now we are expecting more and more out of our default setup with all these tools . Um, it's also very wasteful because when each of these tools don't know each other, they're all parsing their own ASTs running, running their own code. And then yeah, that's the whole  [00:44:12] Sunil Pai: proposition, but yeah.  [00:44:14] swyx: Any, any tool that collapses layers will, we will meet this, like, ESBuild, um, collapsed. Like a standard web pack would do like five or six AST runs. ESBuild collapsed it to two to three. That's a source of its speed as well.  [00:44:27] Sunil Pai: One of my favorite facts about ESBuild is that it is faster to minify the code than to not modify the code when you run. Yes. And the reason for that is because when you try, when it tries to do the full AST, keep comment notes, everything else, it has to do a lot more bookkeeping, but the moment it just ditches all those things, because ESBuild doesn't do like full magnification, like something like a torso, but it does do like a smaller symbol substitution, white space, uh, uh, removes all white spaces. [00:44:59] And it does like some dead code elimination. Uh, and it's a lot more work to keep the bookkeeping for everything and all the white space notes than to not do it. So he has built is actually faster when you have a modification turned on, love it.  [00:45:14] swyx: It's amazing. It's amazing. [00:45:16]   [00:45:16] ESbuild vs SWC vs Zig  [00:45:16] swyx: Do you have opinions on ESBuild versus SWC? [00:45:18] Sunil Pai: Okay. So I like ESBuild. Uh, because I was very strongly looking for something a lot more opinionated. I've noticed that the reason that code basis Surat usually boiled down to the acute decisions that you make. Like in the very beginning of the project, you can do anything. I mean, whichever dumbass came up with the idea of baby plugin, macros has like ruined a lot of lives. [00:45:41] It was me. I came up today, but that is like, then you're like tight. So the thing that ESBuild does is very like its creator, Evan Wallace, which is that it's, it's one of a kind like, he's not really interested so much in having community, uh, uh, PRS or like having suggestions on how it should be built. He has a very strong vision of what it should be like, which is why there are no AST level plugins and all that jazz. [00:46:08] And because of that, because of, like I said, because he's collapsed the lyrics and collapse, the size of the development team to just himself, he has like such a clear vision on what it should be. So it w is good. It would be great for, I want to say 95% of projects that fall under the things he has designed at four. [00:46:28] Okay. Uh, and that's a lot of applications. That's a shit ton of applications. That's like everything, but your host, if you need anything, uh, unique, I'll give you one. That's like a very good use case that is bill will never use. Do you know what, um, uh, really has this idea of persistent queries. Okay. So like for whoever's hearing who doesn't know it, right? [00:46:52] Like you can write a query inside Java. And when it compiles it out, it takes out the query and replaces it just with an identifier, like, like a little eight character identifier. And it hosts that query instead of like on the service side. And it says, oh, that eight, eight character query, you can just hit it as a restaurant point now. [00:47:11] So you can write the code internally in JavaScript where it belongs, but it doesn't add like to your bundle or whatever it is. So ESBuild will never support this, which means if you want to do really optimizations on your react code base, you won't be able to do it all. You have to like add on to yours, which you could do. [00:47:29] I guess like you can still use Babel would, uh, SWC is meant to be a platform and which is why next years will use it because next gen is the meta framework, not just for react, but also for like some programming opinions, extracting get server props, get started, props, which one you want to be that this thing after server components comes into play, but a number of things like there will be people who always want to do. [00:47:54] The emotion macro now is like fairly, uh, popular that they will want to use it. So I assume they will implement it in, uh, interest. I know. Do you know what bun is by the way? Do you mean, do you know, how are you following Jared Sumner? Some  [00:48:10] swyx: summers, no, wait, so  [00:48:13] Sunil Pai: key is reimplementing ESB, but in a language called Zig it's another systems programming language. [00:48:20] And he's his claim is that it's about three times faster than you spell it right now, which is already some 200 times faster than Babel loader. It is just our web pack, but it's a language you said it? No. So the language is called Zig lines at AIG, but the thing he's building is called a, B U N. He hasn't shared it in public yet. [00:48:41] I think he's actually planning on sharing it like next week. Like I think it's that imminent. He's been sharing numbers right now. Yeah. That's the guy, Jared. Uh, I love, I should've followed him like a while ago, create great feed, uh, excellent content. And like, he's, he he's thinking that he's going to like implement. [00:48:57] He might actually implement an AST level, uh, uh, plugin, micro API, possibly just implement the emotion one. I think he was just, yeah. See, oh, that's like literally the tweet would write under the main one right there where he's like, Hey, what if we actually just did this in? Uh, oh,  [00:49:14] swyx: he's right. He's he's right with you. [00:49:17] Yeah. Like he's  [00:49:17] Sunil Pai: just talking about it, like right there. So, uh, so SWC versus ESBuild, I don't think is the conversation. I think ESBuild will have a rise. A bunch of people will use it. The nice thing, the best feature about ESBuild is because there are aren't any like cute decisions. You will be able to move away from it to whatever succeeds. [00:49:39] Th there's nothing customer  [00:49:40] swyx: that I believe that was Evan's original idea. That IES build was a proof of existence that day there's a better way. And that he stuck to it for way longer than I thought he would.  [00:49:51] Sunil Pai: People are using it in production and everything know everything about the designers that it's replaceable. [00:49:56] That it's just a,  [00:49:59] swyx: that's wonderful. Isn't that amazing when people design their stuff? W. You know, it  [00:50:04] Sunil Pai: isn't kind of pressure that he would have had the best. Thank goodness. It was the successful CTO of Figma with money in the bank who is implementing this and didn't have anyone to impress. You know what I mean? [00:50:16] It was like, yeah, let's put a macro API and what else do you want? Like, whatever. No, he doesn't  [00:50:21] swyx: go. Yeah. But he just needs to police himself and no one else. Right. If you don't like it,  [00:50:26] Sunil Pai: this is during his downtime from Figma that he's working on this.  [00:50:30] swyx: Um, my, my secret theory is that he's doing this as an, as a Figma ad. [00:50:33] Like, you know, if he, if the CTO of Figma does this for fun, imagine what it's like to work inside of Figma, you know, like of, I've heard it's pretty great,  [00:50:42] Sunil Pai: pretty great working inside of Figma too. Well, the code is like, it's really cool.  [00:50:46] Let Non-X Do X: Figma vs Canva, Webflow vs Wix/Squarespace  [00:50:46] Sunil Pai: Did you actually point out. Uh, Ken was like six times bigger than Figma. [00:50:51] Now   [00:50:52] swyx: you wanna talk about that?  [00:50:53] Sunil Pai: Oh God. That's. I didn't realize until you pointed it out.  [00:50:58] swyx: Incredible. Imagine all the geniuses working in Figma and go looking at Canada and like, yo, like I, I have like a thousand times your features and your six times in my size as a business.  [00:51:10] Sunil Pai: Uh, but I hope every one of those engineers understands the value of sales and like reaching out to your actual customers because  [00:51:17] swyx: I don't think it's just sales. [00:51:18] It's more like, uh, they're always going to be more non, like, this is a category of software called let Nanex do X, right? Let non-designers do design. Whereas Figma is clearly for designers doing design. Um, and there's always going to be like a tool, three orders of magnitude more non-experts uh, who just want to do basic shit. [00:51:37] Sunil Pai: Oh man. I hope that flow has a multi-billion dollar buyout and at some point,  [00:51:42] swyx: uh, I mean, I, yeah, I mean there's clearly something that w the problem with flow is that. They're too close to code. Right? You have to learn CSS the box model.  [00:51:56] Sunil Pai: Yeah. I mean, they do say there's no code, but really they're a visual,  [00:52:00] swyx: if you don't know CSS when using Webflow you're screwed. [00:52:03] Like   [00:52:04] Sunil Pai: that's right. It's uh, they have, they have the best grid editor on the market too. I have to say that. I  [00:52:10] swyx: mean, the UI is just amazing, right? It's just like, um, yeah, I mean, you know, there's a reason why like the Wix is, and the Squarespaces are actually worth more than the workflow and it's not just cause they were around earlier. [00:52:22] Like, um, they're, they're just easier to use for non-technical people.  [00:52:26] Sunil Pai: That's a good, you you're talking about why did we even start talking about this? What did you want to talk about? Uh, we were talking  [00:52:33] swyx: about like, uh, 32 JavaScript. Um, so I think we kind of like dealt with those, those, uh, those topics.  [00:52:39] Was there anything else that you want to talk about? [00:52:40] Didn't JavaScript land,  [00:52:42] JavaScript Twitter and Notion's 9mb Marketing Site  [00:52:42] Sunil Pai: I don't know if you have noticed, but I've kind of actually stopped engaging in the JavaScript discourse on Twitter specifically, which actually hurts me like a little bit, because that's where all my jobs could friends are. And that's kind of like, I've seen it all. I've seen JavaScript router now for the last 11 years, I would think 10, 11 years that I've seen it. [00:53:02] And I used to like participate very heavily. And back to the thing that you, uh, that we were just discussing about the conversations that happened too, about like SBA versus MPA and about like the whole notion blow up about how they made them thing into like 800 KB. Yep. Uh, the easiest kind of discourse to have is to have like one absolutist opinion, uh, that I saw a number of people in like those threads and the surrounding threads have, which is a, well, this is bad or this is good. [00:53:35] And, uh, that's, that's all I got to say about it. Now give me like 40 likes on this reply industry. Uh, whereas like there's real opportunity here to understand how and yeah, that's the one, that's the one with treat by the way. Clearly it got like attention. No,  [00:53:51] swyx: by the way I phrased it very neutrally. I actually was pretty careful. [00:53:54] Cause I knew that it's going to attract some buzz. I had no idea what's going to be this much, but  [00:54:00] Sunil Pai: no, no, no. But like I'm so interested in talking about, uh, so this is what I was talking to you about, which is like, it's not just about a website at one point of time. It's about the system that generates these kinds of like artifacts, uh, of, so for example, with what, what did they say? [00:54:24] They're there 8 47 KB right now. They're not 8 47 KV today. They were 8 47 KB. When you, uh, Uh, tweeted this, uh, on the 11th, they are not in 47 KB. Now they might be 852, or they might be 841. Are you about to check?  [00:54:43] swyx: No, no, no, no, I'm not. I'm not, it doesn't matter. The exact number. Doesn't matter. I'm going to give you another example, which also came up, which is Netflix. [00:54:49] Remember they ripped out react and he said they have react back  [00:54:54] Sunil Pai: on Netflix. I use, are you serious on that? Wait, did they have like both Netflix, they have both react and jQuery, jQuery and react on that page right now. It's just, but like, for me, it's interesting that, which is like, I think the most insightful tweet in this was very pointed out that nobody noticed this until they told it to us. [00:55:16] Nobody saw it. It bothered. Yeah. That's the one, like nobody bothered about it. It was still making the money. They were happy about it. And they wanted to share that. And we need more of them. We need more people to be like sharing the process because if we react very badly to these things, then fewer people will want to actually share the numbers. [00:55:34] And you won't learn from the industry, but I don't know whether it's a good thing or a bad thing. It does mean that you can make a multi-billion dollar company with a marketing site. That's nine MB of Charles' script. And I think, I think people who have very strong opinions about how much jealous should be on a page to take a step back and wonder how do you make it? [00:55:55] So like, how do you, from the very beginning of like running your company, how do you make it so that it doesn't go up beyond that? Also, what opportunities are you abandoning by focusing on making sure your marketing page, uh, has like 100 KB of JavaScript instead of like nine MB  [00:56:17] swyx: shipping velocity, right? [00:56:19] Sunil Pai: You are somewhere, you are spending effort on it somewhere. Just so we're clear because somebody will look at it and say, fuck you, are you suggesting that we all put in that's not what I'm saying. I'm just saying that the resources, that word, but resources at these companies are limited and they are, they they're prioritized and sequenced and you should ask yourself in what order you want to do it and who you're trying to please, are you trying to please your customers and your users or the peanut gallery on Twitter? [00:56:48] And I think that's something that like, I, it's why I don't engage so much anymore because it's so hard to communicate in once and somebody will come in with a, well, fuck you, you work for Facebook or used to work for Facebook. What would you know? I'm like, you got me that kind of ends the conversation that, right. [00:57:04] Like I'm studying contributed to babies being burned alive or whatever it is like, this is what it is.  [00:57:12] swyx: Um, it's a nuanced debate, like, uh, because they also did some like notion clearly did some stupid stuff here. Right? Like it, it, they could have spent a day. Uh, so do you know why it was 9.9 megabytes?  [00:57:25] Sunil Pai: If I understand it was the whole notion that that was being used, the  [00:57:27] swyx: whole app. [00:57:28] Yeah. They were shipping the whole, there was actually someone from notion, uh, answering me. Uh, it's here. Yeah. This guy's, this guy works at notion before the marketing site was another route in our, at the time 9.1 NBME and app, we load the whole app just to show the sign up button. [00:57:44] So what,  [00:57:45] Sunil Pai: what it's worth Facebook sign up page does start prefetching actual Facebook code so that once you log in it loads instantaneously. So there's a reason to do it. It's just that it shouldn't be nine and B of course. That's  [00:58:00] swyx: yeah, they could have like took a day every, every six months or something like perfect day, you know, and do that. [00:58:06] So that's why I'm hesitant, uh, giving them a pass for like, okay, so what your multi-billion dollar company? This is embarrassing. This is just an unprofessional. Um, so yes,

The Changelog
Let's mint some NFTs

The Changelog

Play Episode Listen Later Apr 27, 2021 80:41 Transcription Available


This week we’re talking about NFTs — that’s right, non-fungible tokens and we’re joined by Mikeal Rogers, who’s leading all things InterPlanetary Linked Data at Protocol Labs. We go down the NFT rabbit hole on a very technical level and we come out the other side with clarity and a compelling use of NFTs.

Changelog Master Feed
Let's mint some NFTs (The Changelog #438)

Changelog Master Feed

Play Episode Listen Later Apr 27, 2021 80:41 Transcription Available


This week we’re talking about NFTs — that’s right, non-fungible tokens and we’re joined by Mikeal Rogers, who’s leading all things InterPlanetary Linked Data at Protocol Labs. We go down the NFT rabbit whole on a very technical level and we come out the other side with clarity and a compelling use of NFTs.

OpenHive.JS
Mikeal Rogers on the Open Source Model

OpenHive.JS

Play Episode Listen Later Jan 6, 2021 36:55


For the tenth episode of OpenHive.JS, we pick up right where we left off in conversation with Mikeal Rogers, IPLD Lead at Protocol Labs, NodeConf creator and JavaScript thought leader. If you haven’t listened to episode 9, you may want to start there. Here in part two, we continue talking about the benefits of open source, what we all can do to further the model, even more ways to manage data effectively and much more. Welcome back to OpenHive.JS.

OpenHive.JS
Mikeal Rogers on Decentralised Databases

OpenHive.JS

Play Episode Listen Later Dec 9, 2020 43:45


For the ninth episode of OpenHive.JS, we sit down for a detailed, insightful and entertaining conversation with Mikeal Rogers, IPLD Lead at Protocol Labs, creator of NodeConf and longtime friend of NearForm. Mikeal has been a key figure in the JavaScript community for many years and comes ready to discuss it all, from decentralised databases and encryption to open source ideals and more. With this much to talk about, we need two episodes. This is part one. Welcome back to OpenHive.JS.

Sustain
Episode 57: Mikeal Rogers on Building Communities, the Early Days of Node.js, and How to Stay a Coder for Life

Sustain

Play Episode Listen Later Oct 10, 2020 38:46


Panelists Allen "Gunner" Gunn | Justin Dorfman | Richard Littauer Guest Mikeal Rogers Show Notes Hello and welcome to Sustain! Our special guest today is Mikeal Rogers, who works at Protocol Labs as IPLD Lead. We learn what Protocol Labs is, where they come from, and what Mikeal does there as the IPLD Lead (InterPlanetary Linked Data). We will find out what happened when io.js forked with Node.js, if there is a difference between the Project Manager and Developer Role, and Mikeal’s interests in design libraries, and building a community and ecosystem from scratch and how they interrelate. Download this episode now to learn more! [00:01:25] Mikeal tells us what he does at Protocol Labs. We also learn who Protocol Labs is and where they come from. [00:06:43] Mikeal talks about what he did in his previous jobs. [00:09:48] Richard asks Mikeal what separates his path and his ideal goal from being someone who ends up just working on algorithms full time for Microsoft in the back office. [00:14:15] Mikeal shares with us the io.js fork with Node.js. Justin wonders if there was a lot tension between the communities and Mikeal explains. [00:19:40] Richard wonders if Mikeal thinks the Project Manager Role and the Developer Role are similar. [00:24:18] Mikeal specializes in and worked on design libraries so they can grow entire ecosystems and communities and how to make the code itself actually enable and afford better sustainable practices, which he talks about here. He mentions the creation of the Buffer Interface. [00:32:51] Mikeal tells us where we can learn more about him and things he’s done with community and sustainability stuff and where we can find him on the internet. Spotlight [00:34:46] Justin’s spotlight is Into the Ether podcast. [00:35:06] Gunner’s spotlight is Save Internet Freedom. [00:35:33] Richard’s spotlight is a book called, Apprenticeship Patterns by Dave Hoover and Adewale Oshineye. [00:35:49] Mikeal’s spotlight is GitHub Actions. Quotes [00:08:10] “The whole industry is really pushing you towards do more, take on more responsibility, do a startup, take on executive roles, keep going. It’s just never enough to just write code or be a programmer.” [00:08:24] “I had a real kind of identity crisis a little bit when I was leaving the Node Foundation, because I was like what am I going to do? And it actually took me a little while, like I had a short stint in some venture capital stuff.” [00:22:30] “If you write code every day, you have a practice. Even if you’re just doing it for work, you have a practice, like you sit down, and you probably notice yourself taking a walk, or working on a problem in the shower or something. These are really subtle forms of meditation for you to take yourself in a different state and get all of the distractions away for a minute and just think about a problem.” Links Protocol Labs (https://protocol.ai/) IPLD (InterPlanetary Linked Data) (https://docs.ipld.io/) Medium-Mikeal Rogers (https://medium.com/@mikeal) Mikeal Rogers-GitHub (https://github.com/mikeal) Mikeal Rogers Twitter (https://twitter.com/mikeal?ref_src=twsrc%5Egoogle%7Ctwcamp%5Eserp%7Ctwgr%5Eauthor) “Request for Commits explored different perspectives in open source sustainability”-podcast with Nadia Eghbal and Mikeal Rogers (https://changelog.com/rfc) Hope in Source podcast with Nadia Eghbal and Henry Zhu (https://hopeinsource.com/) Apprenticeship Patterns: Guidance for the Aspiring Software Craftsman by Dave Hoover and Adewale Oshineye (https://www.amazon.com/Apprenticeship-Patterns-Guidance-Aspiring-Craftsman/dp/0596518382) Into the Ether- A podcast by EthHub (https://podcast.ethhub.io/) Save Internet Freedom (https://saveinternetfreedom.tech/) GitHub Actions (https://github.com/actions) GitHub Actions (GitHub Docs) (https://docs.github.com/en/free-pro-team@latest/actions) InfoWorld Tech Watch-“Why io.js decided to fork Node.js.” (https://www.infoworld.com/article/2855057/why-iojs-decided-to-fork-nodejs.html) Credits Produced by Richard Littauer (https://www.burntfen.com/) Edited by Paul M. Bahr at Peachtree Sound (https://www.peachtreesound.com/) Show notes by DeAnn Bahr at Peachtree Sound (https://www.peachtreesound.com/) Special Guest: Mikeal Rogers.

a16z
Measuring & Managing Community Orgs, Developer Relations and Beyond

a16z

Play Episode Listen Later Aug 30, 2020 33:44


Okay, so we know community is important -- whether for developer relations for your product or other types of communities -- but how do we measure the success of community initiatives and even artifacts (like events or schwag), given how indirect and long-cycle so much of it is? How do we know we're even measuring the right things, and is there one key metric or KPI for measuring the health of a community? Where do "meta communities" or where does engaging key community leaders come in?And when it comes to developer relations specifically, where should devrel sit in an organization (product, sales, engineering)? Who should you hire first? How do you reconcile developer as customer vs. developer as community member? And what's the difference between evangelism and advocacy?Amir Shevat -- former VP of Product and Developer Experience at Twitch and former Director of Developer Relations at Slack who also previously worked at Google and Microsoft -- drew on his experiences to share insights and answers to these questions, as well as provides an overview of key concepts, followed by a Q&A with Mikeal Rogers, who works on Community Operations at Protocol Labs, and was formerly Community Manager of the Node.js foundation (and has shared insights on the changing culture and community of open source on a previous episode of the a16z Podcast).This episode is based on a conversation that took place at a portfolio workshop event from a couple years ago organized by former a16z crypto partner Jesse Walden, because crypto gives developers the ability to build on top of and extend any protocol or application in the space, and developer relations and community building is an important part of that being realized. You can find the latest on company building best practices for crypto at a16z Crypto Startup School and see other pieces in our ongoing community series at a16z.com/community.

The Changelog
Working in Public

The Changelog

Play Episode Listen Later Aug 12, 2020 75:14 Transcription Available


Nadia Eghbal is back and this time she’s talking with us about her new book Working in Public. If you’re an old school listener you might remember the podcast we produced with Nadia and Mikeal Rogers called Request for Commits. If you weren’t listening then, or can’t remember…don’t worry…the back catalog of Request for Commits is still online and subscribe-able via all the podcast ways. That podcast is still getting listens to this very day! Obviously we go way back with Nadia…and having a chance to now talk with her through all the details of her new book Working in Public, this was a milestone for this show and Jerod and I. We talked through the reasons she wrote the book in the first place, Nadia’s thoughts on the future of the internet and the connection of creators to the platforms they build their followings on, and we also talk about the health of projects and communities and the challenges we face internet-at-large as well as right here in our backyard in the open source community.

Changelog Master Feed
Working in Public (The Changelog #408)

Changelog Master Feed

Play Episode Listen Later Aug 12, 2020 75:14 Transcription Available


Nadia Eghbal is back and this time she’s talking with us about her new book Working in Public. If you’re an old school listener you might remember the podcast we produced with Nadia and Mikeal Rogers called Request for Commits. If you weren’t listening then, or can’t remember…don’t worry…the back catalog of Request for Commits is still online and subscribe-able via all the podcast ways. That podcast is still getting listens to this very day! Obviously we go way back with Nadia…and having a chance to now talk with her through all the details of her new book Working in Public, this was a milestone for this show and Jerod and I. We talked through the reasons she wrote the book in the first place, Nadia’s thoughts on the future of the internet and the connection of creators to the platforms they build their followings on, and we also talk about the health of projects and communities and the challenges we face internet-at-large as well as right here in our backyard in the open source community.

Devchat.tv Master Feed
JSJ 366: npm with Mikeal Rogers

Devchat.tv Master Feed

Play Episode Listen Later May 28, 2019 71:34


Sponsors Triplebyte offers a $1000 signing bonus Sentry use the code “devchat” for $100 credit Linode offers $20 credit CacheFly Panel AJ O’Neal Chris Ferdinandi Aimee Knight Charles Max Wood Joined by special guest: Mikeal Rogers Episode Summary This episode of JavaScript Jabber starts with Mikeal Rogers introducing himself and his work in brief. Charles clarifies that he wants to focus this show on some beginner content such as node.js basics, so Mikeal gives some historical background on the concept, elaborates on its modern usage and features and explains what “streams” are, for listeners who are starting to get into JavaScript. The panelists then discuss how languages like Go and Python compare to node.js in terms of growth and individual learning curves. Mikeal answers questions about alternate CLIs, package management, Pika, import maps and their effect on node.js, and on learning JavaScript in general. Chris, Charles and AJ also chip in with their experiences in teaching modern JS to new learners and its difficulty level in comparison to other frameworks. They wrap up the episode with picks. Links Mikeal on Twitter Mikeal on GitHub Follow JavaScript Jabber on Devchat.tv, Facebook and Twitter. Picks Chris Ferdinandi: Mozilla Firefox Artifact Conference Aimee Knight: A Magician Explains Why We See What’s Not There Programming: doing it more vs doing it better Mikeal Rogers: The Future of the Web – CascadiaJS 2018 Brave Browser Charles Max Wood: Podwrench

All JavaScript Podcasts by Devchat.tv
JSJ 366: npm with Mikeal Rogers

All JavaScript Podcasts by Devchat.tv

Play Episode Listen Later May 28, 2019 71:34


Sponsors Triplebyte offers a $1000 signing bonus Sentry use the code “devchat” for $100 credit Linode offers $20 credit CacheFly Panel AJ O’Neal Chris Ferdinandi Aimee Knight Charles Max Wood Joined by special guest: Mikeal Rogers Episode Summary This episode of JavaScript Jabber starts with Mikeal Rogers introducing himself and his work in brief. Charles clarifies that he wants to focus this show on some beginner content such as node.js basics, so Mikeal gives some historical background on the concept, elaborates on its modern usage and features and explains what “streams” are, for listeners who are starting to get into JavaScript. The panelists then discuss how languages like Go and Python compare to node.js in terms of growth and individual learning curves. Mikeal answers questions about alternate CLIs, package management, Pika, import maps and their effect on node.js, and on learning JavaScript in general. Chris, Charles and AJ also chip in with their experiences in teaching modern JS to new learners and its difficulty level in comparison to other frameworks. They wrap up the episode with picks. Links Mikeal on Twitter Mikeal on GitHub Follow JavaScript Jabber on Devchat.tv, Facebook and Twitter. Picks Chris Ferdinandi: Mozilla Firefox Artifact Conference Aimee Knight: A Magician Explains Why We See What’s Not There Programming: doing it more vs doing it better Mikeal Rogers: The Future of the Web – CascadiaJS 2018 Brave Browser Charles Max Wood: Podwrench

JavaScript Jabber
JSJ 366: npm with Mikeal Rogers

JavaScript Jabber

Play Episode Listen Later May 28, 2019 71:34


Sponsors Triplebyte offers a $1000 signing bonus Sentry use the code “devchat” for $100 credit Linode offers $20 credit CacheFly Panel AJ O’Neal Chris Ferdinandi Aimee Knight Charles Max Wood Joined by special guest: Mikeal Rogers Episode Summary This episode of JavaScript Jabber starts with Mikeal Rogers introducing himself and his work in brief. Charles clarifies that he wants to focus this show on some beginner content such as node.js basics, so Mikeal gives some historical background on the concept, elaborates on its modern usage and features and explains what “streams” are, for listeners who are starting to get into JavaScript. The panelists then discuss how languages like Go and Python compare to node.js in terms of growth and individual learning curves. Mikeal answers questions about alternate CLIs, package management, Pika, import maps and their effect on node.js, and on learning JavaScript in general. Chris, Charles and AJ also chip in with their experiences in teaching modern JS to new learners and its difficulty level in comparison to other frameworks. They wrap up the episode with picks. Links Mikeal on Twitter Mikeal on GitHub Follow JavaScript Jabber on Devchat.tv, Facebook and Twitter. Picks Chris Ferdinandi: Mozilla Firefox Artifact Conference Aimee Knight: A Magician Explains Why We See What’s Not There Programming: doing it more vs doing it better Mikeal Rogers: The Future of the Web – CascadiaJS 2018 Brave Browser Charles Max Wood: Podwrench

Hope in Source
MA 4: Mikeal Rogers on Getting Old in Open Source

Hope in Source

Play Episode Listen Later Apr 29, 2019 83:01


How old is open source anyway? Mikeal Rogers (Protocol Labs) joins Henry in talking about making friends through podcasting, conference organizing as maintainer-ship, patronage and fundraising, old/new school open source, deprecating packages and ecosystem health, new ideas and becoming a maintainer by being the "first", and parenting! Transcript: https://maintainersanonymous.com/getting-old/

Maintainers Anonymous
4: Mikeal Rogers on Getting Old in Open Source

Maintainers Anonymous

Play Episode Listen Later Apr 29, 2019 83:01


How old is open source anyway? Mikeal Rogers (Protocol Labs) joins Henry in talking about making friends through podcasting, conference organizing as maintainer-ship, patronage and fundraising, old/new school open source, deprecating packages and ecosystem health, new ideas and becoming a maintainer by being the "first", and parenting!

Working Draft » Podcast Feed
Revision 328: Web Components

Working Draft » Podcast Feed

Play Episode Listen Later Feb 6, 2018 64:20


In dieser Revision war Working-Draft-Alumnus Kahlil (Webseite, Twitter, Podcast) zu Gast um mit Hans und Peter über Web Components zu plaudern. [00:00:45] News Service Worker landen in Safari und Edge Jeweils in den neuen Preview-Builds. Schaunotizen [00:01:08] Web Components Inspiriert durch einen Artikel von Mikeal Rogers berichtet Kahlil von seiner Begeisterung für Web Components. Neben […]

Changelog Master Feed
2017 Node.js User Survey and Beaker Browser (JS Party #18)

Changelog Master Feed

Play Episode Listen Later Aug 18, 2017 55:07 Transcription Available


Mikeal Rogers, Alex Sexton, and Paul Frazee talk about the 2017 Node.js user survey and Beaker Browser - an experimental peer-to-peer web browser that uses the Dat protocol to host sites from a user’s device.

JS Party
2017 Node.js User Survey and Beaker Browser

JS Party

Play Episode Listen Later Aug 18, 2017 55:07 Transcription Available


Mikeal Rogers, Alex Sexton, and Paul Frazee talk about the 2017 Node.js user survey and Beaker Browser - an experimental peer-to-peer web browser that uses the Dat protocol to host sites from a user’s device.

JS Party
ES Modules and ESM Loader

JS Party

Play Episode Listen Later Jul 26, 2017 69:28 Transcription Available


Mikeal Rogers, Alex Sexton, and John-David Dalton talk about ES Modules history and current status, and JDD’s ESM loader.

Changelog Master Feed
ES Modules and ESM Loader (JS Party #16)

Changelog Master Feed

Play Episode Listen Later Jul 26, 2017 69:28 Transcription Available


Mikeal Rogers, Alex Sexton, and John-David Dalton talk about ES Modules history and current status, and JDD’s ESM loader.

Changelog Master Feed
Async Control Flow and Threats to the Open Web (JS Party #15)

Changelog Master Feed

Play Episode Listen Later Jul 7, 2017 70:42 Transcription Available


Mikeal Rogers, Alex Sexton, and Kyle Simpson talk about Async Control Flow and Threats to the Open Web, plus our project of the week Blake2b-WASM.

JS Party
Async Control Flow and Threats to the Open Web

JS Party

Play Episode Listen Later Jul 7, 2017 70:42 Transcription Available


Mikeal Rogers, Alex Sexton, and Kyle Simpson talk about Async Control Flow and Threats to the Open Web, plus our project of the week Blake2b-WASM.

JavaScript Jabber
JSJ 267 Node 8 with Mikeal Rogers, Arunesh Chandra, and Anna Henningsen

JavaScript Jabber

Play Episode Listen Later Jun 27, 2017 52:16


JSJ 267 Node 8 with Mikeal Rogers, Arunesh Chandra, and Anna Henningsen On today’s episode of JavaScript Jabber we have panelists Joe Eames, AJ O’Neil, Amiee Knight and Charles Max Wood and we are talking about Node 8. To help us we have special guests Mikeal Rodgers, Arunesh Chandra, and Anna Henningsen. It’s going to be a great show. Tune in. [1:56] Is Node 8 just an update or is there more? More than just an update Two main points: Improved Prana support Native API Native APIs are helpful for Native Add-ons. For both the consumer and the developer side. Prior to update these Node Native modules ran in C++ and bound to specific to Node 8 APIs. Causes these modules to be updated or reconciled every time these modules are rereleased. Creates burden for module maintainers. Creates friction in upgrading Node versions in production departments. If you have a deployment depending on a certain Native module, some of the modules may not get updated in time when updating your Node versions. Keeping people from updating Node. Creates compatibility issues with Node users not using Node 8 Experimental support for a Native layer in Node 8 to eliminate these issues as much as possible. Important milestone for the module ecosystem. You can write extensions for Node in C++ and it decouples V8 so you can use something else on the front. Modules takes dependency on V8 API specific to a particular version. So if V8 changes your module will be extracted from that. As a side benefit, you can have another VM to take advantage of that. Major version upgrades mean updating Native modules and usually some of those modules haven’t updated to the newest version of Node and be complicated. Deep dependency wise, about 30% depends on a Native module somewhere In the future, with the Native API, you’ll be able to update Node without breaking modules. [5:51] What kind of work went into this? Most of the work was in C++ First thing that was done was, they looked at the top dependent Native modules in the ecosystem. Looked for what kind of V8 exposure they had and cataloged it Looked at how these APIs and what their purposes were Looked for a way to extract them so that they are part of Node Core Created neutral APIs, now part of the Node core. All C APIs Also has a C++ wrapper to improves usability of the API. [7:17] What’s an example of what you can do with these APIs? Native modules allows for tighter integration and better module performance Specific APIs that you can use in V8 that isn’t available through JavaScript If you have a C++ variable code and you want to expose a variable into JavaScript, that is V8 API note a Node 8 API Having it bound directly to the VM was something they wanted for a long time Google controls V8 and they bind to V8 Created a better relationship with Google starting in IOJS Also worked with Microsoft with their Node Shocker work. Same with SpiderMonkey SpiderNode is in the works [9:23] Have you guys done any testing for performance? Some. There is a performance working group. There is a need to stay on top of V8 V8 team has focused on new language features Many features have been added over the years Many didn’t come in optimized The performance profile has changed with these features If you’re using new language features, you will see a performance boost In core, still tracking down code that was specific to the old optimizer and rewriting i to work the new optimizer Turbo C compiler hasn’t landed yet, but is to come. Will have a completely different performance profile In most real world applications it will be faster Waiting on the release to take a version of V8 to make it easier to upgrade features in the future [11:28] Are the new features picked up from V8 or implemented in Node? It’s all in V8 Better longterm support Promises are made better in Node as a platform Added new method called util.promisify() Implementation comes from V8 Allows for more optimization for promises in Node core Promise support for the one-deprecated domains module. [13:02] Is there anything more than NMP 5? First off, delete your NMP cache. It’s in your home directory usually with a .npm extension [14:09] What are the new features in V8? Unlimited heap sizes, previously had a 4gb limit. No fixed limit. [14:09] Will you see things like chakra come out tuned for servers? Profiles of a server for application process are getting smaller Getting cut into containers and VMs and micro services Vms that have cold boot time and run quickly in a strained environment is looking more like what we will see in the future Yes, especially if you’re using cloud functions V8 is optimized for phones, but Chakra is even more so Looking for opportunities for VMs can be solely optimized for a device target Node take advantage of that VM VM neutrality is an interesting concept VM Vendors trying to optimize it based on workloads of a server Opens opportunities for Node Node Chakra has been proved to iOS. You can cut off jitting off which was a requirement to be able to be in the Apple App Store Node is not just for servers anymore Node doesn’t take a long time configuring it When a developer runs code on an IoT or a mobile app they don’t control the VM that is bundled, they run it on top of Node and it just works. VM neutrality gives a new vector, so you can swam a whole different VM [18:44] When running different engines like iOS vs Android, does the profile change? What it comes down to is if it’s eventive programming The browser is an eventive environment, is very efficient waiting for things to happen before it does something The way that we program servers and nodes are the same as well the basics are the same generally environmental differences exist but the programming model is usually the same What does impact it is memory and processor and hardware and things like that That is where tuning the VM comes into play [20:29] What is the new Async Hooks API used for? Node has been lacking for automated inspection of Async Hook No way for Node to tell you when scheduling and beginning of an Async operation. Hook helps with that it’s a way for developers to write debugging features Node tells the application that it’s working with Asynchronous way. The embedded inspector has been embedded since Node 6 Now has a JavaScript API to use it You can use things like Chrome debugger inside the running node process Old debugging protocol has been removed VM.run is still there but in the process of being deprecated [22:34] How like is the experimental Node API will change? Marked as experimental because it’s the first time in the open Hopefully out of experimental soon Soon can port API to the existing LTS Looking for more people to participate with the new API and give feedback Fix any concerns before it goes to LTS Some other experimental things are in the works like ASync Hooks and how it interacts with promises Renaming some features Another new feature - serializer and deserializer that comes with V8 experimental but will most likely stay [25:31] what is your standard for going to LTS? Major releases every 6 months Next Oct Node 9 will come out and then Node 8 will be LTS Documentation, updates, additions etc will be ready then Plan to do it for 2.5 years Every even releases come out to LTS as the odd release comes out Helps keeps a current line while having something new in the release line Node 6 is the current LTS version [27:26] What are you taking out or deprecating in Node 8? Use the word deprecate sparingly If many people use features, it’s hard to get rid of Security issue with Buffer, constructor argument was ambiguous Had added APIs that were more explicit over time and pushed those Now it will be deprecated [28:43] 21% - 33% Performance increase with some Node updates Someone online updated their React app to Node 8 and found an 21% - 33% increase Benchmarking group tests to make sure things are getting faster V8 is always getting faster as well Code changes fast and so there is a chance performance slows down so they have people to check Benchmark test are all automated by a team [30:47] Is it safe to just switch to Node 8? For front-end, yes clear your NPM cache Back use cases will usually wait until LTS [31:28] Where any of the features hard to implement? The API work took about a year It was a collaboration which made it interesting IBM, Intel, Google were involved The collaboration took a while Also Async hooks took at least a year. Async hooks used to be called async wraps and has been in the work for almost 3 years many of the changes were the accumulation of small chances [33:07] It’s the little things Letting people get small changes in accumulate into a big difference the product gets much better that way [33:57] What versions of Node are you actively updating? Current releases of Node 8 for a half of year Node 6 is LTS Additional year of maintenance of previous LTSs. Schedule is at http://github.com/node8js/lts in a chart Support for Node 4 with only critical updates, Node 6 minor updates, and Node 8 Node 7 doesn’t get much support unless it’s vital security supports. If you’re running 0.10 or 0.12 stop. Those do not get security fixes anymore [35:42] Where do you see things going from here? Mostly still working out Async hooks Maybe add some web worker or worker support for Node JS ES module support Working to make promises better Working on the performance profile and internal systems [20:29] What is the adoption like of Node 8? Node team gets better at getting people to adopt quickly but about 5% - 6% will not upgrade community doubles each year at 8 million users right now Here is a graph on Twitter posted by NPM Limiting breaks and softly deprecating things makes it’s easier to upgrade [40:11] How can people contribute and get involved? NodeToDo.org shows how to make contribution Occasionally major conferences have information on how to contribute Test it out and help make it stronger [42:08] If people install Node 8 and have issues what can they do? If it’s an NPM problem check with them clear cache! install newest version with: npm install -g npm@latest Report problems to either NPM or Node If you’re not sure where the problem is, check github.com/nodejs/help Links Node8 Node’s Twitter Node’s Medium Node Evangelism Group Mikael on Twitter and GitHub Arunesh on Twitter Anna on Twitter Picks AJ Overclocked Remix Super Mario RPG Window to The Stars Amiee Blogpost RisingStack on Node 8 2 Frugal Dudes Charles Homeland House of Cards Joe Shimmer Lake Mikael Blake2b-wasm Aremesh Current Nightly News

Devchat.tv Master Feed
JSJ 267 Node 8 with Mikeal Rogers, Arunesh Chandra, and Anna Henningsen

Devchat.tv Master Feed

Play Episode Listen Later Jun 27, 2017 52:16


JSJ 267 Node 8 with Mikeal Rogers, Arunesh Chandra, and Anna Henningsen On today’s episode of JavaScript Jabber we have panelists Joe Eames, AJ O’Neil, Amiee Knight and Charles Max Wood and we are talking about Node 8. To help us we have special guests Mikeal Rodgers, Arunesh Chandra, and Anna Henningsen. It’s going to be a great show. Tune in. [1:56] Is Node 8 just an update or is there more? More than just an update Two main points: Improved Prana support Native API Native APIs are helpful for Native Add-ons. For both the consumer and the developer side. Prior to update these Node Native modules ran in C++ and bound to specific to Node 8 APIs. Causes these modules to be updated or reconciled every time these modules are rereleased. Creates burden for module maintainers. Creates friction in upgrading Node versions in production departments. If you have a deployment depending on a certain Native module, some of the modules may not get updated in time when updating your Node versions. Keeping people from updating Node. Creates compatibility issues with Node users not using Node 8 Experimental support for a Native layer in Node 8 to eliminate these issues as much as possible. Important milestone for the module ecosystem. You can write extensions for Node in C++ and it decouples V8 so you can use something else on the front. Modules takes dependency on V8 API specific to a particular version. So if V8 changes your module will be extracted from that. As a side benefit, you can have another VM to take advantage of that. Major version upgrades mean updating Native modules and usually some of those modules haven’t updated to the newest version of Node and be complicated. Deep dependency wise, about 30% depends on a Native module somewhere In the future, with the Native API, you’ll be able to update Node without breaking modules. [5:51] What kind of work went into this? Most of the work was in C++ First thing that was done was, they looked at the top dependent Native modules in the ecosystem. Looked for what kind of V8 exposure they had and cataloged it Looked at how these APIs and what their purposes were Looked for a way to extract them so that they are part of Node Core Created neutral APIs, now part of the Node core. All C APIs Also has a C++ wrapper to improves usability of the API. [7:17] What’s an example of what you can do with these APIs? Native modules allows for tighter integration and better module performance Specific APIs that you can use in V8 that isn’t available through JavaScript If you have a C++ variable code and you want to expose a variable into JavaScript, that is V8 API note a Node 8 API Having it bound directly to the VM was something they wanted for a long time Google controls V8 and they bind to V8 Created a better relationship with Google starting in IOJS Also worked with Microsoft with their Node Shocker work. Same with SpiderMonkey SpiderNode is in the works [9:23] Have you guys done any testing for performance? Some. There is a performance working group. There is a need to stay on top of V8 V8 team has focused on new language features Many features have been added over the years Many didn’t come in optimized The performance profile has changed with these features If you’re using new language features, you will see a performance boost In core, still tracking down code that was specific to the old optimizer and rewriting i to work the new optimizer Turbo C compiler hasn’t landed yet, but is to come. Will have a completely different performance profile In most real world applications it will be faster Waiting on the release to take a version of V8 to make it easier to upgrade features in the future [11:28] Are the new features picked up from V8 or implemented in Node? It’s all in V8 Better longterm support Promises are made better in Node as a platform Added new method called util.promisify() Implementation comes from V8 Allows for more optimization for promises in Node core Promise support for the one-deprecated domains module. [13:02] Is there anything more than NMP 5? First off, delete your NMP cache. It’s in your home directory usually with a .npm extension [14:09] What are the new features in V8? Unlimited heap sizes, previously had a 4gb limit. No fixed limit. [14:09] Will you see things like chakra come out tuned for servers? Profiles of a server for application process are getting smaller Getting cut into containers and VMs and micro services Vms that have cold boot time and run quickly in a strained environment is looking more like what we will see in the future Yes, especially if you’re using cloud functions V8 is optimized for phones, but Chakra is even more so Looking for opportunities for VMs can be solely optimized for a device target Node take advantage of that VM VM neutrality is an interesting concept VM Vendors trying to optimize it based on workloads of a server Opens opportunities for Node Node Chakra has been proved to iOS. You can cut off jitting off which was a requirement to be able to be in the Apple App Store Node is not just for servers anymore Node doesn’t take a long time configuring it When a developer runs code on an IoT or a mobile app they don’t control the VM that is bundled, they run it on top of Node and it just works. VM neutrality gives a new vector, so you can swam a whole different VM [18:44] When running different engines like iOS vs Android, does the profile change? What it comes down to is if it’s eventive programming The browser is an eventive environment, is very efficient waiting for things to happen before it does something The way that we program servers and nodes are the same as well the basics are the same generally environmental differences exist but the programming model is usually the same What does impact it is memory and processor and hardware and things like that That is where tuning the VM comes into play [20:29] What is the new Async Hooks API used for? Node has been lacking for automated inspection of Async Hook No way for Node to tell you when scheduling and beginning of an Async operation. Hook helps with that it’s a way for developers to write debugging features Node tells the application that it’s working with Asynchronous way. The embedded inspector has been embedded since Node 6 Now has a JavaScript API to use it You can use things like Chrome debugger inside the running node process Old debugging protocol has been removed VM.run is still there but in the process of being deprecated [22:34] How like is the experimental Node API will change? Marked as experimental because it’s the first time in the open Hopefully out of experimental soon Soon can port API to the existing LTS Looking for more people to participate with the new API and give feedback Fix any concerns before it goes to LTS Some other experimental things are in the works like ASync Hooks and how it interacts with promises Renaming some features Another new feature - serializer and deserializer that comes with V8 experimental but will most likely stay [25:31] what is your standard for going to LTS? Major releases every 6 months Next Oct Node 9 will come out and then Node 8 will be LTS Documentation, updates, additions etc will be ready then Plan to do it for 2.5 years Every even releases come out to LTS as the odd release comes out Helps keeps a current line while having something new in the release line Node 6 is the current LTS version [27:26] What are you taking out or deprecating in Node 8? Use the word deprecate sparingly If many people use features, it’s hard to get rid of Security issue with Buffer, constructor argument was ambiguous Had added APIs that were more explicit over time and pushed those Now it will be deprecated [28:43] 21% - 33% Performance increase with some Node updates Someone online updated their React app to Node 8 and found an 21% - 33% increase Benchmarking group tests to make sure things are getting faster V8 is always getting faster as well Code changes fast and so there is a chance performance slows down so they have people to check Benchmark test are all automated by a team [30:47] Is it safe to just switch to Node 8? For front-end, yes clear your NPM cache Back use cases will usually wait until LTS [31:28] Where any of the features hard to implement? The API work took about a year It was a collaboration which made it interesting IBM, Intel, Google were involved The collaboration took a while Also Async hooks took at least a year. Async hooks used to be called async wraps and has been in the work for almost 3 years many of the changes were the accumulation of small chances [33:07] It’s the little things Letting people get small changes in accumulate into a big difference the product gets much better that way [33:57] What versions of Node are you actively updating? Current releases of Node 8 for a half of year Node 6 is LTS Additional year of maintenance of previous LTSs. Schedule is at http://github.com/node8js/lts in a chart Support for Node 4 with only critical updates, Node 6 minor updates, and Node 8 Node 7 doesn’t get much support unless it’s vital security supports. If you’re running 0.10 or 0.12 stop. Those do not get security fixes anymore [35:42] Where do you see things going from here? Mostly still working out Async hooks Maybe add some web worker or worker support for Node JS ES module support Working to make promises better Working on the performance profile and internal systems [20:29] What is the adoption like of Node 8? Node team gets better at getting people to adopt quickly but about 5% - 6% will not upgrade community doubles each year at 8 million users right now Here is a graph on Twitter posted by NPM Limiting breaks and softly deprecating things makes it’s easier to upgrade [40:11] How can people contribute and get involved? NodeToDo.org shows how to make contribution Occasionally major conferences have information on how to contribute Test it out and help make it stronger [42:08] If people install Node 8 and have issues what can they do? If it’s an NPM problem check with them clear cache! install newest version with: npm install -g npm@latest Report problems to either NPM or Node If you’re not sure where the problem is, check github.com/nodejs/help Links Node8 Node’s Twitter Node’s Medium Node Evangelism Group Mikael on Twitter and GitHub Arunesh on Twitter Anna on Twitter Picks AJ Overclocked Remix Super Mario RPG Window to The Stars Amiee Blogpost RisingStack on Node 8 2 Frugal Dudes Charles Homeland House of Cards Joe Shimmer Lake Mikael Blake2b-wasm Aremesh Current Nightly News

All JavaScript Podcasts by Devchat.tv
JSJ 267 Node 8 with Mikeal Rogers, Arunesh Chandra, and Anna Henningsen

All JavaScript Podcasts by Devchat.tv

Play Episode Listen Later Jun 27, 2017 52:16


JSJ 267 Node 8 with Mikeal Rogers, Arunesh Chandra, and Anna Henningsen On today’s episode of JavaScript Jabber we have panelists Joe Eames, AJ O’Neil, Amiee Knight and Charles Max Wood and we are talking about Node 8. To help us we have special guests Mikeal Rodgers, Arunesh Chandra, and Anna Henningsen. It’s going to be a great show. Tune in. [1:56] Is Node 8 just an update or is there more? More than just an update Two main points: Improved Prana support Native API Native APIs are helpful for Native Add-ons. For both the consumer and the developer side. Prior to update these Node Native modules ran in C++ and bound to specific to Node 8 APIs. Causes these modules to be updated or reconciled every time these modules are rereleased. Creates burden for module maintainers. Creates friction in upgrading Node versions in production departments. If you have a deployment depending on a certain Native module, some of the modules may not get updated in time when updating your Node versions. Keeping people from updating Node. Creates compatibility issues with Node users not using Node 8 Experimental support for a Native layer in Node 8 to eliminate these issues as much as possible. Important milestone for the module ecosystem. You can write extensions for Node in C++ and it decouples V8 so you can use something else on the front. Modules takes dependency on V8 API specific to a particular version. So if V8 changes your module will be extracted from that. As a side benefit, you can have another VM to take advantage of that. Major version upgrades mean updating Native modules and usually some of those modules haven’t updated to the newest version of Node and be complicated. Deep dependency wise, about 30% depends on a Native module somewhere In the future, with the Native API, you’ll be able to update Node without breaking modules. [5:51] What kind of work went into this? Most of the work was in C++ First thing that was done was, they looked at the top dependent Native modules in the ecosystem. Looked for what kind of V8 exposure they had and cataloged it Looked at how these APIs and what their purposes were Looked for a way to extract them so that they are part of Node Core Created neutral APIs, now part of the Node core. All C APIs Also has a C++ wrapper to improves usability of the API. [7:17] What’s an example of what you can do with these APIs? Native modules allows for tighter integration and better module performance Specific APIs that you can use in V8 that isn’t available through JavaScript If you have a C++ variable code and you want to expose a variable into JavaScript, that is V8 API note a Node 8 API Having it bound directly to the VM was something they wanted for a long time Google controls V8 and they bind to V8 Created a better relationship with Google starting in IOJS Also worked with Microsoft with their Node Shocker work. Same with SpiderMonkey SpiderNode is in the works [9:23] Have you guys done any testing for performance? Some. There is a performance working group. There is a need to stay on top of V8 V8 team has focused on new language features Many features have been added over the years Many didn’t come in optimized The performance profile has changed with these features If you’re using new language features, you will see a performance boost In core, still tracking down code that was specific to the old optimizer and rewriting i to work the new optimizer Turbo C compiler hasn’t landed yet, but is to come. Will have a completely different performance profile In most real world applications it will be faster Waiting on the release to take a version of V8 to make it easier to upgrade features in the future [11:28] Are the new features picked up from V8 or implemented in Node? It’s all in V8 Better longterm support Promises are made better in Node as a platform Added new method called util.promisify() Implementation comes from V8 Allows for more optimization for promises in Node core Promise support for the one-deprecated domains module. [13:02] Is there anything more than NMP 5? First off, delete your NMP cache. It’s in your home directory usually with a .npm extension [14:09] What are the new features in V8? Unlimited heap sizes, previously had a 4gb limit. No fixed limit. [14:09] Will you see things like chakra come out tuned for servers? Profiles of a server for application process are getting smaller Getting cut into containers and VMs and micro services Vms that have cold boot time and run quickly in a strained environment is looking more like what we will see in the future Yes, especially if you’re using cloud functions V8 is optimized for phones, but Chakra is even more so Looking for opportunities for VMs can be solely optimized for a device target Node take advantage of that VM VM neutrality is an interesting concept VM Vendors trying to optimize it based on workloads of a server Opens opportunities for Node Node Chakra has been proved to iOS. You can cut off jitting off which was a requirement to be able to be in the Apple App Store Node is not just for servers anymore Node doesn’t take a long time configuring it When a developer runs code on an IoT or a mobile app they don’t control the VM that is bundled, they run it on top of Node and it just works. VM neutrality gives a new vector, so you can swam a whole different VM [18:44] When running different engines like iOS vs Android, does the profile change? What it comes down to is if it’s eventive programming The browser is an eventive environment, is very efficient waiting for things to happen before it does something The way that we program servers and nodes are the same as well the basics are the same generally environmental differences exist but the programming model is usually the same What does impact it is memory and processor and hardware and things like that That is where tuning the VM comes into play [20:29] What is the new Async Hooks API used for? Node has been lacking for automated inspection of Async Hook No way for Node to tell you when scheduling and beginning of an Async operation. Hook helps with that it’s a way for developers to write debugging features Node tells the application that it’s working with Asynchronous way. The embedded inspector has been embedded since Node 6 Now has a JavaScript API to use it You can use things like Chrome debugger inside the running node process Old debugging protocol has been removed VM.run is still there but in the process of being deprecated [22:34] How like is the experimental Node API will change? Marked as experimental because it’s the first time in the open Hopefully out of experimental soon Soon can port API to the existing LTS Looking for more people to participate with the new API and give feedback Fix any concerns before it goes to LTS Some other experimental things are in the works like ASync Hooks and how it interacts with promises Renaming some features Another new feature - serializer and deserializer that comes with V8 experimental but will most likely stay [25:31] what is your standard for going to LTS? Major releases every 6 months Next Oct Node 9 will come out and then Node 8 will be LTS Documentation, updates, additions etc will be ready then Plan to do it for 2.5 years Every even releases come out to LTS as the odd release comes out Helps keeps a current line while having something new in the release line Node 6 is the current LTS version [27:26] What are you taking out or deprecating in Node 8? Use the word deprecate sparingly If many people use features, it’s hard to get rid of Security issue with Buffer, constructor argument was ambiguous Had added APIs that were more explicit over time and pushed those Now it will be deprecated [28:43] 21% - 33% Performance increase with some Node updates Someone online updated their React app to Node 8 and found an 21% - 33% increase Benchmarking group tests to make sure things are getting faster V8 is always getting faster as well Code changes fast and so there is a chance performance slows down so they have people to check Benchmark test are all automated by a team [30:47] Is it safe to just switch to Node 8? For front-end, yes clear your NPM cache Back use cases will usually wait until LTS [31:28] Where any of the features hard to implement? The API work took about a year It was a collaboration which made it interesting IBM, Intel, Google were involved The collaboration took a while Also Async hooks took at least a year. Async hooks used to be called async wraps and has been in the work for almost 3 years many of the changes were the accumulation of small chances [33:07] It’s the little things Letting people get small changes in accumulate into a big difference the product gets much better that way [33:57] What versions of Node are you actively updating? Current releases of Node 8 for a half of year Node 6 is LTS Additional year of maintenance of previous LTSs. Schedule is at http://github.com/node8js/lts in a chart Support for Node 4 with only critical updates, Node 6 minor updates, and Node 8 Node 7 doesn’t get much support unless it’s vital security supports. If you’re running 0.10 or 0.12 stop. Those do not get security fixes anymore [35:42] Where do you see things going from here? Mostly still working out Async hooks Maybe add some web worker or worker support for Node JS ES module support Working to make promises better Working on the performance profile and internal systems [20:29] What is the adoption like of Node 8? Node team gets better at getting people to adopt quickly but about 5% - 6% will not upgrade community doubles each year at 8 million users right now Here is a graph on Twitter posted by NPM Limiting breaks and softly deprecating things makes it’s easier to upgrade [40:11] How can people contribute and get involved? NodeToDo.org shows how to make contribution Occasionally major conferences have information on how to contribute Test it out and help make it stronger [42:08] If people install Node 8 and have issues what can they do? If it’s an NPM problem check with them clear cache! install newest version with: npm install -g npm@latest Report problems to either NPM or Node If you’re not sure where the problem is, check github.com/nodejs/help Links Node8 Node’s Twitter Node’s Medium Node Evangelism Group Mikael on Twitter and GitHub Arunesh on Twitter Anna on Twitter Picks AJ Overclocked Remix Super Mario RPG Window to The Stars Amiee Blogpost RisingStack on Node 8 2 Frugal Dudes Charles Homeland House of Cards Joe Shimmer Lake Mikael Blake2b-wasm Aremesh Current Nightly News

Changelog Master Feed
Inside Node 8, Glitch, Building a Community Around Education (JS Party #14)

Changelog Master Feed

Play Episode Listen Later Jun 23, 2017 46:27 Transcription Available


Mikeal Rogers, Alex Sexton, and Jessica Lord talk with James Snell (Node.js TSC Director) about the release of Node.js version 8. Then, in the second half of the show, we discuss Glitch and their new “raise your hand” feature and building a community around education. Our project of the week is Tad!

JS Party
Inside Node 8, Glitch, Building a Community Around Education

JS Party

Play Episode Listen Later Jun 23, 2017 46:27 Transcription Available


Mikeal Rogers, Alex Sexton, and Jessica Lord talk with James Snell (Node.js TSC Director) about the release of Node.js version 8. Then, in the second half of the show, we discuss Glitch and their new “raise your hand” feature and building a community around education. Our project of the week is Tad!

Changelog Master Feed
Inside the Release of npm@5 and Sheetsee (JS Party #13)

Changelog Master Feed

Play Episode Listen Later Jun 13, 2017 54:54 Transcription Available


Mikeal Rogers, Rachel White, and Alex Sexton talk with Rebecca Turner and Kat Marchán about npm@5 and Jessica Lord about Sheetsee.

JS Party
Inside the Release of npm@5 and Sheetsee

JS Party

Play Episode Listen Later Jun 13, 2017 54:54 Transcription Available


Mikeal Rogers, Rachel White, and Alex Sexton talk with Rebecca Turner and Kat Marchán about npm@5 and Jessica Lord about Sheetsee.

Changelog Master Feed
GitHub's Open Source Survey (2017) (The Changelog #252)

Changelog Master Feed

Play Episode Listen Later Jun 9, 2017 78:26 Transcription Available


On Friday, June 2, 2017 – GitHub announced the details of their Open Source Survey – an open data set on the open source community for researchers and the curious. Frannie Zlotnick, Nadia Eghbal, and Mikeal Rogers joined the show to talk through the backstory and key insights of this open data project which sheds light on the broader open source community’s attitudes, experiences, and backgrounds of those who use, build, and maintain open source software.

The Changelog
GitHub's Open Source Survey (2017)

The Changelog

Play Episode Listen Later Jun 9, 2017 78:26 Transcription Available


On Friday, June 2, 2017 – GitHub announced the details of their Open Source Survey – an open data set on the open source community for researchers and the curious. Frannie Zlotnick, Nadia Eghbal, and Mikeal Rogers joined the show to talk through the backstory and key insights of this open data project which sheds light on the broader open source community’s attitudes, experiences, and backgrounds of those who use, build, and maintain open source software.

Changelog Master Feed
Using ES6/7, create-react-app, and Electron! (JS Party #12)

Changelog Master Feed

Play Episode Listen Later Jun 1, 2017 65:05 Transcription Available


Mikeal Rogers, Rachel White, and Alex Sexton discuss how they’re using ES6/7 with and without a compiler, updates to create-react-app, and the beloved Electron.

JS Party
Using ES6/7, create-react-app, and Electron!

JS Party

Play Episode Listen Later Jun 1, 2017 65:05 Transcription Available


Mikeal Rogers, Rachel White, and Alex Sexton discuss how they’re using ES6/7 with and without a compiler, updates to create-react-app, and the beloved Electron.

JS Party
P2P Web, WebRTC, WebTorrent, IPFS, and React VR

JS Party

Play Episode Listen Later Apr 25, 2017 61:01 Transcription Available


Mikeal Rogers, Alex Sexton, and Rachel White discuss the P2P web — including WebRTC, WebTorrent, and IPFS. They also get into React and React VR and the project of the week, PouchDB.

Changelog Master Feed
P2P Web, WebRTC, WebTorrent, IPFS, and React VR (JS Party #9)

Changelog Master Feed

Play Episode Listen Later Apr 25, 2017 61:01 Transcription Available


Mikeal Rogers, Alex Sexton, and Rachel White discuss the P2P web — including WebRTC, WebTorrent, and IPFS. They also get into React and React VR and the project of the week, PouchDB.

JS Party
VM Neutrality in Node (N-API), Learning JavaScript, Mastodon

JS Party

Play Episode Listen Later Apr 14, 2017 58:30 Transcription Available


Mikeal Rogers, Alex Sexton, and Rachel White discuss VM Neutrality in Node.js, learning JavaScript, and Mastodon - the open source friendly alternative to Twitter, et al.

Changelog Master Feed
VM Neutrality in Node (N-API), Learning JavaScript, Mastodon (JS Party #7)

Changelog Master Feed

Play Episode Listen Later Apr 14, 2017 58:30 Transcription Available


Mikeal Rogers, Alex Sexton, and Rachel White discuss VM Neutrality in Node.js, learning JavaScript, and Mastodon - the open source friendly alternative to Twitter, et al.

Devchat.tv Master Feed
AiA MAS 012 Mikeal Rogers: My Angular Story

Devchat.tv Master Feed

Play Episode Listen Later Apr 13, 2017 55:53


On today's My Angular Story, Charles Max Wood interviews Mikeal Rogers from the Node.js project. Mikeal has appeared as guest in episodes 84 and 147 of DevChat.tv's JavaScript Jabber Show. Listen and learn about his fascinating journey in programming!

My Angular Story
AiA MAS 012 Mikeal Rogers: My Angular Story

My Angular Story

Play Episode Listen Later Apr 13, 2017 55:53


On today's My Angular Story, Charles Max Wood interviews Mikeal Rogers from the Node.js project. Mikeal has appeared as guest in episodes 84 and 147 of DevChat.tv's JavaScript Jabber Show. Listen and learn about his fascinating journey in programming!

All Angular Podcasts by Devchat.tv
AiA MAS 012 Mikeal Rogers: My Angular Story

All Angular Podcasts by Devchat.tv

Play Episode Listen Later Apr 13, 2017 55:53


On today's My Angular Story, Charles Max Wood interviews Mikeal Rogers from the Node.js project. Mikeal has appeared as guest in episodes 84 and 147 of DevChat.tv's JavaScript Jabber Show. Listen and learn about his fascinating journey in programming!

JS Party
Web Components and WTF is Shadow DOM?

JS Party

Play Episode Listen Later Apr 11, 2017 56:58 Transcription Available


Mikeal Rogers, Alex Sexton, and Rachel White discuss Web Components and questions like — “WTF is Shadow DOM?” and “Are custom elements ready?” We also discuss the JavaScript conference scene as well as attending, speaking and organizing conferences. Plus, the project of the week — p5.js.

Changelog Master Feed
Web Components and WTF is Shadow DOM? (JS Party #6)

Changelog Master Feed

Play Episode Listen Later Apr 11, 2017 56:58 Transcription Available


Mikeal Rogers, Alex Sexton, and Rachel White discuss Web Components and questions like — “WTF is Shadow DOM?” and “Are custom elements ready?” We also discuss the JavaScript conference scene as well as attending, speaking and organizing conferences. Plus, the project of the week — p5.js.

a16z
a16z Podcast: The Changing Culture of Open Source

a16z

Play Episode Listen Later Apr 8, 2017 39:48


The culture of open source has changed across generations, from previous ones that had to fight for the brave new way -- to the current "GitHub generation" that not only accepts open source, but expects it as the default. Which makes sense given that open source powers so much of the software world today... and by the way, that's not just tech companies but hospitals and banks; it touches everyone. Open source culture has also moved away from cults of personality and top-down models to drive the vision for open source projects, to decentralized individual contributor identities and more micro-sized projects within projects. So what does that mean for the governance of open source, whether it's by institution or foundation, or a "healthy" or "popular" project? Should we invert, always invert to make sure open source code "lands" and is committed by default -- as opposed to going through a cabal of gatekeepers first? This episode of the a16z Podcast -- featuring Nadia Eghbal (who formerly researched the sustainability of open source projects for Ford Foundation, and is now in community programs at GitHub) and Mikeal Rogers (community manager and more at Node.js Foundation) in conversation with Sonal Chokshi -- covers all this and more. Is open source simply too loaded a term? Is there no sense of ownership? How best to manage a project or resolve conflicts? After all, at the end of the day, it's about people, not just code... The views expressed here are those of the individual AH Capital Management, L.L.C. (“a16z”) personnel quoted and are not the views of a16z or its affiliates. Certain information contained in here has been obtained from third-party sources, including from portfolio companies of funds managed by a16z. While taken from sources believed to be reliable, a16z has not independently verified such information and makes no representations about the enduring accuracy of the information or its appropriateness for a given situation. This content is provided for informational purposes only, and should not be relied upon as legal, business, investment, or tax advice. You should consult your own advisers as to those matters. References to any securities or digital assets are for illustrative purposes only, and do not constitute an investment recommendation or offer to provide investment advisory services. Furthermore, this content is not directed at nor intended for use by any investors or prospective investors, and may not under any circumstances be relied upon when making a decision to invest in any fund managed by a16z. (An offering to invest in an a16z fund will be made only by the private placement memorandum, subscription agreement, and other relevant documentation of any such fund and should be read in their entirety.) Any investments or portfolio companies mentioned, referred to, or described are not representative of all investments in vehicles managed by a16z, and there can be no assurance that the investments will be profitable or that other investments made in the future will have similar characteristics or results. A list of investments made by funds managed by Andreessen Horowitz (excluding investments and certain publicly traded cryptocurrencies/ digital assets for which the issuer has not provided permission for a16z to disclose publicly) is available at https://a16z.com/investments/. Charts and graphs provided within are for informational purposes solely and should not be relied upon when making any investment decision. Past performance is not indicative of future results. The content speaks only as of the date indicated. Any projections, estimates, forecasts, targets, prospects, and/or opinions expressed in these materials are subject to change without notice and may differ or be contrary to opinions expressed by others. Please see https://a16z.com/disclosures for additional important information.

JS Party
JavaScript in Latin America

JS Party

Play Episode Listen Later Mar 31, 2017 61:56 Transcription Available


Mikeal Rogers, Alex Sexton, and special guest Juan Pablo Buritica discuss all things JavaScript in Latin America. The conferences, the communities, the meetups, JavaScript tooling, and more.

Changelog Master Feed
JavaScript in Latin America (JS Party #5)

Changelog Master Feed

Play Episode Listen Later Mar 31, 2017 61:56 Transcription Available


Mikeal Rogers, Alex Sexton, and special guest Juan Pablo Buritica discuss all things JavaScript in Latin America. The conferences, the communities, the meetups, JavaScript tooling, and more.

JS Party
PWAs (Progressive Web Apps), Service Workers, Time, Glitch

JS Party

Play Episode Listen Later Mar 24, 2017 61:55 Transcription Available


Mikeal Rogers, Alex Sexton, and Rachel White discuss PWAs (Progressive Web Apps), Service Workers, and Time in JavaScript. Jenn Schiffer also joined the show to talk about Glitch, our project of the week.

Changelog Master Feed
PWAs (Progressive Web Apps), Service Workers, Time, Glitch (JS Party #4)

Changelog Master Feed

Play Episode Listen Later Mar 24, 2017 61:55 Transcription Available


Mikeal Rogers, Alex Sexton, and Rachel White discuss PWAs (Progressive Web Apps), Service Workers, and Time in JavaScript. Jenn Schiffer also joined the show to talk about Glitch, our project of the week.

JS Party
JavaScript Fatigue, AMP, Paths.js

JS Party

Play Episode Listen Later Mar 17, 2017 58:08 Transcription Available


Mikeal Rogers, Alex Sexton, and Rachel White discuss JavaScript Fatigue, Accelerated Mobile Pages (AMP), and the project of the week Paths.js

Changelog Master Feed
JavaScript Fatigue, AMP, Paths.js (JS Party #3)

Changelog Master Feed

Play Episode Listen Later Mar 17, 2017 58:08 Transcription Available


Mikeal Rogers, Alex Sexton, and Rachel White discuss JavaScript Fatigue, Accelerated Mobile Pages (AMP), and the project of the week Paths.js

JS Party
Web Assembly, Higher Education with JavaScript, JS Standards

JS Party

Play Episode Listen Later Mar 10, 2017 55:32 Transcription Available


Mikeal Rogers, Alex Sexton, and Rachel White discuss all the details around Web Assembly, and the effects of higher education and JavaScript, and JS Standards.

Changelog Master Feed
Web Assembly, Higher Education with JavaScript, JS Standards (JS Party #2)

Changelog Master Feed

Play Episode Listen Later Mar 10, 2017 55:32 Transcription Available


Mikeal Rogers, Alex Sexton, and Rachel White discuss all the details around Web Assembly, and the effects of higher education and JavaScript, and JS Standards.

Changelog Master Feed
Security on the web, Node async/await, AR.js (JS Party #1)

Changelog Master Feed

Play Episode Listen Later Mar 3, 2017 56:47 Transcription Available


In this first episode of JS Party, Mikeal Rogers, Alex Sexton, and Rachel White discuss security on the web and how SHA-1 is broken, Node.js v7.6 and async/await, and this week’s featured project AR.js.

JS Party
Security on the web, Node async/await, AR.js

JS Party

Play Episode Listen Later Mar 3, 2017 56:47 Transcription Available


In this first episode of JS Party, Mikeal Rogers, Alex Sexton, and Rachel White discuss security on the web and how SHA-1 is broken, Node.js v7.6 and async/await, and this week’s featured project AR.js.

My JavaScript Story
MJS #007: Mikeal Rogers

My JavaScript Story

Play Episode Listen Later Mar 2, 2017 55:28


On today's episode of My JS Story, Charles Max Wood welcomes Mikeal Rogers. Mikeal is the creator of NodeConf and request, community organizer at Node.js Foundation, and a co-host of RFC podcast. Tune in to My JS Story Mikeal Rogers to learn more about how he started in programming and what he is currently up to.

Devchat.tv Master Feed
MJS #007: Mikeal Rogers

Devchat.tv Master Feed

Play Episode Listen Later Mar 2, 2017 55:28


On today's episode of My JS Story, Charles Max Wood welcomes Mikeal Rogers. Mikeal is the creator of NodeConf and request, community organizer at Node.js Foundation, and a co-host of RFC podcast. Tune in to My JS Story Mikeal Rogers to learn more about how he started in programming and what he is currently up to.

All JavaScript Podcasts by Devchat.tv
MJS #007: Mikeal Rogers

All JavaScript Podcasts by Devchat.tv

Play Episode Listen Later Mar 2, 2017 55:28


On today's episode of My JS Story, Charles Max Wood welcomes Mikeal Rogers. Mikeal is the creator of NodeConf and request, community organizer at Node.js Foundation, and a co-host of RFC podcast. Tune in to My JS Story Mikeal Rogers to learn more about how he started in programming and what he is currently up to.

Changelog Master Feed
Node.js Backstory and Future (Spotlight #12)

Changelog Master Feed

Play Episode Listen Later Mar 1, 2017 50:57 Transcription Available


In this episode of The Future of Node series recorded at Node Interactive 2016 Adam talked with Mikeal Rogers about the backstory of Node over the past few years to get to where we are today. We talked about io.js (the fork of Node), what’s happened in the community and the code since that time frame, how The Node.js Foundation has helped to solidify the foundation on which the Node ecosystem is being built on, initiatives and focuses in the near future, and more.

Spotlight
Node.js Backstory and Future

Spotlight

Play Episode Listen Later Mar 1, 2017 50:57 Transcription Available


In this episode of The Future of Node series recorded at Node Interactive 2016 Adam talked with Mikeal Rogers about the backstory of Node over the past few years to get to where we are today. We talked about io.js (the fork of Node), what’s happened in the community and the code since that time frame, how The Node.js Foundation has helped to solidify the foundation on which the Node ecosystem is being built on, initiatives and focuses in the near future, and more.

Changelog Master Feed
Meet Mikeal Rogers (JS Party)

Changelog Master Feed

Play Episode Listen Later Feb 24, 2017 37:51 Transcription Available


In this show we meet Mikeal Rogers, Community Manager for The Node.js Foundation, host of Request For Commits, and panelist on this show — JS Party. Mikeal shares his backstory, where he’s coming from, topics he’s excited to discuss, and how you (the listener) can get involved and play a role in this show each week as we celebrate JS and the web platform.

JS Party
Meet Mikeal Rogers

JS Party

Play Episode Listen Later Feb 24, 2017 37:51 Transcription Available


In this show we meet Mikeal Rogers, Community Manager for The Node.js Foundation, host of Request For Commits, and panelist on this show — JS Party. Mikeal shares his backstory, where he’s coming from, topics he’s excited to discuss, and how you (the listener) can get involved and play a role in this show each week as we celebrate JS and the web platform.

Request For Commits
Open Source, Then and Now (Part 2)

Request For Commits

Play Episode Listen Later Aug 4, 2016 64:38 Transcription Available


Nadia Eghbal and Mikeal Rogers kick off Season 1 of Request For Commits with a two part conversation with Karl Fogel — a software developer who has been active in open source since its inception.

Request For Commits
Open Source, Then and Now (Part 1)

Request For Commits

Play Episode Listen Later Aug 4, 2016 76:31 Transcription Available


Nadia Eghbal and Mikeal Rogers kick off Season 1 of Request For Commits with a two part conversation with Karl Fogel — a software developer who has been active in open source since its inception.

Changelog Master Feed
Open Source, Then and Now (Part 1) (Request For Commits #1)

Changelog Master Feed

Play Episode Listen Later Aug 4, 2016 76:31 Transcription Available


Nadia Eghbal and Mikeal Rogers kick off Season 1 of Request For Commits with a two part conversation with Karl Fogel — a software developer who has been active in open source since its inception.

Changelog Master Feed
Open Source, Then and Now (Part 2) (Request For Commits #2)

Changelog Master Feed

Play Episode Listen Later Aug 4, 2016 64:38 Transcription Available


Nadia Eghbal and Mikeal Rogers kick off Season 1 of Request For Commits with a two part conversation with Karl Fogel — a software developer who has been active in open source since its inception.

Heavybit Podcast Network: Master Feed
Ep. #9, Getting Users To Give A Damn

Heavybit Podcast Network: Master Feed

Play Episode Listen Later Jun 21, 2016 48:29


In this episode, David and Steve are joined by Mikeal Rogers, Community Manager at the Node.js Foundation. The three discuss how best to grow communities around open source software.

Don't Make Me Code
Ep. #9, Getting Users To Give A Damn

Don't Make Me Code

Play Episode Listen Later Jun 21, 2016 48:29


In this episode, David and Steve are joined by Mikeal Rogers, Community Manager at the Node.js Foundation. The three discuss how best to grow communities around open source software.

Don't Make Me Code
Ep. #9, Getting Users To Give A Damn

Don't Make Me Code

Play Episode Listen Later Jun 21, 2016 48:29


In this episode, David and Steve are joined by Mikeal Rogers, Community Manager at the Node.js Foundation. The three discuss how best to grow communities around open source software. The post Ep. #9, Getting Users To Give A Damn appeared first on Heavybit.

Devchat.tv Master Feed
234 RR Beyond Code with Jerod Santo and Adam Stacoviak

Devchat.tv Master Feed

Play Episode Listen Later Nov 18, 2015 54:29


02:28 - Jerod Santo Introduction Twitter GitHub Blog Object Lateral, Inc. 02:44 - Adam Stacoviak Introduction Twitter GitHub Blog 02:55 - The Changelog and Beyond Code (Background) 5by5 Wynn Netherland The Changelog #172: GitUp, Git UX, and More with Pierre-Olivier Latour The Changelog #145: 10+ Years of Rails with DHH The Changelog #139: The Rise of io.js with Mikeal Rogers The Changelog #155: The Future of Node.js with Scott Hammond JavaScript Jabber #147: io.js with Isaac Schlueter and Mikeal Rogers   13:50 - The Corporatization of Open Source 16:00 - Sharing Stories of Fascinating People and Choosing Conferences Gophercon 21:21 - Differences Between Communities Ron Evans Ruby Rogues Episode #141: Teaching Kids with Ron Evans 24:54 - Where are The Changelog and Beyond Code’s future plans? OSCON Strange Loop   Questions: Who is your programming hero? If you had to relearn how to code all over again, what would you tell yourself? What’s the most exciting thing in software right now? 31:57 - Interview Wishlist 20 Years of Ruby with Matz 20 Years of JavaScript with Brendan Eich Bill O’Reilly Linus Torvalds 10 Years of Git with Junio Hamano Apple: ResearchKit Sara Chipps 35:43 - Origin Stories Mitchell Hashimoto The Changelog #180: Otto, Vagrant, and Automation with Mitchell Hashimoto LEGO League Picks Personality Insights (Coraline) The Art of Empathy: A Complete Guide to Life's Most Essential Skill by Karla McLaren (Coraline) FamilySearch (Chuck) Snow (Chuck) DISTRICT Roasters (Adam) The Balvenie (Adam) Lismore Scotch (Adam) The Elixir Fountain (Jerod) Robot or Not? (Jerod) Song Exploder (Jerod)

All Ruby Podcasts by Devchat.tv
234 RR Beyond Code with Jerod Santo and Adam Stacoviak

All Ruby Podcasts by Devchat.tv

Play Episode Listen Later Nov 18, 2015 54:29


02:28 - Jerod Santo Introduction Twitter GitHub Blog Object Lateral, Inc. 02:44 - Adam Stacoviak Introduction Twitter GitHub Blog 02:55 - The Changelog and Beyond Code (Background) 5by5 Wynn Netherland The Changelog #172: GitUp, Git UX, and More with Pierre-Olivier Latour The Changelog #145: 10+ Years of Rails with DHH The Changelog #139: The Rise of io.js with Mikeal Rogers The Changelog #155: The Future of Node.js with Scott Hammond JavaScript Jabber #147: io.js with Isaac Schlueter and Mikeal Rogers   13:50 - The Corporatization of Open Source 16:00 - Sharing Stories of Fascinating People and Choosing Conferences Gophercon 21:21 - Differences Between Communities Ron Evans Ruby Rogues Episode #141: Teaching Kids with Ron Evans 24:54 - Where are The Changelog and Beyond Code’s future plans? OSCON Strange Loop   Questions: Who is your programming hero? If you had to relearn how to code all over again, what would you tell yourself? What’s the most exciting thing in software right now? 31:57 - Interview Wishlist 20 Years of Ruby with Matz 20 Years of JavaScript with Brendan Eich Bill O’Reilly Linus Torvalds 10 Years of Git with Junio Hamano Apple: ResearchKit Sara Chipps 35:43 - Origin Stories Mitchell Hashimoto The Changelog #180: Otto, Vagrant, and Automation with Mitchell Hashimoto LEGO League Picks Personality Insights (Coraline) The Art of Empathy: A Complete Guide to Life's Most Essential Skill by Karla McLaren (Coraline) FamilySearch (Chuck) Snow (Chuck) DISTRICT Roasters (Adam) The Balvenie (Adam) Lismore Scotch (Adam) The Elixir Fountain (Jerod) Robot or Not? (Jerod) Song Exploder (Jerod)

Ruby Rogues
234 RR Beyond Code with Jerod Santo and Adam Stacoviak

Ruby Rogues

Play Episode Listen Later Nov 18, 2015 54:29


02:28 - Jerod Santo Introduction Twitter GitHub Blog Object Lateral, Inc. 02:44 - Adam Stacoviak Introduction Twitter GitHub Blog 02:55 - The Changelog and Beyond Code (Background) 5by5 Wynn Netherland The Changelog #172: GitUp, Git UX, and More with Pierre-Olivier Latour The Changelog #145: 10+ Years of Rails with DHH The Changelog #139: The Rise of io.js with Mikeal Rogers The Changelog #155: The Future of Node.js with Scott Hammond JavaScript Jabber #147: io.js with Isaac Schlueter and Mikeal Rogers   13:50 - The Corporatization of Open Source 16:00 - Sharing Stories of Fascinating People and Choosing Conferences Gophercon 21:21 - Differences Between Communities Ron Evans Ruby Rogues Episode #141: Teaching Kids with Ron Evans 24:54 - Where are The Changelog and Beyond Code’s future plans? OSCON Strange Loop   Questions: Who is your programming hero? If you had to relearn how to code all over again, what would you tell yourself? What’s the most exciting thing in software right now? 31:57 - Interview Wishlist 20 Years of Ruby with Matz 20 Years of JavaScript with Brendan Eich Bill O’Reilly Linus Torvalds 10 Years of Git with Junio Hamano Apple: ResearchKit Sara Chipps 35:43 - Origin Stories Mitchell Hashimoto The Changelog #180: Otto, Vagrant, and Automation with Mitchell Hashimoto LEGO League Picks Personality Insights (Coraline) The Art of Empathy: A Complete Guide to Life's Most Essential Skill by Karla McLaren (Coraline) FamilySearch (Chuck) Snow (Chuck) DISTRICT Roasters (Adam) The Balvenie (Adam) Lismore Scotch (Adam) The Elixir Fountain (Jerod) Robot or Not? (Jerod) Song Exploder (Jerod)

Devchat.tv Master Feed
185 JSJ PouchDB with Nolan Lawson

Devchat.tv Master Feed

Play Episode Listen Later Nov 11, 2015 50:18


Check out JS Remote Conf!   02:29 - Nolan Lawson Introduction Twitter GitHub Blog Squarespace Nolan Lawson: We have a problem with promises 04:19 - PouchDB (vs CouchDB) @pouchdb Mailing List Stack Overflow Slack 05:25 - CouchDB Emulation Mikeal Rogers 06:45 - How CouchDB Works 08:26 - Syncing and Replication 10:43 - PouchDB vs Other Paradigms for Building Client-side Apps and Managing Data hood.ie Offline First! 13:58 - AP Databases / CP Databases / CA Databases The CAP Theorem 17:25 - Ignoring Merge Conflicts 20:08 - Mutability vs Immutability “Accountants don’t use erasers” 21:29 - Offline First 24:59 - Client-to-client Syncing 25:54 - IndexDB and Local Storage 28:50 - Authentication and Authorization 30:30 - Mobile Support 31:42 - Resource Usage When Syncing socket-pouch pouchdb-replication-stream 33:06 - Use Cases Patricia Garcia: Good Tech for Hard Places: Fighting Ebola with JS Offline Apps @ JSConf EU 2015 34:53 - Partitioning Data 36:22 - Getting Started pouchdb-inspector 37:09 - Contribution pouchdb Kent C. Dodds: First Timers Only 38:53 - Upcoming Features Picks source-map-explorer (Jamison) Facebook: Managing Bias Videos (Jamison) Computers Are Fast (Jamison) 86 Mac Plus Vs. 07 AMD DualCore. You Won't Believe Who Wins (Jamison) Authy App (AJ) Chip Network Channel on YouTube (AJ) Oregon (AJ) Browser Authenticator (AJ) Node Authenticator (AJ) AngularConnect (Aimee) Kevin Old (@kevinold) (Aimee) Jordan Kasper (@jakerella) (Aimee) Highrise (Chuck) Streak (Chuck) The Accursed Kings Series by Maurice Druon (Nolan) The Smash Brothers (Nolan) Super Smash Bros. Melee (Nolan)

JavaScript Jabber
185 JSJ PouchDB with Nolan Lawson

JavaScript Jabber

Play Episode Listen Later Nov 11, 2015 50:18


Check out JS Remote Conf!   02:29 - Nolan Lawson Introduction Twitter GitHub Blog Squarespace Nolan Lawson: We have a problem with promises 04:19 - PouchDB (vs CouchDB) @pouchdb Mailing List Stack Overflow Slack 05:25 - CouchDB Emulation Mikeal Rogers 06:45 - How CouchDB Works 08:26 - Syncing and Replication 10:43 - PouchDB vs Other Paradigms for Building Client-side Apps and Managing Data hood.ie Offline First! 13:58 - AP Databases / CP Databases / CA Databases The CAP Theorem 17:25 - Ignoring Merge Conflicts 20:08 - Mutability vs Immutability “Accountants don’t use erasers” 21:29 - Offline First 24:59 - Client-to-client Syncing 25:54 - IndexDB and Local Storage 28:50 - Authentication and Authorization 30:30 - Mobile Support 31:42 - Resource Usage When Syncing socket-pouch pouchdb-replication-stream 33:06 - Use Cases Patricia Garcia: Good Tech for Hard Places: Fighting Ebola with JS Offline Apps @ JSConf EU 2015 34:53 - Partitioning Data 36:22 - Getting Started pouchdb-inspector 37:09 - Contribution pouchdb Kent C. Dodds: First Timers Only 38:53 - Upcoming Features Picks source-map-explorer (Jamison) Facebook: Managing Bias Videos (Jamison) Computers Are Fast (Jamison) 86 Mac Plus Vs. 07 AMD DualCore. You Won't Believe Who Wins (Jamison) Authy App (AJ) Chip Network Channel on YouTube (AJ) Oregon (AJ) Browser Authenticator (AJ) Node Authenticator (AJ) AngularConnect (Aimee) Kevin Old (@kevinold) (Aimee) Jordan Kasper (@jakerella) (Aimee) Highrise (Chuck) Streak (Chuck) The Accursed Kings Series by Maurice Druon (Nolan) The Smash Brothers (Nolan) Super Smash Bros. Melee (Nolan)

All JavaScript Podcasts by Devchat.tv
185 JSJ PouchDB with Nolan Lawson

All JavaScript Podcasts by Devchat.tv

Play Episode Listen Later Nov 11, 2015 50:18


Check out JS Remote Conf!   02:29 - Nolan Lawson Introduction Twitter GitHub Blog Squarespace Nolan Lawson: We have a problem with promises 04:19 - PouchDB (vs CouchDB) @pouchdb Mailing List Stack Overflow Slack 05:25 - CouchDB Emulation Mikeal Rogers 06:45 - How CouchDB Works 08:26 - Syncing and Replication 10:43 - PouchDB vs Other Paradigms for Building Client-side Apps and Managing Data hood.ie Offline First! 13:58 - AP Databases / CP Databases / CA Databases The CAP Theorem 17:25 - Ignoring Merge Conflicts 20:08 - Mutability vs Immutability “Accountants don’t use erasers” 21:29 - Offline First 24:59 - Client-to-client Syncing 25:54 - IndexDB and Local Storage 28:50 - Authentication and Authorization 30:30 - Mobile Support 31:42 - Resource Usage When Syncing socket-pouch pouchdb-replication-stream 33:06 - Use Cases Patricia Garcia: Good Tech for Hard Places: Fighting Ebola with JS Offline Apps @ JSConf EU 2015 34:53 - Partitioning Data 36:22 - Getting Started pouchdb-inspector 37:09 - Contribution pouchdb Kent C. Dodds: First Timers Only 38:53 - Upcoming Features Picks source-map-explorer (Jamison) Facebook: Managing Bias Videos (Jamison) Computers Are Fast (Jamison) 86 Mac Plus Vs. 07 AMD DualCore. You Won't Believe Who Wins (Jamison) Authy App (AJ) Chip Network Channel on YouTube (AJ) Oregon (AJ) Browser Authenticator (AJ) Node Authenticator (AJ) AngularConnect (Aimee) Kevin Old (@kevinold) (Aimee) Jordan Kasper (@jakerella) (Aimee) Highrise (Chuck) Streak (Chuck) The Accursed Kings Series by Maurice Druon (Nolan) The Smash Brothers (Nolan) Super Smash Bros. Melee (Nolan)

The Web Platform Podcast
40: The io.js Roadmap

The Web Platform Podcast

Play Episode Listen Later Apr 21, 2015 53:54


Dan Shaw, Co-founder and President of NodeSource, and Mikeal Rogers, Creator & Curator of NodeConf & JSFest, join us to talk about io.js and node.js. It's been awhile since the the forking of the Node project last Thanksgiving. Now, version 2.0 of io.js is about to release and many of us have more questions about the project.   Will the two projects reconcile or will they become separate entities? What future do we look to? Find out what we need to know and what we need to do to get ready. Resources io.js - https://github.com/iojs/io.js node.js - https://github.com/joyent/node io.js Goverance - https://github.com/iojs/io.js/blob/v1.x/GOVERNANCE.md#readme IRC - #io.js Proposal for reconciliation https://github.com/iojs/io.js/issues/1416 API docs - https://iojs.org/api/ nodesource - https://nodesource.com/ NG - https://github.com/iojs/NG The roadmap - http://roadmap.iojs.org Node.js Advisory on Github - https://github.com/joyent/nodejs-advisory-board Node.js Advisory - http://nodeadvisoryboard.com/ Panelists Danny Blue - Front End Engineer at Deloitte Digital Erik Isaksen - HTML5 Google Developer Expert & Front End Engineer at Deloitte Digital Nick Niemeir - Partner at Good News Everyone Tyler McGinnis - Firebase Expert & Lead Instructor / Software Engineer at DevMtn

Devchat.tv Master Feed
147 JSJ io.js with Isaac Schleuter and Mikeal Rogers

Devchat.tv Master Feed

Play Episode Listen Later Feb 18, 2015 59:10


The panelists talk to Isaac Schleuter and Mikeal Rogers about io.js.

mikeal rogers
All JavaScript Podcasts by Devchat.tv
147 JSJ io.js with Isaac Schleuter and Mikeal Rogers

All JavaScript Podcasts by Devchat.tv

Play Episode Listen Later Feb 18, 2015 59:10


The panelists talk to Isaac Schleuter and Mikeal Rogers about io.js.

mikeal rogers
JavaScript Jabber
147 JSJ io.js with Isaac Schleuter and Mikeal Rogers

JavaScript Jabber

Play Episode Listen Later Feb 18, 2015 59:10


The panelists talk to Isaac Schleuter and Mikeal Rogers about io.js.

mikeal rogers
Changelog Master Feed
The Rise of io.js (The Changelog #139)

Changelog Master Feed

Play Episode Listen Later Jan 30, 2015 62:52


Mikeal Rogers joined the show to talk about io.js, a friendly fork of Node.js with an open governance model. We discussed why the io.js fork exists, why they choose open governance, the roadmap and future of io.js, supporting ES6, burnout while working in open source, and the steps you can take to get involved with the future of io.js and Node.js.

The Changelog
The Rise of io.js

The Changelog

Play Episode Listen Later Jan 30, 2015 62:52


Mikeal Rogers joined the show to talk about io.js, a friendly fork of Node.js with an open governance model. We discussed why the io.js fork exists, why they choose open governance, the roadmap and future of io.js, supporting ES6, burnout while working in open source, and the steps you can take to get involved with the future of io.js and Node.js.

Devchat.tv Master Feed
084 JSJ Node with Mikeal Rogers

Devchat.tv Master Feed

Play Episode Listen Later Nov 15, 2013 51:10


In this episode, the panelists talk Node with Mikeal Rogers.

node mikeal rogers
All JavaScript Podcasts by Devchat.tv
084 JSJ Node with Mikeal Rogers

All JavaScript Podcasts by Devchat.tv

Play Episode Listen Later Nov 15, 2013 51:10


In this episode, the panelists talk Node with Mikeal Rogers.

node mikeal rogers
JavaScript Jabber
084 JSJ Node with Mikeal Rogers

JavaScript Jabber

Play Episode Listen Later Nov 15, 2013 51:10


In this episode, the panelists talk Node with Mikeal Rogers.

node mikeal rogers