79 subscribers
התחל במצב לא מקוון עם האפליקציה Player FM !
פודקאסטים ששווה להאזין
בחסות


1 EP 570: ChatGPT’s Agent Mode Overview: 5 things you should know 32:40
HTTP Requests in Elixir vs. JavaScript with Yordis Prieto & Stephen Chudleigh
Manage episode 380953869 series 2493466
In today’s episode, Sundi and Owen are joined by Yordis Prieto and Stephen Chudleigh to compare notes on HTTP requests in Elixir vs. Ruby, JavaScript, Go, and Rust. They cover common pain points when working with APIs, best practices, and lessons that can be learned from other programming languages.
Yordis maintains Elixir's popular Tesla HTTP client library and shares insights from building APIs and maintaining open-source projects. Stephen has experience with Rails and JavaScript, and now works primarily in Elixir. They offer perspectives on testing HTTP requests and working with different libraries.
While Elixir has matured, there is room for improvement - especially around richer struct parsing from HTTP responses. The discussion highlights ongoing efforts to improve the developer experience for HTTP clients in Elixir and other ecosystems.
Topics Discussed in this Episode
- HTTP is a protocol - but each language has different implementation methods
- Tesla represents requests as middleware that can be modified before sending
- Testing HTTP requests can be a challenge due to dependence on outside systems
- GraphQL, OpenAPI, and JSON API provide clear request/response formats
- Elixir could improve richer parsing from HTTP into structs
- Focus on contribution ergonomics lowers barriers for new participants
- Maintainers emphasize making contributions easy via templates and clear documentation
- APIs drive adoption of standards for client/server contracts
- They discuss GraphQL, JSON API, OpenAPI schemas, and other standards that provide clear request/response formats
- TypeScript brings types to APIs and helps to validate responses
- Yordis notes that Go and Rust make requests simple via tags for mapping JSON to structs
- Language collaboration shares strengths from different ecosystems and inspires new libraries and tools for improving the programming experience
Links Mentioned
Elixir-Tesla Library: https://github.com/elixir-tesla/tesla
Yordis on Github: https://github.com/yordis
Yordis on Twitter: https://twitter.com/alchemist_ubi
Yordis on LinkedIn: https://www.linkedin.com/in/yordisprieto/
Yordis on YouTube: https://www.youtube.com/@alchemistubi
Stephen on Twitter: https://twitter.com/stepchud
Stephen's projects on consciousness: https://harmonicdevelopment.us
Owen suggests: Http.cat
HTTParty: https://github.com/jnunemaker/httparty
Guardian Library: https://github.com/ueberauth/guardian
Axios: https://axios-http.com/
Straw Hat Fetcher: https://github.com/straw-hat-team/nodejs-monorepo/tree/master/packages/%40straw-hat/fetcher
Elixir Tesla Wiki: https://github.com/elixir-tesla/tesla/wiki
HTTPoison: https://github.com/edgurgel/httpoison
Tesla Testing: https://hexdocs.pm/tesla/readme.html#testing
Tesla Mock: https://hexdocs.pm/tesla/Tesla.Mock.html
Finch: https://hex.pm/packages/finch
Mojito: https://github.com/appcues/mojito
Erlang Libraries and Frameworks Working Group: https://github.com/erlef/libs-and-frameworks/ and https://erlef.org/wg/libs-and-frameworks
Special Guests: Stephen Chudleigh and Yordis Prieto.
198 פרקים
Manage episode 380953869 series 2493466
In today’s episode, Sundi and Owen are joined by Yordis Prieto and Stephen Chudleigh to compare notes on HTTP requests in Elixir vs. Ruby, JavaScript, Go, and Rust. They cover common pain points when working with APIs, best practices, and lessons that can be learned from other programming languages.
Yordis maintains Elixir's popular Tesla HTTP client library and shares insights from building APIs and maintaining open-source projects. Stephen has experience with Rails and JavaScript, and now works primarily in Elixir. They offer perspectives on testing HTTP requests and working with different libraries.
While Elixir has matured, there is room for improvement - especially around richer struct parsing from HTTP responses. The discussion highlights ongoing efforts to improve the developer experience for HTTP clients in Elixir and other ecosystems.
Topics Discussed in this Episode
- HTTP is a protocol - but each language has different implementation methods
- Tesla represents requests as middleware that can be modified before sending
- Testing HTTP requests can be a challenge due to dependence on outside systems
- GraphQL, OpenAPI, and JSON API provide clear request/response formats
- Elixir could improve richer parsing from HTTP into structs
- Focus on contribution ergonomics lowers barriers for new participants
- Maintainers emphasize making contributions easy via templates and clear documentation
- APIs drive adoption of standards for client/server contracts
- They discuss GraphQL, JSON API, OpenAPI schemas, and other standards that provide clear request/response formats
- TypeScript brings types to APIs and helps to validate responses
- Yordis notes that Go and Rust make requests simple via tags for mapping JSON to structs
- Language collaboration shares strengths from different ecosystems and inspires new libraries and tools for improving the programming experience
Links Mentioned
Elixir-Tesla Library: https://github.com/elixir-tesla/tesla
Yordis on Github: https://github.com/yordis
Yordis on Twitter: https://twitter.com/alchemist_ubi
Yordis on LinkedIn: https://www.linkedin.com/in/yordisprieto/
Yordis on YouTube: https://www.youtube.com/@alchemistubi
Stephen on Twitter: https://twitter.com/stepchud
Stephen's projects on consciousness: https://harmonicdevelopment.us
Owen suggests: Http.cat
HTTParty: https://github.com/jnunemaker/httparty
Guardian Library: https://github.com/ueberauth/guardian
Axios: https://axios-http.com/
Straw Hat Fetcher: https://github.com/straw-hat-team/nodejs-monorepo/tree/master/packages/%40straw-hat/fetcher
Elixir Tesla Wiki: https://github.com/elixir-tesla/tesla/wiki
HTTPoison: https://github.com/edgurgel/httpoison
Tesla Testing: https://hexdocs.pm/tesla/readme.html#testing
Tesla Mock: https://hexdocs.pm/tesla/Tesla.Mock.html
Finch: https://hex.pm/packages/finch
Mojito: https://github.com/appcues/mojito
Erlang Libraries and Frameworks Working Group: https://github.com/erlef/libs-and-frameworks/ and https://erlef.org/wg/libs-and-frameworks
Special Guests: Stephen Chudleigh and Yordis Prieto.
198 פרקים
所有剧集
×
1 Nix for Elixir Apps with Norbert (NobbZ) Melzer 41:15

1 Set Theoretic Types in Elixir with José Valim 45:40

1 SDUI at Scale: GraphQL & Elixir at Cars.com with Zack Kayser 49:18

1 Rustler: Bridging Elixir and Rust with Sonny Scroggin 48:58

1 Nx and Machine Learning in Elixir with Sean Moriarity 44:21

1 LangChain: LLM Integration for Elixir Apps with Mark Ericksen 38:18

1 Blue Heron: Bluetooth Low Energy (BLE) for Elixir & Nerves with Connor Rigby 46:16

1 Zigler: Zig NIFs for Elixir with Isaac Yonemoto 43:00

1 Building an Open Vehicle Control System using Elixir and Nerves with Marc, Thibault, and Loïc 54:19

1 Creating Horizon: Deploy Elixir Phoenix Apps on FreeBSD with Jim Freeze 44:48

1 Telemetry & Observability for Elixir Apps at Cars.com with Zack Kayser & Ethan Gunderson 42:39

1 Scaling the Daylite Apple-Native CRM Using Elixir with AJ 52:21

1 Creating the Castmagic AI-Powered Content Workflow Platform with Justin Tormey 35:40

1 Creating the Standd AI-Native Due Diligence Platform with Stephen Solka 48:44

1 Creating the WebAuthn Components Library for Phoenix LiveView Apps with Owen Bickford 57:32

1 Creating a Terrestrial Telescope using Nerves & LiveView with Lucas Sifoni 49:56

1 Creating a Local-First Offline-Enabled LiveView PWA with Tony Dang 48:18

1 Creating VintageCell: Nerves, PCBs, and GenStateMachine with Bryan Green 28:58

1 Creating the Igniter Code Generation Framework with Zach Daniel 52:55

1 Elixir Wizards X Thinking Elixir ElixirConf 2024 Hype-isode 59:50

1 "The Past is Your Teacher" with Alicia Brindisi and Bri LaVorgna 32:56

1 "So You've Been Hired" with Emma Whamond and Micaela Cunha 46:06

1 "From Inspiration to Execution" with Camber Griffin 45:03

1 "DevOps: From Code to Cloud" with Dan Ivovich 43:43

1 "Printing is Ugly" with Joel Meador and Charles Suggs 47:03

1 "Keeping it Fresh" with Bilal Hankins and Anna Dorigo 36:00

1 "Saga of a Gnarly Report" with Owen and Dan 50:21

1 "Whose Tailwind is it Anyway?" with Ava Slivkoff 48:17

1 "You've Got a Job to Do" with Joel Meador 44:26

1 "Discovery Discoveries" with Alicia Brindisi and Bri LaVorgna 43:26

1 "Testing 1, 2, 3" with Joel Meador and Charles Suggs 45:40

1 Creating a Language: Elixir vs. Roc with José Valim and Richard Feldman (Elixir Wizards X Software Unscripted Podcast) 1:09:04

1 Package Management in Elixir vs. JavaScript with Wojtek Mach & Amal Hussein 54:06

1 Communities in Tech with Camille Clayton & Scott Tolinski 48:19

1 Actor Model and Concurrent Processing in Elixir vs. Clojure and Ruby with Xiang Ji & Nathan Hessler 47:57

1 Static Code Analysis in Elixir vs. Ruby with René Föhring & Marc-André Lafortune 46:02

1 Web Development Frameworks: Elixir and Phoenix vs. Ruby on Rails with Owen Bickford & Dan Ivovich 41:41

1 Garbage Collection in Erlang vs JVM/Akka with Manuel Rubio & Dan Plyukhin 44:08

1 Machine Learning in Elixir vs. Python, SQL, and Matlab with Katelynn Burns & Alexis Carpenter 31:19

1 Embedded Systems in Elixir vs. C, C++, and Java with Connor Rigby & Taylor Barto 46:30

1 ECS / Game Development with Elixir vs. Python, JavaScript, React with Dorian Iacobescu & Daniel Luu 41:08

1 Learning a Language: Elixir vs. JavaScript with Yohana Tesfazgi & Wes Bos 42:14

1 HTTP Requests in Elixir vs. JavaScript with Yordis Prieto & Stephen Chudleigh 50:29

1 Season 11 Kickoff: The Hosts Discuss Branching Out from Elixir to Compare Notes 32:21

1 José Valim, Guillaume Duboc, and Giuseppe Castagna on the Future of Types in Elixir 48:32

1 Chris McCord and Jason Stiebs on the Future of Phoenix 58:12

1 Sean Moriarity on the Future of Machine Learning with Elixir 47:18

1 Hugo Baraúna & Lucas San Roman on the Future of the Elixir Community 50:48

1 José Valim on the Future of the Elixir Ecosystem 43:57

1 Saša Jurić on The Future of Training & Education in Elixir 46:27

1 Mat Trudel on the Future of Phoenix and Web Transports 48:05

1 Mike Waud and Tony Winn on the Future of Elixir on the Grid 42:41

1 Sophie DeBenedetto on the Future of Elixir and LiveView 51:08

1 Michael Lubas on the Future of Elixir Security 40:30

1 Cory O'Daniel and the Future of DevOps in Elixir Programming 45:45

1 Season 10 Kickoff: The Hosts Discuss The Future of Elixir 41:48

1 That's a Wrap: Season 9 Finale with Sundi, Bilal, Owen & Dan! 36:53

1 Marcelo Dominguez on Command and Query Responsibility Segregation 44:12

1 Chris Miller on Crafting a Programming Language 42:55

1 Frank Hunleth and Joe Martin on the Particulars of Nerves 45:13

1 Jenny Bramble on Testing and Collaboration at Papa 46:15

1 Harper Atlas on Tailwind From the Perspective of a Designer 39:54

1 Theo Harris on Onboarding into Elixir at Alembic 39:55

1 Ashley Smith & Kenneth Moy from Bowery Farming on Oban 38:30

1 Jason Stiebs on LiveView at RokkinCat 49:53

1 Mark & David from Thinking Elixir on Ecto Queries 53:35

1 Tyler Young on Geo Mapping at Felt 36:59

1 Kate Rezentes on GenServers at Simplebet 48:07

1 Dave Lucia on Observability at Bitfo 51:35


1 Looking back on Season 8 with Sundi, Owen & Dan 38:23

1 Nathan Retta on Engineering in Android at DoorDash 29:11

1 Cara Mitchell on Internal In-house eCommerce 44:41

1 Catalina Astengo on The Many Languages of Nav 42:48

1 Meks McClure on Communication, Diversity, and Ergonomics 45:35

1 Jessica Kerr on Systems Thinking for Developers 43:42

1 Digit on Smart Homes, EMPEX, and Cross-platform Development 42:58

1 Nathan Willson on the Polyglot Landscape in Japan 45:20

1 Sanne Kalkman on Coding, Crafting, and Collaboration 43:31

1 Cassidy Williams and Tobi Pfeiffer on Elixir Programming at Remote 1:00:36

1 Devon Estes on The Power of Functional Programming 48:07

1 Miguel Cobá on Deploying in Elixir and Other Languages 48:47

1 Todd Resudek on the Impact of Elixir 56:55

1 Arthi Radhakrishnan on the Value of Collaborative Learning for Software Engineers 45:33

1 Meryl Dakin on Changing Lanes and Switching Gears With Elixir 51:20

1 Brooklyn Zelenka and The Exciting World of Edge Computing 46:05

1 Sigu Magwa on the Elixir Community in Kenya 50:42

1 Casting Spells with Brooklin Myers 56:10

1 Speedcubing and Building Livebook with Jonatan Kłosko 45:17

1 Protocols in Elixir with Yiming Chen 42:11

1 Learning and Teaching Functional Programming with Adolfo Neto 47:53

1 The Benefits of Consistently Growing Your Toolset with Florian Kraft 48:52

1 Re-Platforming One of the Original Dot Coms in Elixir with Angel Jose 47:57

1 The Impact of Elixir Launchisode 58:47

1 Wrapping up BEAM Magic with Amos King 57:56

1 Mini-Feature Extravaganza featuring Tyler Clemens, Elom Amouzou, Elise Navarro, and Jeremy Neal 38:30

1 Delving Deeper into Magic with Quinn Wilton 44:54

1 The Bridge Between Elixir and Zig with Isaac Yonemoto 46:34

1 Maxim Fedorov on Building and Scaling WhatsApp with Erlang 50:13

1 Chelsea Troy on the Importance of Access and the Impact of Teaching 48:08

1 Testing Elixir with Jeffrey Matthias and Andrea Leopardi 56:18

1 Scaling and The Growth Curve with Francesco Cesarini 46:33

1 Bringing the Magic of Math into Programming with Chris Miller 54:11

1 The Controlled Magic of Oban with Parker and Shannon Selbert 50:21

1 The Right Amount of Magic with Erik Person 1:00:41

1 Robert Virding on the Roots of Erlang 49:38

1 Adopting Elixir Finale with Sean Lewis, Anna Neyzberg, and René Föhring 1:01:39

1 Jenn Gamble on Data Science, Machine Learning, and Elixir 47:38

1 John Mertens on Adopting Elixir at Change.org 43:27

1 Sophie DeBenedetto on Programming Phoenix LiveView 48:20

1 Shaun Robinson and Toran Billups on Using Elixir to Empower Online Learning 50:45

1 Brian Howenstein on How ClusterTruck is Innovating Food Delivery 59:23

1 Yair Flicker on SmartLogic’s Origin, Evolution, and Elixir Adoption Process 55:46

1 Alexandra Chakeres on Moving Towards an Inclusive Elixir Community 48:25

1 Matt Nowack and Jake Heinz on Elixir and Discord; Bonus: Arthi Radhakrishnan, Community.com 53:12

1 Jason Axelson on the Elixir Language Server 33:57

1 Steve Domin on Innovating Travel APIs 38:33

1 Shawn Vo on Elixir as a Competitive Advantage 38:57


1 Simon Glenn-Gregg on Building an Election Results Prototype in Elixir 37:27

1 Council of Wizards Part 2 with Chris Bell, Desmond Bowe, Emily Maxie, Dan Lindeman, and Alan Voss 55:09

1 Council of Wizards Part 1 with Andrea Leopardi and René Föhring 39:28

1 Chris McCord with a Deep Dive on Phoenix 43:42

1 Amos King on MUDs, Architecture, Domain-driven design, and Military Bases 55:23

1 Sundi Myint on The Visual Side of Elixir, the History of Emojis, and Test- and Domain-Driven Architecture 45:58

1 Dave Thomas on Learning How Things Work 1:09:43

1 Ben Marx on the Launch and Architecture of SubSpace 38:27

1 Pattern Matching - Johanna Larsson 14:46

1 Steve Bussey on Real-Time Applications 49:26

1 Mohd Maqbool Alam on System and Application Architecture 43:22


1 Betweenisode Part 2! Featuring Amos King, Chris Keathley, Anna Neyzberg, Paul Schoenfelder, Sophie DeBenedetto, Meryl Dakin, and Dave Thomas 53:26

1 Betweenisode Part 1: Saša Jurić, Bruce and Maggie Tate, James Edward Gray II, Jim and Chris Freeze, and Frank Hunleth 53:16

1 Season Three Wrap and Remote Work Tips 50:45

1 Sophie and Meryl Takeover: Sean Callan and Steven Nunez on Elixir Education 53:54
ברוכים הבאים אל Player FM!
Player FM סורק את האינטרנט עבור פודקאסטים באיכות גבוהה בשבילכם כדי שתהנו מהם כרגע. זה יישום הפודקאסט הטוב ביותר והוא עובד על אנדרואיד, iPhone ואינטרנט. הירשמו לסנכרון מנויים במכשירים שונים.