POPULARITY
Categories
SANS Internet Stormcenter Daily Network/Cyber Security and Information Security Stormcast
RedTail: Remnux and Malware Management A description showing how to set up a malware analysis in the cloud with Remnux and Kasm. RedTail is a sample to illustrate how the environment can be used. https://isc.sans.edu/diary/RedTail%2C%20Remnux%20and%20Malware%20Management%20%5BGuest%20Diary%5D/31868 Critical Erlang/OTP SSH Vulnerability Researchers identified a critical vulnerability in the Erlang/OTP SSH library. Due to this vulnerability, SSH servers written in Erlang/OTP allow arbitrary remote code execution without prior authentication https://www.openwall.com/lists/oss-security/2025/04/16/2 Brickstorm Analysis An analysis of a recent instance of the Brickstorm backdoor. This backdoor used to be more known for infecting Linux systems, but now it also infects Windows. https://www.nviso.eu/blog/nviso-analyzes-brickstorm-espionage-backdoor https://blog.nviso.eu/wp-content/uploads/2025/04/NVISO-BRICKSTORM-Report.pdf OpenAI GPT 4.1 Controversy OpenAI released its latest model, GPT 4.1, without a safety report and guardrails to prevent malware creation. https://opentools.ai/news/openai-stirs-controversy-with-gpt-41-release-lacking-safety-report
Neste episódio conjunto do Fronteiras da Engenharia de Software e do Elixir em Foco, Adolfo Neto, Maria Claudia Emer e Zoey Pessanha entrevistaram José Valim, criador da linguagem de programação Elixir. A conversa abordou o tema de boas práticas e anti-padrões (code smells) em Elixir, destacando a importância de pesquisas acadêmicas na área. Adolfo e Valim mencionaram especificamente o trabalho realizado por Lucas Vegi e Marco Tulio Valente, que investigaram code smells na comunidade Elixir, resultando em uma página dedicada a anti-padrões na documentação oficial da linguagem.José Valim ressaltou a escassez de materiais sobre design patterns e refactoring para linguagens funcionais, enfatizando a necessidade de mais estudos e publicações sobre esses temas. Ele explicou que iniciativas como a documentação viva dos anti-padrões ajudam a comunidade a identificar práticas inadequadas e aprimorar continuamente a qualidade do código produzido.Além disso, Valim discutiu brevemente o futuro do Elixir, mencionando projetos recentes como o desenvolvimento do Livebook, ferramenta semelhante ao Jupyter Notebook, e avanços relacionados à tipagem gradual. Ele destacou o potencial da linguagem para sistemas distribuídos e concorrentes, reforçando seu uso crescente por empresas ao redor do mundo. No fim, Valim respondeu qual é a próxima fronteira da Engenharia de Software.José Valim:X (Twitter): https://twitter.com/josevalimLinkedIn: https://www.linkedin.com/in/josevalim/Bluesky: https://bsky.app/profile/josevalim.bsky.socialDashbit: https://dashbit.co/Artigos científicos:The Design Principles of the Elixir Type SystemGiuseppe Castagna, Guillaume Duboc, José Valimhttps://www.irif.fr/_media/users/gduboc/elixir-types.pdfGuard analysis and safe erasure gradual typing: a type system for ElixirGiuseppe Castagna, Guillaume Dubochttps://arxiv.org/abs/2408.14345Links:Ep. Roberto Ierusalimschy (Lua) https://fronteirases.github.io/episodios/paginas/52 Lua na BEAM https://hexdocs.pm/lua/Lua.htmlEp. Leonardo de Moura (Lean) https://fronteirases.github.io/episodios/paginas/41 Episódio Honey Potion https://www.youtube.com/watch?v=sCV17mv-glE Honey Potion no GitHub https://github.com/lac-dcc/honey-potionTese Lucas Vegi https://repositorio.ufmg.br/handle/1843/80651 Artigos Lucas Vegi e Marco Tulio Valentehttps://scholar.google.com/citations?hl=pt-BR&user=N6KnVK8AAAAJ&view_op=list_works&sortby=pubdateYou have built an Erlang https://vereis.com/posts/you_built_an_erlang Beyond Functional Programming with Elixir and Erlanghttps://blog.plataformatec.com.br/2016/05/beyond-functional-programming-with-elixir-and-erlang/ ChatGPTs para Elixir e Erlang https://gist.github.com/adolfont/a747dcc9cbef002f510b6dbf050695ebErlang Ecosystem Foundation https://erlef.org/ Entrevistas com José Valim https://open.spotify.com/playlist/0L3paiT1aHtYvW8LaM4XUV Talvez o episódio com Bill Gates seja este https://www.bbc.co.uk/programmes/w3ct6pmw Guillaume Duboc https://gldubc.github.io/ PhD student at Université Paris Cité, under the supervision of Giuseppe Castagna https://www.irif.fr/~gc/ Snow Xuejing Huang (pós-doutoranda) https://xsnow.live/ From dynamic to static, Elixir begins its transformationhttps://www.ins2i.cnrs.fr/en/cnrsinfo/dynamic-static-elixir-begins-its-transformation Elixir Type Checker - A (prototype) type checker for Elixir based on set-theoretic type systems.https://typex.fly.dev/ Bringing Types to Elixir by Giuseppe Castagna and Guillaume Duboc | ElixirConf EU 2023https://www.youtube.com/watch?v=gJJH7a2J9O8 Quem é José Valim? Respostas de vários LLMshttps://gist.github.com/adolfont/a95b7e37867cc1b2e24cd0e372727d8cHoney Potion https://www.youtube.com/watch?v=CoFNns01VjARefactorEx https://github.com/gp-pereira/refactorexJido frameworkhttps://github.com/agentjido/jido Fronteiras da Engenharia de Software https://fronteirases.github.io/ Elixir em Foco https://www.elixiremfoco.com/
Neste episódio conjunto do Fronteiras da Engenharia de Software e do Elixir em Foco, Adolfo Neto, Maria Claudia Emer e Zoey Pessanha entrevistaram José Valim, criador da linguagem de programação Elixir. A conversa abordou o tema de boas práticas e anti-padrões (code smells) em Elixir, destacando a importância de pesquisas acadêmicas na área. Adolfo e Valim mencionaram especificamente o trabalho realizado por Lucas Vegi e Marco Tulio Valente, que investigaram code smells na comunidade Elixir, resultando em uma página dedicada a anti-padrões na documentação oficial da linguagem.José Valim ressaltou a escassez de materiais sobre design patterns e refactoring para linguagens funcionais, enfatizando a necessidade de mais estudos e publicações sobre esses temas. Ele explicou que iniciativas como a documentação viva dos anti-padrões ajudam a comunidade a identificar práticas inadequadas e aprimorar continuamente a qualidade do código produzido.Além disso, Valim discutiu brevemente o futuro do Elixir, mencionando projetos recentes como o desenvolvimento do Livebook, ferramenta semelhante ao Jupyter Notebook, e avanços relacionados à tipagem gradual. Ele destacou o potencial da linguagem para sistemas distribuídos e concorrentes, reforçando seu uso crescente por empresas ao redor do mundo. No fim, Valim respondeu qual é a próxima fronteira da Engenharia de Software.José Valim:X (Twitter): https://twitter.com/josevalimLinkedIn: https://www.linkedin.com/in/josevalim/Bluesky: https://bsky.app/profile/josevalim.bsky.socialDashbit: https://dashbit.co/Artigos científicos:The Design Principles of the Elixir Type SystemGiuseppe Castagna, Guillaume Duboc, José Valimhttps://www.irif.fr/_media/users/gduboc/elixir-types.pdfGuard analysis and safe erasure gradual typing: a type system for ElixirGiuseppe Castagna, Guillaume Dubochttps://arxiv.org/abs/2408.14345Links:Ep. Roberto Ierusalimschy (Lua) https://fronteirases.github.io/episodios/paginas/52 Lua na BEAM https://hexdocs.pm/lua/Lua.htmlEp. Leonardo de Moura (Lean) https://fronteirases.github.io/episodios/paginas/41 Episódio Honey Potion https://www.youtube.com/watch?v=sCV17mv-glE Honey Potion no GitHub https://github.com/lac-dcc/honey-potionTese Lucas Vegi https://repositorio.ufmg.br/handle/1843/80651 Artigos Lucas Vegi e Marco Tulio Valentehttps://scholar.google.com/citations?hl=pt-BR&user=N6KnVK8AAAAJ&view_op=list_works&sortby=pubdateYou have built an Erlang https://vereis.com/posts/you_built_an_erlang Beyond Functional Programming with Elixir and Erlanghttps://blog.plataformatec.com.br/2016/05/beyond-functional-programming-with-elixir-and-erlang/ ChatGPTs para Elixir e Erlang https://gist.github.com/adolfont/a747dcc9cbef002f510b6dbf050695ebErlang Ecosystem Foundation https://erlef.org/ Entrevistas com José Valim https://open.spotify.com/playlist/0L3paiT1aHtYvW8LaM4XUV Talvez o episódio com Bill Gates seja este https://www.bbc.co.uk/programmes/w3ct6pmw Guillaume Duboc https://gldubc.github.io/ PhD student at Université Paris Cité, under the supervision of Giuseppe Castagna https://www.irif.fr/~gc/ Snow Xuejing Huang (pós-doutoranda) https://xsnow.live/ From dynamic to static, Elixir begins its transformationhttps://www.ins2i.cnrs.fr/en/cnrsinfo/dynamic-static-elixir-begins-its-transformation Elixir Type Checker - A (prototype) type checker for Elixir based on set-theoretic type systems.https://typex.fly.dev/ Bringing Types to Elixir by Giuseppe Castagna and Guillaume Duboc | ElixirConf EU 2023https://www.youtube.com/watch?v=gJJH7a2J9O8 Quem é José Valim? Respostas de vários LLMshttps://gist.github.com/adolfont/a95b7e37867cc1b2e24cd0e372727d8cHoney Potion https://www.youtube.com/watch?v=CoFNns01VjARefactorEx https://github.com/gp-pereira/refactorexJido frameworkhttps://github.com/agentjido/jido Fronteiras da Engenharia de Software https://fronteirases.github.io/ Elixir em Foco https://www.elixiremfoco.com/
Neste episódio do Elixir em Foco, Adolfo Neto e Herminio Torres entrevistam Georges Boris, cofundador, ex-CTO e atual CDO da Uncover. O episódio aborda a trajetória de Georges, o uso de Elixir na Uncover e a importância da linguagem Gleam no ecossistema Erlang. Eles discutem o sistema de tipos de Gleam, sua integração com Elixir e o conceito de fearless refactoring. Além disso, conversam sobre a influência do cineasta David Lynch na vida de Georges. O episódio termina com sugestões de aprendizado e uma mensagem final para a comunidade de Elixir.Links de Georges:X https://x.com/georgesborisBluesky https://bsky.app/profile/georgesboris.com Linkedin https://www.linkedin.com/in/georges-boris-ux/ Links da Uncoverhttps://www.uncover.co/careershttps://www.linkedin.com/company/uncover-company/posts/?feedView=allSite de Gleamhttps://gleam.run/ Palestra “Functional Shell, Strongly Typed Core“ por Georges Boris | 16º Meetup Elug CEhttps://www.youtube.com/watch?v=vp3BuFr8rY8 Streams do criador de Gleamhttps://www.twitch.tv/louispilfold Difference Of Squares no Exercism: Aprendendo a lidar com Listas em Gleamhttps://www.youtube.com/watch?v=zj7ZOTTG77QNewsletter Gleam Weeklyhttps://gleamweekly.com/Gleam Developer Survey 2024https://gleam.run/news/developer-survey-2024-results/Keynote: Gleam's Journey on the BEAM - Hayleigh Thompson & Louis Pilfold | Code BEAM Europe 2024https://www.youtube.com/watch?v=6I0IbJtUC3U (7321 views)Lissome is a library to integrate the Gleam frontend framework Lustre with Phoenix Live View.https://github.com/selenil/lissome/ Getting to know Actors in Gleam - Raúl Chouza | Code BEAM America 2024https://www.youtube.com/watch?v=WaHx6n2UZJg Gleam: Lean BEAM typing machine | Louis Pilfold | Code BEAM V 2020https://www.youtube.com/watch?v=ceynSTa1dV4 BEAM's bright future with Gleam (and JavaScript?) - Peter Saxton | Code BEAM Lite Stockholm 2024https://www.youtube.com/watch?v=fhJBEuJjxFQ Gleam Star History https://star-history.com/#gleam-lang/gleam&Date Gleam+Elixir Star Historyhttps://star-history.com/#gleam-lang/gleam&elixir-lang/elixir&Date O runtime Erlang e como torná-lo seu amigo, Pedro Castilhohttps://www.youtube.com/watch?v=UGHbdeLOtbo Recursos para aprender Gleam:https://exercism.org/tracks/gleamhttps://www.youtube.com/@IsaacHarrisHolthttps://www.youtube.com/@giacomo_cavalieriComunidade Gleam:https://tour.gleam.run/https://tour.gleam.run/everything/Usando Gleam e Elixir juntas:https://github.com/georgesboris/gleam-in-elixir-exampleSistema de tipos em Gleam:https://github.com/giacomocavalieri/squirrelFearless refactoring:https://www.youtube.com/watch?v=8bZh5LMaSmEFunctional Shell and Boundaries:https://www.destroyallsoftware.com/talks/boundarieshttps://www.destroyallsoftware.com/screencasts/catalog/functional-core-imperative-shellCurso de CSS de Andy Bell:https://piccalil.li/complete-css/lessonsRede Emílias de Podcasts no Bluesky - https://bsky.app/profile/redeemilias.bsky.social Rede Emílias de Podcasts no Mastodon - https://bertha.social/@redeemilias Elixir em Foco no YouTube - https://www.youtube.com/@elixiremfoco Elixir em Foco no Spotify - https://open.spotify.com/show/43aDX4kajkNCKaCYpGPooJ Elixir em Foco no Spotify for Podcasters - https://podcasters.spotify.com/pod/show/elixiremfoco Elixir em Foco na Apple Podcasts - https://podcasts.apple.com/us/podcast/elixir-em-foco/id1560944119 Associe-se à Erlang Ecosystem Foundation - https://bit.ly/3Sl8XTO Site da Erlang Ecosystem Foundation - https://bit.ly/3Jma95g Nosso site - https://elixiremfoco.com Estamos no X (@elixiremfoco) - https://x.com/elixiremfoco Nosso email - elixiremfoco@gmail.com
Jätkame eile alustatud teemal ning räägime emakakaelavähist ja selle ennetamise ning varajase avastamise tähtsusest. Külas on Ida-Tallinna Keskhaigla Naistenõuandla osakonnajuhataja ja naistearst dr Külli Erlang. Saatejuht on Ingela Virkus.
Seekord räägime emakakaelavähist ja selle ennetamise ning varajase avastamise tähtsusest. Külas on Ida-Tallinna Keskhaigla Naistenõuandla osakonnajuhataja ja naistearst dr Külli Erlang. Saatejuht on Ingela Virkus.
Integration testing is always a tricky thing, fraught with problems setting up the right environment and attempting to control the system's state. That's particularly true when you're dealing with a mix of software and hardware, and even worse when you don't have control of what the hardware can do.This week I'm joined by Dave Lucia of TVLab's, who's building systems for testing television software at scale, and it's a problem that needs a huge variety of techniques to crack it. He's using cameras, real time video processing, Erlang & Elixir and a host of other tools to make it possible to test a fleet of televisions on demand.Sometimes good systems revolve around a single big idea; this time it's a large combination of solutions, coordinated by the BEAM, that gets the job done.--TVLabs: https://tvlabs.ai/Flipper Zero: https://flipperzero.oneATSC 3.0 “NextGen TV”: https://en.wikipedia.org/wiki/ATSC_3.0Support Developer Voices on Patreon: https://patreon.com/DeveloperVoicesSupport Developer Voices on YouTube: https://www.youtube.com/@developervoices/joinKris on Bluesky: https://bsky.app/profile/krisajenkins.bsky.socialKris on Mastodon: http://mastodon.social/@krisajenkinsKris on LinkedIn: https://www.linkedin.com/in/krisjenkins/
Para este episodio del podcast Andros Fenollosa tiene la suerte de contar con Ellie Fairholm y Josep Giralt D'Lacoste, autores del libro recientemente publicado por la editorial The Pragmatic Programmers, titulado Engineering Elixir Applications. Ellie y Josep además de ser dos auténticos apasionados del lenguaje Elixir, están detrás de la consultora de software BeamOps, especializada en simplificar los proyectos BEAM. Los proyectos BEAM en el entorno de Elixir están directamente relacionados con la máquina virtual BEAM, que es la base sobre la que se ejecutan los lenguajes de programación Erlang y Elixir. El libro de Ellie y Josep está dirigido a principiantes avanzados o programadores intermedios familiarizados con Elixir pero que se sienten estancados cuando se trata de implementar y escalar sus aplicaciones. Presentan el paradigma BEAMOps (una versión más especializada de DevOps) que se centra en el desarrollo de aplicaciones BEAM. Los principios básicos de BEAMOps incluyen integridad del entorno, escalabilidad y infraestructura como código. Sin duda es un libro ambicioso pero que los autores han querido hacer accesible a las personas que desarrollan aplicaciones en Elixir. Su objetivo es que tomes las riendas de todo lo necesario para desplegar y escalar aplicaciones Elixir en un entorno moderno de desarrollo y aprovechando las mejores herramientas para conseguir la máxima eficiencia para ti o tu equipo de desarrollo. Los autores han querido compartir con nosotros un código promocional (disponible a partir del 22/12/2024) para adquirir su libro en la web de The Pragmatic Programmers con el código engineer2024 Ya que el libro se encuentra en pre-lanzamiento y está limitado a la venta en el mercado norteamericano os recomendamos la versión digital que con la promoción se queda en un precio muy interesante.
Zack Kayser and Ethan Gunderson, Software Engineers at Cars Commerce, join the Elixir Wizards to share their expertise on telemetry and observability in large-scale systems. Drawing from their experience at Cars.com—a platform handling high traffic and concurrent users—they discuss the technical and organizational challenges of scaling applications, managing microservices, and implementing effective observability practices. The conversation highlights the pivotal role observability plays in diagnosing incidents, anticipating system behavior, and asking unplanned questions of a system. Zack and Ethan explore tracing, spans, and the unique challenges introduced by LiveView deployments and WebSocket connections. They also discuss the benefits of OpenTelemetry as a vendor-agnostic instrumentation tool, the significance of Elixir's telemetry library, and practical steps for developers starting their observability journey. Additionally, Zack and Ethan introduce their upcoming book, Instrumenting Elixir Applications, which will offer guidance on integrating telemetry and tracing into Elixir projects. Topics Discussed: Cars.com's transition to Elixir and scaling solutions The role of observability in large-scale systems Uncovering insights by asking unplanned system questions Managing high-traffic and concurrent users with Elixir Diagnosing incidents and preventing recurrence using telemetry Balancing data collection with storage constraints Sampling strategies for large data volumes Tracing and spans in observability LiveView's influence on deployments and WebSocket behavior Mitigating downstream effects of socket reconnections Contextual debugging for system behavior insights Observability strategies for small vs. large-scale apps OpenTelemetry for vendor-agnostic instrumentation Leveraging OpenTelemetry contrib libraries for easy setup Elixir's telemetry library as an ecosystem cornerstone Tracing as the first step in observability Differentiating observability from business analytics Profiling with OpenTelemetry Erlang project tools The value of profiling for performance insights Making observability tools accessible and impactful for developers Links Mentioned https://www.carscommerce.inc/ https://www.cars.com/ https://hexdocs.pm/telemetry/readme.html https://kubernetes.io/ https://github.com/ninenines/cowboy https://hexdocs.pm/bandit/Bandit.html https://hexdocs.pm/broadway/Broadway.html https://hexdocs.pm/oban/Oban.html https://www.dynatrace.com/ https://www.jaegertracing.io/ https://newrelic.com/ https://www.datadoghq.com/ https://www.honeycomb.io/ https://fly.io/phoenix-files/how-phoenix-liveview-form-auto-recovery-works/ https://www.elastic.co/ https://opentelemetry.io/ https://opentelemetry.io/docs/languages/erlang/ https://opentelemetry.io/docs/concepts/signals/traces/ https://opentelemetry.io/docs/specs/otel/logs/ https://github.com/runfinch/finch https://hexdocs.pm/telemetry_metrics/Telemetry.Metrics.html https://opentelemetry.io/blog/2024/state-profiling https://www.instrumentingelixir.com/ https://prometheus.io/ https://www.datadoghq.com/dg/monitor/ts/statsd/ https://x.com/kayserzl https://github.com/zkayser https://bsky.app/profile/ethangunderson.com https://github.com/open-telemetry/opentelemetry-collector-contrib Special Guests: Ethan Gunderson and Zack Kayser.
News includes Saša Jurić updating his project for "The Soul of Erlang and Elixir" talk with the latest technologies, the release of Phoenix LiveView RC 8 with exciting new features, ErrorTracker v0.5.0's enhancements for Ash applications, and the introduction of the NX MLX backend for Apple Silicon, offering efficient machine learning on Mac hardware. Plus, a new VS Code plugin called "Refactorex" brings robust refactoring capabilities to Elixir. We also interview Gonzalo Rodriguez about Tower, a vendor-agnostic error tracking and reporting tool in Elixir, discussing its creation, functionality, and how it simplifies error management across various services. And more! Show Notes online - http://podcast.thinkingelixir.com/232 (http://podcast.thinkingelixir.com/232) Elixir Community News https://x.com/sasajuric/status/1863889108449337415 (https://x.com/sasajuric/status/1863889108449337415?utm_source=thinkingelixir&utm_medium=shownotes) – Saša Jurić updated the project used in his "The Soul of Erlang and Elixir" talk, rewriting it with the latest versions of Erlang, Elixir, & Phoenix. https://github.com/sasa1977/souloferlangandelixir (https://github.com/sasa1977/soul_of_erlang_and_elixir?utm_source=thinkingelixir&utm_medium=shownotes) – The updated GitHub project for "The Soul of Erlang and Elixir" talk, now using the latest technologies. https://www.youtube.com/watch?v=JvBT4XBdoUE (https://www.youtube.com/watch?v=JvBT4XBdoUE?utm_source=thinkingelixir&utm_medium=shownotes) – Saša Jurić's 2019 talk "The Soul of Erlang and Elixir" is available on YouTube. https://github.com/phoenixframework/phoenixliveview/blob/main/CHANGELOG.md#100-rc8-2024-12-02 (https://github.com/phoenixframework/phoenix_live_view/blob/main/CHANGELOG.md#100-rc8-2024-12-02?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix LiveView RC 8 is out, with new features like extended HEEx syntax and more. From RC7, there is support for targeting inner and closest query selectors in JS commands. https://x.com/crbelaus/status/1861450830181720333 (https://x.com/crbelaus/status/1861450830181720333?utm_source=thinkingelixir&utm_medium=shownotes) – ErrorTracker v0.5.0 release includes support for Ash applications, better mobile experience, and more. https://bsky.app/profile/samrat.me/post/3lbzwr7gxmk2q (https://bsky.app/profile/samrat.me/post/3lbzwr7gxmk2q?utm_source=thinkingelixir&utm_medium=shownotes) – The NX MLX backend for Apple Silicon is announced, offering efficient machine learning on Apple hardware. https://github.com/elixir-nx/emlx (https://github.com/elixir-nx/emlx?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub repository for NX MLX, Elixir support for the Apple MLX machine learning framework on Apple Silicon. MLX is designed by Apple for efficient machine learning on MacOS hardware. https://github.com/cocoa-xu/nif_call (https://github.com/cocoa-xu/nif_call?utm_source=thinkingelixir&utm_medium=shownotes) – Cocoa's nif_call package allows calling Elixir functions from inside a NIF. https://bsky.app/profile/zachdaniel.dev/post/3lc2leowiek26 (https://bsky.app/profile/zachdaniel.dev/post/3lc2leowiek26?utm_source=thinkingelixir&utm_medium=shownotes) – Zach Daniel's ElixirConf EU talk on the Ash framework is available on YouTube. https://www.youtube.com/watch?v=vjnPjrCF4rs (https://www.youtube.com/watch?v=vjnPjrCF4rs?utm_source=thinkingelixir&utm_medium=shownotes) – Ash: The Story of a Function by Zach Daniel explains why Ash exists and the problems it solves. https://github.com/gp-pereira/refactorex (https://github.com/gp-pereira/refactorex?utm_source=thinkingelixir&utm_medium=shownotes) – New VS Code plugin "Refactorex" by Gabriel Pereira for refactoring Elixir code with several built-in refactorings. https://adventofcode.com/2024/ (https://adventofcode.com/2024/?utm_source=thinkingelixir&utm_medium=shownotes) – Advent of Code is active, with people participating using their favorite programming languages. https://notes.club (https://notes.club?utm_source=thinkingelixir&utm_medium=shownotes) – A platform that hosts a frontend of Livebooks on GitHub, organized by author, likes, and tags, useful for exploring how people are solving Advent of Code problems in Elixir. https://github.com/ljgago/kino_aoc (https://github.com/ljgago/kino_aoc?utm_source=thinkingelixir&utm_medium=shownotes) – A GitHub repository for a Livebook Smart Cell which aids in solving Advent of Code directly from Livebook. https://github.com/nettinho/smaoc (https://github.com/nettinho/smaoc?utm_source=thinkingelixir&utm_medium=shownotes) – Another Livebook Smart Cell repository on GitHub for Advent of Code that facilitates problem interaction within Livebook. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources https://www.mimiquate.com/blog/tower-universal-and-agnostic-elixir-exception-tracking (https://www.mimiquate.com/blog/tower-universal-and-agnostic-elixir-exception-tracking?utm_source=thinkingelixir&utm_medium=shownotes) https://github.com/mimiquate/tower (https://github.com/mimiquate/tower?utm_source=thinkingelixir&utm_medium=shownotes) – The root Tower project https://github.com/mimiquate/tower_email (https://github.com/mimiquate/tower_email?utm_source=thinkingelixir&utm_medium=shownotes) – Email sending when error encountered (uses Swoosh) https://github.com/mimiquate/towererrortracker (https://github.com/mimiquate/tower_error_tracker?utm_source=thinkingelixir&utm_medium=shownotes) https://github.com/mimiquate/tower_sentry (https://github.com/mimiquate/tower_sentry?utm_source=thinkingelixir&utm_medium=shownotes) https://github.com/mimiquate/tower_slack (https://github.com/mimiquate/tower_slack?utm_source=thinkingelixir&utm_medium=shownotes) Pull requests for the mentioned Bandit updates https://github.com/mtrudel/bandit/pull/411 (https://github.com/mtrudel/bandit/pull/411?utm_source=thinkingelixir&utm_medium=shownotes) https://github.com/mtrudel/bandit/pull/417 (https://github.com/mtrudel/bandit/pull/417?utm_source=thinkingelixir&utm_medium=shownotes) https://github.com/mtrudel/bandit/pull/420 (https://github.com/mtrudel/bandit/pull/420?utm_source=thinkingelixir&utm_medium=shownotes) Guest Information https://x.com/grzuy (https://x.com/grzuy?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter/X https://github.com/grzuy/ (https://github.com/grzuy/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github https://bsky.app/profile/grzuy.bsky.social (https://bsky.app/profile/grzuy.bsky.social?utm_source=thinkingelixir&utm_medium=shownotes) – on Bluesky Find us online Message the show - Bluesky (https://bsky.app/profile/thinkingelixir.com) Message the show - X (https://x.com/ThinkingElixir) Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) Mark Ericksen on X - @brainlid (https://x.com/brainlid) Mark Ericksen on Bluesky - @brainlid.bsky.social (https://bsky.app/profile/brainlid.bsky.social) Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) David Bernheisel on Bluesky - @david.bernheisel.com (https://bsky.app/profile/david.bernheisel.com) David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
AJ (Alykhan Jetha), CEO and CTO of Marketcircle, joins the Elixir Wizards to share his experience building and evolving Daylite, their award-winning CRM and business productivity app for Apple users. He details his experiences as a self-taught programmer and how Marketcircle has navigated pivots, challenges, and opportunities since its founding in 1999. AJ explains why they migrated Daylite's backend to Elixir, focusing on their sync engine, which demands high concurrency and fault tolerance. He highlights how Elixir has improved performance, reduced cloud costs, and simplified development with its approachable syntax and productive workflows. The conversation also touches on the technical hurdles of deploying native apps for Apple devices and the potential for integrating new technologies like LiveView Native to streamline cross-platform development. For technical founders, AJ emphasizes the importance of leveraging your strengths (“superpowers”), staying deeply connected to the development process, and finding stability in tools like Elixir amidst a rapidly evolving tech ecosystem. He also shares Marketcircle's roadmap for migrating more customers to Elixir-powered systems and explores the potential for new features in their native apps. Tune in for insights on building resilient systems, navigating technical and business challenges, and how Elixir is shaping Marketcircle's future. Topics discussed in this episode: AJ's journey as a self-taught programmer and entrepreneur Marketcircle's evolution since 1999 and lessons from their pivots Daylite's growth as a flagship product for Apple users Migrating to Elixir for high concurrency and fault tolerance How Elixir improved performance and reduced cloud costs The simplicity of Elixir and its impact on developer onboarding Challenges in managing a growing microservices architecture Insights into deploying native apps for the Apple ecosystem Exploring LiveView Native for future cross-platform development Advice for technical founders: leveraging your superpowers Staying connected to development to maintain system understanding The role of Elixir in improving development efficiency and stability Planning gradual customer migrations to an Elixir-powered backend Potential new features for Daylite's native apps Benefits of collaboration with the Elixir community #ElixirMullet -- native app in the front, Elixir in the back Navigating a rapidly evolving tech ecosystem as a founder Leveraging Elixir to future-proof Marketcircle's systems Balancing technical and business priorities in a startup environment AJ's thoughts on the future of Elixir in powering business tools Links mentioned: https://www.marketcircle.com/ Daylite.app https://www.nextcomputers.org/ https://www.digitalocean.com/ Python Async https://docs.python.org/3/library/asyncio.html https://github.com/sinatra/sinatra https://github.com/dependabot https://kafka.apache.org/ https://www.djangoproject.com/ https://github.com/socketry/falcon https://github.com/puma/puma https://www.swift.org/blog/announcing-swift-6/ https://en.wikipedia.org/wiki/Async/await https://www.ffmpeg.org/ https://www.sqlite.org/ https://github.com/commanded/commanded https://pragprog.com/titles/khpes/real-world-event-sourcing/ https://en.wikipedia.org/wiki/ShipofTheseus https://reactnative.dev/ https://www.electronjs.org/ https://en.wikipedia.org/wiki/WebOS https://www.linkedin.com/in/alykhanjetha/ https://bsky.app/profile/ajetha.bsky.social Special Guest: Alykhan Jetha.
News includes the release of community-maintained prebuilt MacOS builds for OTP by the Erlef, advancements in Elixir NX with the ability to "shard" functions, and exciting updates in Phoenix Live View as it approaches its 1.0 milestone. We also cover Gleam's upcoming release, José Valim's success story with the Elixir type system, and information about the upcoming Elixir is Weird conference. Join us as we dive deeper into these stories and more! Show Notes online - http://podcast.thinkingelixir.com/229 (http://podcast.thinkingelixir.com/229) Elixir Community News https://elixirforum.com/t/new-community-maintained-otp-builds-for-macos/67338 (https://elixirforum.com/t/new-community-maintained-otp-builds-for-macos/67338?utm_source=thinkingelixir&utm_medium=shownotes) – The Erlef has released community-maintained prebuilt MacOS builds for OTP, eliminating the need to install additional dependencies. https://github.com/michallepicki/asdf-erlang-prebuilt-macos (https://github.com/michallepicki/asdf-erlang-prebuilt-macos?utm_source=thinkingelixir&utm_medium=shownotes) – The release includes guidance for using these prebuilt builds with asdf as an alternate Erlang plugin. https://dockyard.com/blog/2024/11/06/2024/nx-sharding-update-part-1 (https://dockyard.com/blog/2024/11/06/2024/nx-sharding-update-part-1?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir NX is gaining the ability to 'shard' Nx functions, allowing code to be processed in parallel for increased efficiency. https://bsky.app/profile/akoutmos.bsky.social/post/3laondxqnnc2w (https://bsky.app/profile/akoutmos.bsky.social/post/3laondxqnnc2w?utm_source=thinkingelixir&utm_medium=shownotes) – Peter Ulrich and Alex Koutmous released a paid library called Phx2Ban, a Fail2Ban alternative for the Phoenix framework. Phoenix Live View is nearing its 1.0 milestone, with interesting PRs being discussed. https://github.com/phoenixframework/phoenixliveview/pull/3482 (https://github.com/phoenixframework/phoenix_live_view/pull/3482?utm_source=thinkingelixir&utm_medium=shownotes) – A PR to keep assigns between live navigation in Phoenix Live View, enhancing performance by avoiding unnecessary reloads. https://github.com/phoenixframework/phoenixliveview/pull/3498 (https://github.com/phoenixframework/phoenix_live_view/pull/3498?utm_source=thinkingelixir&utm_medium=shownotes) – A PR to reserve curly brackets for HEEX syntax in Phoenix Live View, which aims to standardize interpolation syntax. https://github.com/phoenixframework/phoenixliveview/pull/3478 (https://github.com/phoenixframework/phoenix_live_view/pull/3478?utm_source=thinkingelixir&utm_medium=shownotes) – A PR proposing the concept of 'phx-portal' to allow content rendering outside its normal spot in LiveView. https://x.com/gleamlang/status/1855604711606358394 (https://x.com/gleamlang/status/1855604711606358394?utm_source=thinkingelixir&utm_medium=shownotes) – Gleam is preparing for a new release, with V1.6.0 RC-1 now available. https://github.com/gleam-lang/gleam/releases/tag/v1.6.0-rc1 (https://github.com/gleam-lang/gleam/releases/tag/v1.6.0-rc1?utm_source=thinkingelixir&utm_medium=shownotes) – The release notes for Gleam v1.6.0 RC-1 can be found here. https://github.com/gleam-lang/gleam/blob/v1.6.0-rc1/CHANGELOG.md (https://github.com/gleam-lang/gleam/blob/v1.6.0-rc1/CHANGELOG.md?utm_source=thinkingelixir&utm_medium=shownotes) – The changelog for Gleam v1.6.0 RC-1 is available for review. https://github.com/elixir-ecto/postgrex/commit/3308f277f455ec64f2d0d7be6263f77f295b1325#diff-0da854f0c1cda9486d776c72ecda6a2e595a7667b72688669bbd80d6b80f0f96R1210 (https://github.com/elixir-ecto/postgrex/commit/3308f277f455ec64f2d0d7be6263f77f295b1325#diff-0da854f0c1cda9486d776c72ecda6a2e595a7667b72688669bbd80d6b80f0f96R1210?utm_source=thinkingelixir&utm_medium=shownotes) – The Elixir type system identified dead code in Postgrex, showing its progress and usefulness. https://github.com/phoenixframework/phoenixliveview/commit/6c6e2aaf6a01957cc6bb8a27d2513bff273e8ca2 (https://github.com/phoenixframework/phoenix_live_view/commit/6c6e2aaf6a01957cc6bb8a27d2513bff273e8ca2?utm_source=thinkingelixir&utm_medium=shownotes) – The type system also identified dead code in Phoenix LiveView. https://x.com/josevalim/status/1856288364665639005 (https://x.com/josevalim/status/1856288364665639005?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim shared the success of the Elixir type system in identifying dead code. Elixir is Weird conference has a Call for Talks for their event on April 17, 2025, in Providence, RI, USA. https://bsky.app/profile/elixirisweird.bsky.social/post/3lapjx4lw4k2a (https://bsky.app/profile/elixirisweird.bsky.social/post/3lapjx4lw4k2a?utm_source=thinkingelixir&utm_medium=shownotes) – Details about the Elixir is Weird conference and the Call for Talks can be found here. https://x.com/sasajuric/status/1856261149320192317 (https://x.com/sasajuric/status/1856261149320192317?utm_source=thinkingelixir&utm_medium=shownotes) – Saša Jurić is considering a live coding presentation style for his Alchemy Conf talk. https://alchemyconf.com/ (https://alchemyconf.com/?utm_source=thinkingelixir&utm_medium=shownotes) – More information about Alchemy Conf, taking place from March 31 to April 3, can be found on their website. Discussion about Bluesky uptick and Elixir community members moving there. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - Bluesky (https://bsky.app/profile/thinkingelixir.com) - Message the show - X (https://x.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen on X - @brainlid (https://x.com/brainlid) - Mark Ericksen on Bluesky - @brainlid.bsky.social (https://bsky.app/profile/brainlid.bsky.social) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel on X - @bernheisel (https://x.com/bernheisel) - David Bernheisel on Bluesky - @david.bernheisel.com (https://bsky.app/profile/david.bernheisel.com) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
Today in the Creator's Lab, Tony Dang joins Elixir Wizards Sundi Myint and Owen Bickford to break down his journey of creating a local-first, offline-ready to-do app using Phoenix LiveView, Svelte, and CRDTs (Conflict-free Replicated Data Types). Tony explains why offline functionality matters and how this feature can transform various apps. He shares insights on different libraries, algorithms, and techniques for building local-first experiences and highlights the advantages of Elixir and Phoenix LiveView. Tony also shares his go-to tools, like Inertia.js for connecting Phoenix backends with JavaScript frontends, and favorite Elixir packages like Oban, Joken, and Hammer, offering a toolkit for anyone building powerful, adaptable applications. Topics discussed in this episode: Tony Dang's background from mechanical engineer to web developer Building an offline-enabled to-do app with Phoenix LiveView and Svelte CRDTs: Conflict-free Replicated Data Types for merging changes offline How to make a LiveView app work offline Sending full state updates vs. incremental updates for performance optimization Inspiring others through open-source projects and community contributions Learning vanilla Phoenix and Channels to understand LiveView better Handling stale CSRF tokens when reconnecting to a LiveView app offline Exploring service workers and browser APIs for managing offline connectivity Balancing the use of JavaScript and Elixir in web development Fostering a supportive and inspiring Elixir community Links mentioned: Working in Elevators: How to build an offline-enabled, real-time todo app (https://www.youtube.com/watch?v=PX9-lq0LL9Q) w/ LiveView, Svelte, & Yjs Tony's Twitter: https://x.com/tonydangblog https://liveview-svelte-pwa.fly.dev/ https://github.com/tonydangblog/liveview-svelte-pwa CRDT: https://en.wikipedia.org/wiki/Conflict-freereplicateddatatype PWA: https://en.wikipedia.org/wiki/Progressivewebapp https://github.com/josevalim/sync https://github.com/sveltejs/svelte https://github.com/woutdp/livesvelte https://github.com/yjs/yjs https://github.com/satoren/yex https://github.com/y-crdt/y-crdt https://linear.app/ https://github.com/automerge/automerge https://hexdocs.pm/phoenix/1.4.0-rc.1/presence.html Vaxine, the Rich CRDT Database for ElixirPhoenix Apps (https://www.youtube.com/watch?v=n2c5eWIfziY) | James Arthur | Code BEAM America 2022 https://github.com/electric-sql/vaxine Hybrid Logical Clocks https://muratbuffalo.blogspot.com/2014/07/hybrid-logical-clocks.html https://en.wikipedia.org/wiki/256(number) CSRF Tokens in LiveView https://hexdocs.pm/phoenixliveview/Phoenix.LiveView.html#getconnectparams/1 https://hexdocs.pm/phoenix/channels.html Authentication with Passkeys (https://www.youtube.com/playlist?list=PL8lFmBcH3vX-JNIgxW3THUy7REthSRFEI) Talk by Tony https://www.meetup.com/dc-elixir/ https://github.com/rails/rails https://github.com/facebook/react-native https://github.com/vuejs https://github.com/laravel/laravel https://hexdocs.pm/phoenixliveview/js-interop.html https://github.com/inertiajs https://github.com/inertiajs/inertia-phoenix https://savvycal.com/ https://github.com/wojtekmach/req https://github.com/oban-bg/oban https://github.com/joken-elixir/joken https://github.com/ExHammer/hammer Special Guest: Tony Dang.
Plutôt que de démarrer sa rentrée sur un Rebel Ridge trop timoré pour lui, Yannick Dahan a préféré partager son ressenti comme lui seul sait le faire (envolées lyriques, vocabulaire substantifique, accent séfarade outrancier...) sur BLACK MYTH: WUKONG. Le premier jeu AAA du studio Game Science est le succès surprise de l'été 2024, laissant derrière lui CONCORD et STAR WARS OUTLAWS. Entre audace industrielle, travail d'artisans et maîtrise des récits mythologiques, Yannick revient sur ce qui fait le succès de cette nouvelle adaptation de la Pérégrination vers l'Ouest.BLACK MYTH: WUKONG est sorti le 20 août sur PlayStation 5 et Steam.Sun Wukong a rejeté sa vie d'illustre immortel, ce qui a provoqué la colère des cieux et a poussé Erlang à mener une armée pour le ramener à la cour. Après son refus, Erlang a vaincu Sun Wukong et a scellé le Roi des Singes dans la pierre. Mais avant sa défaite, Sun Wukong avait réussi à contenir son essence et son pouvoir dans cinq reliques cachées à travers le pays.Pour nous soutenir, il y a deux adresses.PATREON : https://www.patreon.com/capturemagTIPEEE : https://www.tipeee.com/capture-magPour acheter notre mag CAPTURE MAG N°1 - LE CINÉMA DE WILLIAM FRIEDKIN, rendez-vous chez votre libraire ou site marchand (Fnac, Amazon, etc.).Akileos : https://bit.ly/AkiFriedLibrairies indépendantes : https://www.librairiesindependantes.com/product/9782355746161/Pour acheter notre livre CAPTURE MAG 2012-2022 : NOTRE DÉCENNIE DE CINÉMA, rendez-vous chez votre libraire ou site marchand.Akileos : https://bit.ly/CapMookLibrairies indépendantes : https://bit.ly/AchTMookRetrouvez toutes nos émissions sur http://www.capturemag.frEn MP3 sur Acast : https://bit.ly/3v6ee7sSur SPOTIFY : https://spoti.fi/3PJYnF3Sur DEEZER : https://bit.ly/2wtDauUSur APPLE podcasts : https://apple.co/2UW3AyOSur Google Podcasts : https://bit.ly/39W69oR#sunwukong #blackmyth #blackmythwukong Hébergé par Acast. Visitez acast.com/privacy pour plus d'informations.
To kick off Elixir Wizards Season 13, The Creator's Lab, we're joined by Zach Daniel, the creator of Igniter and the Ash framework. Zach joins hosts Owen Bickford and Charles Suggs to discuss the mechanics and aspirations of his latest brainchild, Igniter—a code generation and project patching framework designed to revolutionize the Elixir development experience. Igniter isn't just about generating code; it's about generating smarter code. By leveraging tools like Sourcerer and Rewrite, Igniter allows developers to modify source code and batch updates by directly interacting with Elixir's AST instead of regex patching. This approach streamlines new project setup and package installations and enhances overall workflow. They also discuss the strategic implications of Igniter for the broader Elixir community. Zach hopes Igniter will foster a more interconnected and efficient ecosystem that attracts new developers to Elixir and caters to the evolving needs of seasoned Elixir engineers. Topics discussed in this episode: Advanced package installation and code generation improve the developer experience Scripting and staging techniques streamline project updates Innovative methods for smoother installation processes in Elixir packages High-level tools apply direct patches to source code Progressive feature additions simplify the mix phx.new experience Chaining installers and composing tasks for more efficient project setup Continuous improvement in developer experiences to boost Elixir adoption Encourage listeners to collaborate by sharing code generation patterns Introduction of a new mix task aimed at removing the "unless" keyword in preparation for Elixir 1.18 You can learn more in the upcoming book "Building Web Applications with Ash Framework" by Zach and Rebecca Links mentioned: https://smartlogic.io/ https://alembic.com.au/blog/igniter-rethinking-code-generation-with-project-patching https://hexdocs.pm/igniter/readme.html https://github.com/ash-project/igniter https://www.zachdaniel.dev/p/serialization-is-the-secret https://www.zachdaniel.dev/p/welcome-to-my-substack https://ash-hq.org/ https://hexdocs.pm/sourceror/readme.html https://smartlogic.io/podcast/elixir-wizards/s10-e09-hugo-lucas-future-of-elixir-community/ https://github.com/hrzndhrn/rewrite https://github.com/zachdaniel https://github.com/liveshowy/webauthn_components https://hexdocs.pm/elixir/Regex.html https://github.com/msaraiva/vscode-surface https://github.com/swoosh/swoosh https://github.com/erlef/oidcc https://alembic.com.au/ https://www.zachdaniel.dev/ Special Guest: Zach Daniel.
The panel explores Poka Yoke with Bryan Hunter - the concept of mistake-proofing and its application in Erlang and Elixir. Bryan Hunter [GigCityElixir24] Poka Yoke, STAMP and the BEAM (https://youtu.be/0-aJwz6oPow?si=5hTL8HwHiJfYQb4S) Engineering A Safer World (https://a.co/d/1iQdN70) by Nancy G. Leveson We want to connect with you! Twitter: @BeamRadio1 Send us your questions via Twitter @BeamRadio1 #ProcessMailbox Keep up to date with our hosts on Twitter @akoutmos @lawik @meryldakin @RedRapids @smdebenedetto @StevenNunez and on Mastodon @akoutmos@fosstodon.org @lawik@fosstodon.org @redrapids@genserver.social @steven@genserver.social Sponsored by Groxio (https://grox.io) and Underjord (https://underjord.io)
Lustre is a web framework that takes a lot of inspiration from Elm, some from React, and a surprising amount from Erlang's actor model, to provide a library that blurs the lines between executing on the client, or on the server.Support Developer Voices on Patreon: https://patreon.com/DeveloperVoicesSupport Developer Voices on YouTube: https://www.youtube.com/@DeveloperVoices/join–Lustre: https://hexdocs.pm/lustre/index.htmlGleam: https://gleam.run/Join the Gleam Community: https://gleam.run/community/Processing (AV Framework for Java): https://processing.org/Vue.js: https://vuejs.org/Svelte: https://svelte.dev/Elm: https://elm-lang.org/Elm Table: https://package.elm-lang.org/packages/gribouille/elm-table/5.3.0/Hayleigh on Twitter: https://x.com/hayleighdotdevKris on Mastodon: http://mastodon.social/@krisajenkinsKris on LinkedIn: https://www.linkedin.com/in/krisjenkins/Kris on Twitter: https://twitter.com/krisajenkins
News includes the release of OTP 27.1 with significant improvements to the Zip module, the upcoming deprecation of the unless keyword in Elixir 1.18, support for Data Channels in Elixir WebRTC, new test-related feature highlighted by ElixirStreams to tackle intermittent failures, a detailed blog from Discord on reducing their websocket traffic by 40%, ElixirConf Lightning talks on YouTube, and more! Show Notes online - http://podcast.thinkingelixir.com/222 (http://podcast.thinkingelixir.com/222) Elixir Community News https://erlangforums.com/t/erlang-otp-27-1-released/4006 (https://erlangforums.com/t/erlang-otp-27-1-released/4006?utm_source=thinkingelixir&utm_medium=shownotes) – OTP 27.1 was released, which is the first maintenance patch for OTP 27. It brings important fixes including upgrades in the Zip module with support for large archives, extended timestamps, UID/GID support, and enhanced directory handling. Several Windows-specific fixes are also included. https://x.com/moomerman/status/1838235643983364206 (https://x.com/moomerman/status/1838235643983364206?utm_source=thinkingelixir&utm_medium=shownotes) – unless keyword will be deprecated in upcoming Elixir 1.18. Users are encouraged to use if !condition instead. A mix format --migrate command is available to assist with the transition. https://github.com/elixir-lang/elixir/pull/13851 (https://github.com/elixir-lang/elixir/pull/13851?utm_source=thinkingelixir&utm_medium=shownotes) – Related GitHub pull request regarding the deprecation of unless keyword. https://github.com/elixir-lang/elixir/pull/13841 (https://github.com/elixir-lang/elixir/pull/13841?utm_source=thinkingelixir&utm_medium=shownotes) – Another related GitHub pull request for deprecating the unless keyword in Elixir 1.18. https://github.com/gleam-lang/gleam/releases/tag/v1.5.0-rc2 (https://github.com/gleam-lang/gleam/releases/tag/v1.5.0-rc2?utm_source=thinkingelixir&utm_medium=shownotes) – Gleam v1.5.0-rc2 was released for testing. https://elixir-webrtc.org/ (https://elixir-webrtc.org/?utm_source=thinkingelixir&utm_medium=shownotes) – Support for Data Channels in Elixir WebRTC was added, enhancing the project with features for sending arbitrary data over P2P connections. https://github.com/elixir-webrtc (https://github.com/elixir-webrtc?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub organization for Elixir WebRTC, including recent updates and projects. https://x.com/mickel8v2/status/1838565408711880801 (https://x.com/mickel8v2/status/1838565408711880801?utm_source=thinkingelixir&utm_medium=shownotes) – Twitter announcement about the addition of data channels in Elixir WebRTC. https://blog.swmansion.com/data-channels-in-elixir-webrtc-0853c7d0e256 (https://blog.swmansion.com/data-channels-in-elixir-webrtc-0853c7d0e256?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post explaining the significance and uses of data channels in Elixir WebRTC. https://www.elixirstreams.com/tips/mix-test-repeat-until-failure (https://www.elixirstreams.com/tips/mix-test-repeat-until-failure?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirStreams video tip on using mix test --repeat-until-failure n to run tests until failure, handy for diagnosing intermittent test failures. Mark's favorite seed to use is --seed 0, which runs tests in sequential order, which is helpful during TDD. https://www.elixirstreams.com/tips/mix-test-slowest-modules (https://www.elixirstreams.com/tips/mix-test-slowest-modules?utm_source=thinkingelixir&utm_medium=shownotes) – New --slowest-modules n flag added to mix test helps identify modules with the slowest tests, complementing the existing --slowest n flag for individual tests. https://discord.com/blog/how-discord-reduced-websocket-traffic-by-40-percent (https://discord.com/blog/how-discord-reduced-websocket-traffic-by-40-percent?utm_source=thinkingelixir&utm_medium=shownotes) – Discord shared a new blog post detailing how they reduced websocket traffic by 40% by switching from zlib to zstandard for compression and implementing PASSIVE_UPDATE_V2. https://github.com/silviucpp/ezstd (https://github.com/silviucpp/ezstd?utm_source=thinkingelixir&utm_medium=shownotes) – The Erlang library ezstd used by Discord, which they contributed to by adding streaming support. https://www.youtube.com/watch?v=QJCWzN1Vahs (https://www.youtube.com/watch?v=QJCWzN1Vahs?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf Lightning talks released on YouTube, available as a single hour-long video with chapter timestamps. https://www.youtube.com/playlist?list=PLqj39LCvnOWbW2Zli4LurDGc6lL5ij-9Y (https://www.youtube.com/playlist?list=PLqj39LCvnOWbW2Zli4LurDGc6lL5ij-9Y?utm_source=thinkingelixir&utm_medium=shownotes) – Playlist for ElixirConf Lightning talks on YouTube. https://elixirfriends.transistor.fm/episodes/friend-1-peter-ullrich (https://elixirfriends.transistor.fm/episodes/friend-1-peter-ullrich?utm_source=thinkingelixir&utm_medium=shownotes) – A new Elixir podcast called 'Elixir Friends' launched by German Velasco, featuring a casual and relaxed format. The first episode guest is Peter Ullrich. https://www.youtube.com/watch?v=5apHLuFi5JI (https://www.youtube.com/watch?v=5apHLuFi5JI?utm_source=thinkingelixir&utm_medium=shownotes) – The Elixir Friends podcast is also available as a YouTube video with a runtime of 1:22:10. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
Fredrik får besök av Andreas Ekeroot som diskuterar det whiteboardvänliga språket Haskell. Och monader, förstås, i poddens första försök att förklara monader som amöbor. Dessutom ett exjobb om att generera program. Vi reder också ut vem som är äldst av Andreas, Haskell, och Erlang. Samt varför det kan vara ett bra motto att undvika framgång till varje pris. Lite exempelkod: sumAllNumbers :: String -> Int sumAllNumbers str = sum (map read (lines str)) main :: IO () main = do fileContent
News includes a proof of concept for Phoenix Sync by José Valim, exciting new developments in Elixir's type system, Algora.tv's open-source Twitch for developers, Sean Moriarity's insights on the future of Nx, Axon, and Bumblebee, a powerful new feature in Livebook integrating with Fly.io, and more! Show Notes online - http://podcast.thinkingelixir.com/219 (http://podcast.thinkingelixir.com/219) Elixir Community News - https://github.com/josevalim/sync (https://github.com/josevalim/sync?utm_source=thinkingelixir&utm_medium=shownotes) – Phoenix Sync - A proof of concept of an Elixir/Phoenix node that runs PostgreSQL Replication to synchronize data with clients, as showcased at ElixirConf US 2024 keynote by José Valim. - https://x.com/TylerAYoung/status/1829248168908968220 (https://x.com/TylerAYoung/status/1829248168908968220?utm_source=thinkingelixir&utm_medium=shownotes) – Tyler Young's Twitter thread discussing the big idea behind Phoenix Sync which involves frontend applications syncing with backend using Phoenix channels and logical replication. - https://elixir-lang.org/blog/2024/08/28/typing-lists-and-tuples/ (https://elixir-lang.org/blog/2024/08/28/typing-lists-and-tuples/?utm_source=thinkingelixir&utm_medium=shownotes) – New ElixirLang blog post exploring how various Elixir idioms interact with the upcoming type system, especially focusing on lists and tuples. - https://x.com/josevalim/status/1829537976378159139 (https://x.com/josevalim/status/1829537976378159139?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim's Twitter post about the mathematical soundness of set-theoretic types as discussed in the latest ElixirLang blog post. - https://github.com/algora-io/tv (https://github.com/algora-io/tv?utm_source=thinkingelixir&utm_medium=shownotes) – Algora.tv is trending as an open-source Twitch for developers using Membrane for real-time video processing. - https://dockyard.com/blog/2024/08/20/where-are-nx-axon-bumblebee-headed (https://dockyard.com/blog/2024/08/20/where-are-nx-axon-bumblebee-headed?utm_source=thinkingelixir&utm_medium=shownotes) – Sean Moriarity's blog post on DockYard discussing the current state of the AI space and future directions for Nx, Axon, and Bumblebee. - https://github.com/elixir-nx/nx/commit/ab8261180cd54ca95c0c34035a5380ade2805afb (https://github.com/elixir-nx/nx/commit/ab8261180cd54ca95c0c34035a5380ade2805afb?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim's commit in Nx demonstrating how few lines of code are required to support compiling a machine learning model in one node and sending it to another for execution using Erlang erpc module. - https://x.com/cigrainger/status/1829822647489728679 (https://x.com/cigrainger/status/1829822647489728679?utm_source=thinkingelixir&utm_medium=shownotes) – New Livebook feature shared online integrates with Fly.io platform to run local notebooks on arbitrary hardware with a few clicks, allowing scalability and elasticity. - https://x.com/josevalim/status/1828781593387004065 (https://x.com/josevalim/status/1828781593387004065?utm_source=thinkingelixir&utm_medium=shownotes) – Image from Chris McCord's talk showing a Livebook connecting to a production node and getting intellisense for remote node code. - https://elixirstatus.com/p/wmpxg-code-beam-america-2025-call-for-talks-is-open- (https://elixirstatus.com/p/wmpxg-code-beam-america-2025-call-for-talks-is-open-?utm_source=thinkingelixir&utm_medium=shownotes) – Call for Talks for CodeBEAM America 2025 is open. Deadline for proposals is October 20, 2024. Conference dates are March 6-7, 2025, in San Francisco and Online. - https://codebeamamerica.com/#cft (https://codebeamamerica.com/#cft?utm_source=thinkingelixir&utm_medium=shownotes) – Official site for CodeBEAM America 2025 Call for Talks. - https://codebeamnyc.com/ (https://codebeamnyc.com/?utm_source=thinkingelixir&utm_medium=shownotes) – CodeBEAM NYC conference on November 15th, a one-day event. - Reflections on ElixirConf discussion. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
News includes the upcoming signed installers for Livebook and Elixir on Windows, the release of Telemetry v1.3 with improved documentation, LiveView Native 0.3.0's announcement ahead of ElixirConf, Google Research introducing an alternative SQL syntax with a pipe, a Livebook leveraging LLMs and FFMPEG for media conversion, legal updates on the US non-compete agreements ban, and potential antitrust actions against Google, and more! Show Notes online - http://podcast.thinkingelixir.com/218 (http://podcast.thinkingelixir.com/218) Elixir Community News - https://x.com/josevalim/status/1825954736094457943 (https://x.com/josevalim/status/1825954736094457943?utm_source=thinkingelixir&utm_medium=shownotes) – The next versions of Livebook and Elixir will have signed installers on Windows, thanks to the Erlang Ecosystem Foundation and Wojtek Mach. - https://x.com/wojtekmach/status/1826521109476344035 (https://x.com/wojtekmach/status/1826521109476344035?utm_source=thinkingelixir&utm_medium=shownotes) – Wojtek Mach discusses the challenges of packaging Livebook into a .msix for the Windows Store and asks for contributions from those familiar with the process. - https://hexdocs.pm/telemetry/1.3.0/readme.html (https://hexdocs.pm/telemetry/1.3.0/readme.html?utm_source=thinkingelixir&utm_medium=shownotes) – Telemetry v1.3 is out with improved documentation, rewritten to ExDoc from Erlang edoc, thanks to contributions from Wojtek Mach and Andrea Leopardi. OTP 27 is required. - https://x.com/bcardarella/status/1826266402631889091 (https://x.com/bcardarella/status/1826266402631889091?utm_source=thinkingelixir&utm_medium=shownotes) – LiveView Native 0.3.0 is now released with the official announcement at ElixirConf. Blog posts, tutorials to follow. - https://x.com/bcardarella/status/1826279303623082421 (https://x.com/bcardarella/status/1826279303623082421?utm_source=thinkingelixir&utm_medium=shownotes) – Additional details about the LiveView Native 0.3.0 release. - https://twitter.com/simonw/status/1827482890680332386 (https://twitter.com/simonw/status/1827482890680332386?utm_source=thinkingelixir&utm_medium=shownotes) – Google Research released a paper on an alternative SQL syntax with a pipe, similar to Ecto querying syntax. - https://simonwillison.net/2024/Aug/24/pipe-syntax-in-sql/ (https://simonwillison.net/2024/Aug/24/pipe-syntax-in-sql/?utm_source=thinkingelixir&utm_medium=shownotes) – More details on the new SQL syntax introduced by Google for ZetaSQL. - https://twitter.com/ac_alejos/status/1794105872680972458 (https://twitter.com/ac_alejos/status/1794105872680972458?utm_source=thinkingelixir&utm_medium=shownotes) – A Livebook that uses LLMs and FFMPEG to simplify the process of converting videos or audio by suggesting the right flags and switches. - https://github.com/acalejos/CinEx (https://github.com/acalejos/CinEx?utm_source=thinkingelixir&utm_medium=shownotes) – Detailed information on using LLMs within Livebook for conversion tasks. - https://www.reuters.com/legal/us-judge-strikes-down-biden-administration-ban-worker-noncompete-agreements-2024-08-20/ (https://www.reuters.com/legal/us-judge-strikes-down-biden-administration-ban-worker-noncompete-agreements-2024-08-20/?utm_source=thinkingelixir&utm_medium=shownotes) – A US Judge struck down the FTC's ban on non-compete agreements, stating the FTC lacks legal authority and the ban is too wide-reaching. - https://www.nytimes.com/2024/08/13/technology/google-monopoly-antitrust-justice-department.html (https://www.nytimes.com/2024/08/13/technology/google-monopoly-antitrust-justice-department.html?utm_source=thinkingelixir&utm_medium=shownotes) – The US government is considering ordering Google to be broken up following antitrust allegations. - https://www.macrumors.com/2024/08/22/apple-eu-default-app-update/ (https://www.macrumors.com/2024/08/22/apple-eu-default-app-update/?utm_source=thinkingelixir&utm_medium=shownotes) – Apple might allow EU residents to delete apps currently blocked from removal, addressing app store issues in the EU. - Living in a time when industry rules are being challenged creates opportunities for new businesses and markets, as highlighted by ongoing legal issues with major tech companies like Google and Apple. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
News includes a new video from José Valim demonstrating Livebook deployments, Chris McCord's "Pawsitively" project integrating content moderation with Livebook, the release of Zigler 0.13.1, a new AI-centric library called Honeycomb by Sean Moriarity and Andrés Alejos, an Elixir job listing at Apple, and more! Show Notes online - http://podcast.thinkingelixir.com/216 (http://podcast.thinkingelixir.com/216) Elixir Community News - https://www.youtube.com/watch?v=lwLx5beXxsg (https://www.youtube.com/watch?v=lwLx5beXxsg?utm_source=thinkingelixir&utm_medium=shownotes) – How to deploy a Livebook app with Livebook Teams. - https://livebook.dev/teams/ (https://livebook.dev/teams/?utm_source=thinkingelixir&utm_medium=shownotes) – Link to Livebook Teams homepage. - https://docs.google.com/forms/d/e/1FAIpQLScDfvUqT4fs95dqNGyoXwVMDVl059jT6r5MPgXB99XVMCuw/viewform (https://docs.google.com/forms/d/e/1FAIpQLScDfvUqT4f_s95dqNGyoXwVMD_Vl059jT6r5MPgXB99XVMCuw/viewform?utm_source=thinkingelixir&utm_medium=shownotes) – Request to join the free Livebook Teams beta. - https://x.com/chris_mccord/status/1821586189364994202 (https://x.com/chris_mccord/status/1821586189364994202?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord shared a demo project called "Pawsitively" which implements a content moderation system. - https://gist.github.com/chrismccord/4824237157902ed1c47f825b1f1d9d27 (https://gist.github.com/chrismccord/4824237157902ed1c47f825b1f1d9d27?utm_source=thinkingelixir&utm_medium=shownotes) – Gist of the demo which uses Livebook and Mistral LLM for content moderation. - https://pawsitively.fly.dev/ (https://pawsitively.fly.dev/?utm_source=thinkingelixir&utm_medium=shownotes) – Play with the "Pawsitively" demo online. - The demo defines everything in a Livebook file and covers “Manual Docker Deployment”. - https://x.com/dnautics/status/1822878889275719795 (https://x.com/dnautics/status/1822878889275719795?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of Zigler 0.13.1. - https://github.com/E-xyza/zigler (https://github.com/E-xyza/zigler?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub page for Zigler. - https://hexdocs.pm/zigler/0.13.1/Zig.html (https://hexdocs.pm/zigler/0.13.1/Zig.html?utm_source=thinkingelixir&utm_medium=shownotes) – Zigler 0.13.1 documentation. - https://ziglang.org/ (https://ziglang.org/?utm_source=thinkingelixir&utm_medium=shownotes) – Official site for the Zig programming language. - https://podcast.thinkingelixir.com/83 (https://podcast.thinkingelixir.com/83?utm_source=thinkingelixir&utm_medium=shownotes) – Podcast episode discussing Zig and Zigler in depth. - https://x.com/germsvel/status/1823304992876618032 (https://x.com/germsvel/status/1823304992876618032?utm_source=thinkingelixir&utm_medium=shownotes) – German Velasco shows how to use Macro.to_string/1 to convert AST to clearer Elixir code. - https://github.com/elixir-error-tracker/error-tracker/releases/tag/v0.2.0 (https://github.com/elixir-error-tracker/error-tracker/releases/tag/v0.2.0?utm_source=thinkingelixir&utm_medium=shownotes) – Release details for ErrorTracker 0.2.0. - https://evilmartians.com/chronicles/soft-deletion-with-postgresql-but-with-logic-on-the-database (https://evilmartians.com/chronicles/soft-deletion-with-postgresql-but-with-logic-on-the-database?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post about hard and soft deletion with PostgreSQL. - https://x.com/josevalim/status/1821143821649948822 (https://x.com/josevalim/status/1821143821649948822?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim shares a tip on soft deletion with PostgreSQL. - https://dashbit.co/blog/soft-deletes-with-ecto (https://dashbit.co/blog/soft-deletes-with-ecto?utm_source=thinkingelixir&utm_medium=shownotes) – Article on implementing soft deletes with Ecto. - https://github.com/seanmor5/honeycomb (https://github.com/seanmor5/honeycomb?utm_source=thinkingelixir&utm_medium=shownotes) – New AI-centric library Honeycomb for fast LLM inference with Elixir and Bumblebee. - https://x.com/sean_moriarity/status/1820887135291085244 (https://x.com/sean_moriarity/status/1820887135291085244?utm_source=thinkingelixir&utm_medium=shownotes) – Sean Moriarity's announcement of Honeycomb library. - https://x.com/wojtekmach/status/1823339271731683743 (https://x.com/wojtekmach/status/1823339271731683743?utm_source=thinkingelixir&utm_medium=shownotes) – Wojtek Mach explains more about Hex.pm's "Bob" and its future directions. - https://github.com/erlef/build-and-packaging-wg/issues/80 (https://github.com/erlef/build-and-packaging-wg/issues/80?utm_source=thinkingelixir&utm_medium=shownotes) – Proposal on managing Erlang builds. - https://x.com/wojtekmach/status/1823374248569626638 (https://x.com/wojtekmach/status/1823374248569626638?utm_source=thinkingelixir&utm_medium=shownotes) – Further updates on Bob and Erlang builds. - https://jobs.apple.com/en-us/details/200562288/senior-software-engineer-elixir-environmental-systems (https://jobs.apple.com/en-us/details/200562288/senior-software-engineer-elixir-environmental-systems?utm_source=thinkingelixir&utm_medium=shownotes) – The Elixir developer position at Apple. - https://2024.elixirconf.com/schedule/#schedules (https://2024.elixirconf.com/schedule/#schedules?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf 2024 schedules are posted. - https://x.com/i/lists/1819858270737268846 (https://x.com/i/lists/1819858270737268846?utm_source=thinkingelixir&utm_medium=shownotes) – Twitter list of ElixirConf speakers. - https://2024.elixirconf.com/ (https://2024.elixirconf.com/?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf 2024 official website. - ElixirConf weekly hangouts with speakers at 11am CDT on Twitter. Talks span from August 28-30. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
News includes a new video by German Velasco explaining quote and unquote in Elixir macros, updates on the Hex.pm “Bob” project for pre-built Elixir and Erlang binaries, Sonic Pi sponsorships and support from Dashbit, the release of ElixirLS v0.23.0, and Google's recent antitrust ruling. We also cover new developments with the Error Tracker library, Florian Arens' guide to building a Phoenix HEEx component, and upcoming events at ElixirConf 2024, and more! Show Notes online - http://podcast.thinkingelixir.com/215 (http://podcast.thinkingelixir.com/215) Elixir Community News - https://x.com/germsvel/status/1820765760630706343 (https://x.com/germsvel/status/1820765760630706343?utm_source=thinkingelixir&utm_medium=shownotes) – German Velasco has a new short Elixir video explaining quote and unquote in macros. - https://github.com/hexpm/bob/pull/193 (https://github.com/hexpm/bob/pull/193?utm_source=thinkingelixir&utm_medium=shownotes) – The Hex.pm “Bob” project creates pre-built binaries of different Elixir and Erlang versions. This PR adds an Erlang build for MacOS. - https://x.com/wojtekmach/status/1819378019644936595 (https://x.com/wojtekmach/status/1819378019644936595?utm_source=thinkingelixir&utm_medium=shownotes) – Wojtek Mach shared his recent work on Twitter about the now merged PR for MacOS Erlang build. - https://x.com/josevalim/status/1820799818089836940 (https://x.com/josevalim/status/1820799818089836940?utm_source=thinkingelixir&utm_medium=shownotes) – Sonic Pi's creator, Sam Aaron, is seeking sponsorships as his Patreon support halved. José Valim shared that Dashbit supports him. - https://podcast.thinkingelixir.com/106 (https://podcast.thinkingelixir.com/106?utm_source=thinkingelixir&utm_medium=shownotes) – Episode 106 discusses SonicPi and its move to Elixir. - https://sonic-pi.net/ (https://sonic-pi.net/?utm_source=thinkingelixir&utm_medium=shownotes) – Sonic Pi allows writing Ruby code to generate live music. - https://x.com/lukaszsamson/status/1820384249054175636 (https://x.com/lukaszsamson/status/1820384249054175636?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirLS v0.23.0 released, announcement on Twitter/X. - https://elixirforum.com/t/elixirls-the-elixir-language-server/5857/225?u=lukaszsamson (https://elixirforum.com/t/elixirls-the-elixir-language-server/5857/225?u=lukaszsamson?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirLS v0.23.0 release announced with detailed information on ElixirForum. - https://github.com/elixir-lsp/elixir-ls/blob/v0.23.0/CHANGELOG.md (https://github.com/elixir-lsp/elixir-ls/blob/v0.23.0/CHANGELOG.md?utm_source=thinkingelixir&utm_medium=shownotes) – Detailed changelog for ElixirLS v0.23.0. - https://elixirforum.com/t/errortracker-an-elixir-based-built-in-error-tracking-solution/65245 (https://elixirforum.com/t/errortracker-an-elixir-based-built-in-error-tracking-solution/65245?utm_source=thinkingelixir&utm_medium=shownotes) – New Error Tracker library for Elixir that adds a built-in error tracking solution. - https://github.com/elixir-error-tracker/error-tracker (https://github.com/elixir-error-tracker/error-tracker?utm_source=thinkingelixir&utm_medium=shownotes) – Error Tracker library allows inserting exceptions into the database and resolving them. - https://farens.me/blog/building-a-table-of-contents-component-for-a-phoenix-blog (https://farens.me/blog/building-a-table-of-contents-component-for-a-phoenix-blog?utm_source=thinkingelixir&utm_medium=shownotes) – Florian Arens wrote about building a Phoenix HEEx component to create a Table of Contents for a Markdown blog post. - https://github.com/leandrocp/mdex (https://github.com/leandrocp/mdex?utm_source=thinkingelixir&utm_medium=shownotes) – Uses MDEx to parse Markdown to HTML and Floki to parse HTML for headers. - https://x.com/wojtekmach/status/1819141239788523703 (https://x.com/wojtekmach/status/1819141239788523703?utm_source=thinkingelixir&utm_medium=shownotes) – Req gets file upload support with form uploads, including streaming files. - https://x.com/wojtekmach/status/1819119285920243803 (https://x.com/wojtekmach/status/1819119285920243803?utm_source=thinkingelixir&utm_medium=shownotes) – Wojtek Mach shows how Req now works as a distributed HTTP client with upload support. - https://x.com/bcardarella/status/1819431997179109792 (https://x.com/bcardarella/status/1819431997179109792?utm_source=thinkingelixir&utm_medium=shownotes) – New LiveView Native release candidate 0.3.0-rc.3 announced. - https://github.com/liveview-native/liveviewnative/blob/main/CHANGELOG.md (https://github.com/liveview-native/live_view_native/blob/main/CHANGELOG.md?utm_source=thinkingelixir&utm_medium=shownotes) – Release mostly includes changes on configuration and setup. - https://finance.yahoo.com/news/us-judge-describes-google-built-224025324.html (https://finance.yahoo.com/news/us-judge-describes-google-built-224025324.html?utm_source=thinkingelixir&utm_medium=shownotes) – US court rules that Google illegally used monopoly powers in antitrust case. - Judge says, "Google is a monopolist, and it has acted as one to maintain its monopoly." - https://x.com/ElixirConf/status/1820510964481175736 (https://x.com/ElixirConf/status/1820510964481175736?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf 2024 weekly hangouts at 11am CDT to discuss with speakers. - https://x.com/i/lists/1819858270737268846 (https://x.com/i/lists/1819858270737268846?utm_source=thinkingelixir&utm_medium=shownotes) – Twitter list of ElixirConf speakers to follow. - https://2024.elixirconf.com/ (https://2024.elixirconf.com/?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf 2024 - August 28-30, featuring multiple speakers and sessions on Elixir. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
News includes Chris McCord's speedrun video on adding a self-hosted llama2-7b to an existing application, Tyler Young's release of parameterized_test v0.2.0, major updates in Oban Pro's new launch week, potential for CRDTs being added to Mnesia DB, Zach Daniel's blog post on Igniter for code generation, and a preview of ElixirConf 2024 with exciting speakers and topics, and more! Show Notes online - http://podcast.thinkingelixir.com/213 (http://podcast.thinkingelixir.com/213) Elixir Community News - https://x.com/chris_mccord/status/1815409966611648705 (https://x.com/chris_mccord/status/1815409966611648705?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord does a YouTube video speedrun of adding a self-hosted llama2-7b to an existing application. He's running it against Ollama and making REST API calls to it, showing how to run the Ollama server on a private Fly.io IPv6 network using auto-stop and auto-start features. - https://x.com/TylerAYoung/status/1815391743484870980 (https://x.com/TylerAYoung/status/1815391743484870980?utm_source=thinkingelixir&utm_medium=shownotes) – Tyler Young shared a new release of his library parameterizedtest, version v0.2.0, which includes support for longer test names, comments in tables, and Obsidian markdown table format. - https://github.com/s3cur3/parameterized_test (https://github.com/s3cur3/parameterized_test?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub repository for Tyler Young's parameterizedtest library that makes it easier to create tests using multiple combinations in markdown tables. - https://x.com/Exadra37/status/1815694986345611683 (https://x.com/Exadra37/status/1815694986345611683?utm_source=thinkingelixir&utm_medium=shownotes) – The Mnesia database may receive native support for automated conflict resolution via CRDTs, sponsored by ErlangSolutions and developed by Vincent Lau. - https://www.youtube.com/watch?v=tHdPRyMjmW8 (https://www.youtube.com/watch?v=tHdPRyMjmW8?utm_source=thinkingelixir&utm_medium=shownotes) – Vincent Lau spoke at Code BEAM Europe 2023 about his work on adding CRDTs to Mnesia for automated conflict resolution. - https://www.erlang.org/doc/apps/mnesia/mnesia.html (https://www.erlang.org/doc/apps/mnesia/mnesia.html?utm_source=thinkingelixir&utm_medium=shownotes) – Documentation on Mnesia, a distributed key-value DBMS built into Erlang. - https://x.com/sorentwo/status/1791166342034255938 (https://x.com/sorentwo/status/1791166342034255938?utm_source=thinkingelixir&utm_medium=shownotes) – Oban Pro's launch week introduces unified migrations, worker aliases, better support for distributed databases, faster unique job checks, and the @job decorator for small jobs. - https://x.com/sorentwo/status/1807155900609904973 (https://x.com/sorentwo/status/1807155900609904973?utm_source=thinkingelixir&utm_medium=shownotes) – Improvements in Oban Pro include better batch workflows with mermaid visualizations. - https://getoban.pro/articles/pro-1-5-launch-week-day-1 (https://getoban.pro/articles/pro-1-5-launch-week-day-1?utm_source=thinkingelixir&utm_medium=shownotes) – Article on Oban Pro's launch week, detailing new features and improvements. - https://getoban.pro/articles/pro-1-5-launch-week-day-2 (https://getoban.pro/articles/pro-1-5-launch-week-day-2?utm_source=thinkingelixir&utm_medium=shownotes) – Second day of Oban Pro's launch week article series. - https://getoban.pro/articles/pro-1-5-launch-week-day-3 (https://getoban.pro/articles/pro-1-5-launch-week-day-3?utm_source=thinkingelixir&utm_medium=shownotes) – Third day of Oban Pro's launch week article series. - https://alembic.com.au/blog/igniter-rethinking-code-generation-with-project-patching (https://alembic.com.au/blog/igniter-rethinking-code-generation-with-project-patching?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post by Zach Daniel about Igniter, a tool for rethinking code generation with project patching, useful for installing libraries into existing Phoenix applications. - https://2024.elixirconf.com/ (https://2024.elixirconf.com/?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf 2024 Preview with details on scheduled speakers and topics. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
Back in 2012, José Valim started building Elixir to as a way to have his ideal programming language running on the same platform as Erlang. Fast-forward 12 years and it's become build anything from distributed infrastructure to notebooks and websites.In this week's Developer Voices, José joins us to tell the history of Elixir in a series of design choices. Which features mattered to him in the early days, and which ones excite him most now. What's going on under the hood to make Elixir tick, and what does its future hold?–Support Developer Voices on Patreon: https://patreon.com/DeveloperVoicesSupport Developer Voices on YouTube: https://www.youtube.com/@developervoices/joinElixir Homepage: https://elixir-lang.org/Elixir Docs: https://elixir-lang.org/docs.htmlNumerical Elixir: https://github.com/elixir-nxPhoenix: https://phoenixframework.org/Livebook: https://livebook.dev/José's Livebook & Elixir Presentation: https://www.youtube.com/watch?v=pas9WdWIBHsComparing Elixir & Erlang Variables: https://dashbit.co/blog/comparing-elixir-and-erlang-variablesGleam on the BEAM: https://youtu.be/RntfkL8lUY4José on Github: https://github.com/josevalimKris on Mastodon: http://mastodon.social/@krisajenkinsKris on LinkedIn: https://www.linkedin.com/in/krisjenkins/Kris on Twitter: https://twitter.com/krisajenkins
Fredrik och Lars Wikman snackar i den avlägsna forntiden (november 2023) om det Øredev som just då höll på att avslutas. Lars berättar om sin presentation, och om hur ovant det känns att vara på en konferens som inte specifikt handlar om det han jobbar med. En väldigt tillspetsad presentation är ofta - men inte alltid - det rätta svaret. Det är en kul utmaning att presentera ett helt ekosystem för folk som inte redan är där, och utan att bli predikande eller sälja in saker man inte känt behov av än. Har Lars märkt av att han hållit presentationen? Fredrik berättar också om hur det kändes att intervjua alla keynotetalare. Det blir mycket diskussion om växter. God juli! Ett stort tack till Cloudnet som sponsrar vår VPS! Har du kommentarer, frågor eller tips? Vi är @kodsnack, @thieta, @krig, och @bjoreman på Mastodon, har en sida på Facebook och epostas på info@kodsnack.se om du vill skriva längre. Vi läser allt som skickas. Gillar du Kodsnack får du hemskt gärna recensera oss i iTunes! Du kan också stödja podden genom att ge oss en kaffe (eller två!) på Ko-fi, eller handla något i vår butik. Länkar Stöd oss på Ko-fi! Lars Wikman Tidigare avsnitt med Lars Øredev 2023 Røde wireless pro Best western Malmö arena hotell Lars presentation Elixir Liveview Erlang Elixirconf-presentationen BEAM - Erlangs virtuella maskin Whatsapps resa med Erlang och få utvecklare Mnesia Discord kör Elixir Elixir safari i Kenya - blev kanske inställd, mycket otydligt Elixirconf Africa Elixirconf EU Codebeam Alla keynotetalarna Första keynoten, med Monika Bielskyte Cyrus Clarke - kodar in data i växter Ethereum Monsanto Apple store i Hyllie Titlar Sjukt låg latency Sista dagen, lite bakis En konferens som inte handlar om det jag pysslar med Sälja Liveview till folket Tech leads och små CTOs Om de inte har känt smärtan Täcka en ganska vid bas Varför inte bara Erlang? Täcka hela resan Legendariskt internationellt Fortfarande konceptuellt intressant Petabyte per gram Industrialisering av växter Superoptimerade blommor Familjefoton i en begonia
In this episode we dive into the exciting release of Elixir 1.17.0-rc.1 and other news from the community. Our main segment features an in-depth interview with Ellie Fairholm and Josep Giralt D'Lacoste about their new Elixir book "Engineering Elixir Applications - Navigate Each Stage of Software Delivery with Confidence." We explore their professional experiences, the concept of "BeamOps," and the unique DevOps challenges and advantages in the BEAM ecosystem. Ellie and Josep share insights about the writing process, their collaboration, and what's next for the book. Tune in to hear all this and more! Show Notes online - http://podcast.thinkingelixir.com/206 (http://podcast.thinkingelixir.com/206) Elixir Community News - https://x.com/josevalim/status/1797607009715691637 (https://x.com/josevalim/status/1797607009715691637?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim announces the release of Elixir 1.17.0-rc.1. - https://hexdocs.pm/elixir/1.17/gradual-set-theoretic-types.html (https://hexdocs.pm/elixir/1.17/gradual-set-theoretic-types.html?utm_source=thinkingelixir&utm_medium=shownotes) – Introduction to gradual set-theoretic types in Elixir 1.17. - https://github.com/elixir-lang/elixir/blob/v1.17/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/v1.17/CHANGELOG.md?utm_source=thinkingelixir&utm_medium=shownotes) – Detailed changelog of Elixir 1.17.0-rc.1. - Added mix profile.tprof profiler in Erlang/OTP 27+ and Deprecated mix profile.cprof and mix profile.eprof. - https://2024.elixirconf.com/ (https://2024.elixirconf.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Information about ElixirConfUS 2024, including keynotes, speakers, and training. - David speaking on “Dancing with Data, Guide to ETLs” at ElixirConfUS 2024. - Mark speaking on “Elixir & AI - Creating Autonomous Agents with LangChain” at ElixirConfUS 2024. - https://dashbit.co/blog/elixir-ml-s1-2024-mlir-arrow-instructor (https://dashbit.co/blog/elixir-ml-s1-2024-mlir-arrow-instructor?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim's post on the Dashbit blog discussing the state of ML in Elixir in 2024. - https://mlir.llvm.org/ (https://mlir.llvm.org/?utm_source=thinkingelixir&utm_medium=shownotes) – Introduction of MLIR (Multi-Level Intermediate Representation) in Elixir's ML projects. - Broader ML/AI community and new projects in Elixir, including instructor_ex and Elixir LangChain. - https://x.com/germsvel/status/1796127412511551857 (https://x.com/germsvel/status/1796127412511551857?utm_source=thinkingelixir&utm_medium=shownotes) – German Velasco's video showcasing new OTP 27 process labels feature. - https://www.youtube.com/watch?v=XNQhDl4a9Ko (https://www.youtube.com/watch?v=XNQhDl4a9Ko?utm_source=thinkingelixir&utm_medium=shownotes) – Google algorithm leak exposed through a GitHub project explained using Elixir. - https://x.com/akoutmos/status/1796637514704273870 (https://x.com/akoutmos/status/1796637514704273870?utm_source=thinkingelixir&utm_medium=shownotes) – Akoutmos discusses the Google algorithm leak and its analysis using Elixir. - https://hexdocs.pm/googleapicontent_warehouse/api-reference.html (https://hexdocs.pm/google_api_content_warehouse/api-reference.html?utm_source=thinkingelixir&utm_medium=shownotes) – Hexdocs publish the Google algorithm API reference. - https://ipullrank.com/google-algo-leak (https://ipullrank.com/google-algo-leak?utm_source=thinkingelixir&utm_medium=shownotes) – Analysis of Google's algorithm leak and relevancy to Elixir. - https://x.com/PJUllrich/status/1796198764681506898 (https://x.com/PJUllrich/status/1796198764681506898?utm_source=thinkingelixir&utm_medium=shownotes) – Introducing Crawly, an application framework for web crawling and data extraction. - https://github.com/elixir-crawly/crawly (https://github.com/elixir-crawly/crawly?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub repository for the Crawly web crawling framework. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://pragprog.com/titles/beamops/engineering-elixir-applications/ (https://pragprog.com/titles/beamops/engineering-elixir-applications/?utm_source=thinkingelixir&utm_medium=shownotes) – PragProg book listing - https://twitter.com/pragprog/status/1779253657097117890 (https://twitter.com/pragprog/status/1779253657097117890?utm_source=thinkingelixir&utm_medium=shownotes) - https://twitter.com/sm_debenedetto/status/1779558393373409481 (https://twitter.com/sm_debenedetto/status/1779558393373409481?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.hashicorp.com/ (https://www.hashicorp.com/?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.erlang-solutions.com/ (https://www.erlang-solutions.com/?utm_source=thinkingelixir&utm_medium=shownotes) - https://opentofu.org/ (https://opentofu.org/?utm_source=thinkingelixir&utm_medium=shownotes) - https://xkcd.com/927/ (https://xkcd.com/927/?utm_source=thinkingelixir&utm_medium=shownotes) - https://en.wikipedia.org/wiki/Blue%E2%80%93green_deployment (https://en.wikipedia.org/wiki/Blue%E2%80%93green_deployment?utm_source=thinkingelixir&utm_medium=shownotes) - https://docs.docker.com/engine/swarm/ (https://docs.docker.com/engine/swarm/?utm_source=thinkingelixir&utm_medium=shownotes) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern) - Dave Lucia - @davydog187 (https://twitter.com/davydog187)
In this episode, we delve into the latest developments including the release of Elixir 1.17-rc0, featuring significant type system improvements and new functions like DateTime.shift. We also discuss some unexpected compiler and JIT advancements in OTP 27, which are already showing performance boosts. Elixir celebrated its 12th birthday and the Erlang docs completed their migration to ExDoc, enhancing accessibility and integration. Tune in for these insightful updates and more! Show Notes online - http://podcast.thinkingelixir.com/205 (http://podcast.thinkingelixir.com/205) Elixir Community News - https://stackoverflow.az1.qualtrics.com/jfe/form/SV_6rJVT6XXsfTo1JI?site=stackoverflow.com (https://stackoverflow.az1.qualtrics.com/jfe/form/SV_6rJVT6XXsfTo1JI?site=stackoverflow.com?utm_source=thinkingelixir&utm_medium=shownotes) – StackOverflow Developer Survey link. - https://github.com/elixir-lang/elixir/releases/tag/v1.17.0-rc.0 (https://github.com/elixir-lang/elixir/releases/tag/v1.17.0-rc.0?utm_source=thinkingelixir&utm_medium=shownotes) – Release tag for Elixir 1.17-rc0. - https://github.com/elixir-lang/elixir/blob/v1.17.0-rc.0/CHANGELOG.md (https://github.com/elixir-lang/elixir/blob/v1.17.0-rc.0/CHANGELOG.md?utm_source=thinkingelixir&utm_medium=shownotes) – Changelog for Elixir 1.17-rc0. - https://x.com/marpo60/status/1793993127939969361 (https://x.com/marpo60/status/1793993127939969361?utm_source=thinkingelixir&utm_medium=shownotes) – Marcelo Dominguez highlights advantages of the new type system in Elixir 1.17. - https://hexdocs.pm/elixir/main/DateTime.html#shift/3 (https://hexdocs.pm/elixir/main/DateTime.html#shift/3?utm_source=thinkingelixir&utm_medium=shownotes) – Documentation for the DateTime.shift function in Elixir. - https://hexdocs.pm/elixir/1.17.0-rc.0/Kernel.html#to_timeout/1 (https://hexdocs.pm/elixir/1.17.0-rc.0/Kernel.html#to_timeout/1?utm_source=thinkingelixir&utm_medium=shownotes) – Documentation to convert durations to milliseconds in Elixir 1.17-rc0. - https://www.erlang.org/news/170#compiler-and-jit-improvements (https://www.erlang.org/news/170#compiler-and-jit-improvements?utm_source=thinkingelixir&utm_medium=shownotes) – News about OTP 27 compiler and JIT improvements. - https://x.com/sorentwo/status/1795044358850298343 (https://x.com/sorentwo/status/1795044358850298343?utm_source=thinkingelixir&utm_medium=shownotes) – Discussion about a 12.5% speed improvement in the Oban test suite. - https://github.com/erlang/otp/issues/8469 (https://github.com/erlang/otp/issues/8469?utm_source=thinkingelixir&utm_medium=shownotes) – Regression of :ets.select in OTP 27 mentioned. - https://www.erlang.org/doc/readme.html (https://www.erlang.org/doc/readme.html?utm_source=thinkingelixir&utm_medium=shownotes) – New home for Erlang documentation. - Get clear on old Elixir Mix episodes being released as new. - https://www.imdb.com/title/tt29816472/ (https://www.imdb.com/title/tt29816472/?utm_source=thinkingelixir&utm_medium=shownotes) – The Thinking Elixir Podcast on IMDB?? - https://dashbit.co/blog/req-v0.5 (https://dashbit.co/blog/req-v0.5?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of Req v0.5 with improved testing support and error handling. - https://gleam.run/news/fault-tolerant-gleam/ (https://gleam.run/news/fault-tolerant-gleam/?utm_source=thinkingelixir&utm_medium=shownotes) – Release notes for Gleam v1.2.0, focusing on fault-tolerant compilation. - https://x.com/jacob_luetzow/status/1794075125202956353 (https://x.com/jacob_luetzow/status/1794075125202956353?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim celebrating Elixir's 12th Birthday. - https://www.youtube.com/live/epKeT8-hafE (https://www.youtube.com/live/epKeT8-hafE?utm_source=thinkingelixir&utm_medium=shownotes) – Video of José Valim discussing Elixir on its 12th Birthday. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern) - Tyler Young - @TylerAYoung (https://twitter.com/TylerAYoung) - Tyler Young on Fediverse - @tylerayoung@fosstodon.org (https://fosstodon.org/@tylerayoung)
Klaus Bang, otherwise known as the Danish WFM Ninja, shares his thoughts on a long career in WFM, his approach to determining a Service Level target, and how he used Calabrio WFM to consolidate several contact center practices into one.
This week we're delighted to have José Valim on the podcast. José is the author of Elixir, the programming language build on the Erlang VM. Elixer provides a functional programming language with metaprogramming and built-in support for concurrency and distributed computing. Livebook is a web-based interactive programming environment for Elixir and it flexes what the Phoenix framework can do. https://twitter.com/josevalim https://elixir-lang.org/ https://www.phoenixframework.org/ https://livebook.dev/ Episode sponsored By Clerk (https://clerk.com) Become a paid subscriber our patreon, spotify, or apple podcasts for the full episode. https://www.patreon.com/devtoolsfm https://podcasters.spotify.com/pod/show/devtoolsfm/subscribe https://podcasts.apple.com/us/podcast/devtools-fm/id1566647758 https://www.youtube.com/@devtoolsfm/membership
This week's podcast dives into the latest tech updates, including the release of Lexical 0.6.0 with its impressive performance upgrades and new features for Phoenix controller completions. We'll also talk about building smarter Slack bots with Elixir, and the LiveView support enhancements that bolster security against spam connections. Plus, we celebrate the 5-year milestone of Saša Jurić's influential “Soul of Erlang and Elixir” talk. Of course we have to touch on the FTC's impactful ruling that bans non-compete employment clauses, a significant shift that will likely shake up the tech industry and innovation landscape. Stay tuned for this and more! Show Notes online - http://podcast.thinkingelixir.com/201 (http://podcast.thinkingelixir.com/201) Elixir Community News - https://github.com/lexical-lsp/lexical/releases/tag/v0.6.0 (https://github.com/lexical-lsp/lexical/releases/tag/v0.6.0?utm_source=thinkingelixir&utm_medium=shownotes) – Lexical 0.6.0 release includes document and workspace symbols, improved Phoenix controller completions, and enhanced indexing performance. - https://benreinhart.com/blog/verifying-slack-requests-elixir-phoenix/ (https://benreinhart.com/blog/verifying-slack-requests-elixir-phoenix/?utm_source=thinkingelixir&utm_medium=shownotes) – Ben Reinhart's blog post details the process for cryptographically verifying event notifications from Slack in Phoenix apps for Slack bots. - https://twitter.com/PJUllrich/status/1784707877157970387 (https://twitter.com/PJUllrich/status/1784707877157970387?utm_source=thinkingelixir&utm_medium=shownotes) – Peter Ulrich has launched a LiveView-oriented course on building forms as announced on his Twitter account. - https://indiecourses.com/catalog/building-forms-with-phoenix-liveview-2OPYIqaekkZwrpgLUZOyZV (https://indiecourses.com/catalog/building-forms-with-phoenix-liveview-2OPYIqaekkZwrpgLUZOyZV?utm_source=thinkingelixir&utm_medium=shownotes) – The course covers building forms with Phoenix LiveView including various types of schema and dynamic fields. - https://paraxial.io/blog/live-view-support (https://paraxial.io/blog/live-view-support?utm_source=thinkingelixir&utm_medium=shownotes) – Michael Lubas outlines security-focused support for LiveView on Paraxial.io, including protection against initial connection and websocket spam. - https://github.com/nccgroup/sobelow/pull/123 (https://github.com/nccgroup/sobelow/pull/123?utm_source=thinkingelixir&utm_medium=shownotes) – There was work on adding support for HEEx to Sobelow.XSS.Raw, as a part of Sobelow's security-focused static analysis for the Phoenix Framework. - https://twitter.com/sasajuric/status/1784958371998601526 (https://twitter.com/sasajuric/status/1784958371998601526?utm_source=thinkingelixir&utm_medium=shownotes) – It's the 5 Year Anniversary of Saša Jurić's “Soul of Erlang and Elixir” talk, recommended for its lasting relevance in the development community. - https://www.youtube.com/watch?v=JvBT4XBdoUE (https://www.youtube.com/watch?v=JvBT4XBdoUE?utm_source=thinkingelixir&utm_medium=shownotes) – Saša Jurić's influential “Soul of Erlang and Elixir” talk is still very relevant and worth watching, even five years later. - https://www.elixirconf.eu/ (https://www.elixirconf.eu/?utm_source=thinkingelixir&utm_medium=shownotes) – ElixirConf EU 2025 dates and location have been announced, with a waitlist available for those interested in attending. - https://www.ftc.gov/news-events/news/press-releases/2024/04/ftc-announces-rule-banning-noncompetes (https://www.ftc.gov/news-events/news/press-releases/2024/04/ftc-announces-rule-banning-noncompetes?utm_source=thinkingelixir&utm_medium=shownotes) – The FTC ruling banning non-compete clauses aims to increase wages, entrepreneurship, and overall economic dynamism in the US technology sector. - While bans on non-compete clauses for technology workers are in effect, trade secret laws and NDAs continue to provide employers with protection against information leaks. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
This week we're joined by Louis Pilfold, the creator of the Gleam programming language. For the uninitiated, Gleam is a functional programming language for building type-safe systems that compiles to Erlang and JavaScript and it's written in Rust. We discuss the inspiration and development of Gleam, how it compares to other languages, where it shines, the overwhelming amount of support Louis is getting through GitHub sponsors, what's next for Gleam and their near-term plans for a language server.
This week we're joined by Louis Pilfold, the creator of the Gleam programming language. For the uninitiated, Gleam is a functional programming language for building type-safe systems that compiles to Erlang and JavaScript and it's written in Rust. We discuss the inspiration and development of Gleam, how it compares to other languages, where it shines, the overwhelming amount of support Louis is getting through GitHub sponsors, what's next for Gleam and their near-term plans for a language server.
In this episode, we talk about the eagerly awaited Elixir 1.17.0-dev changelog, the exciting ExDoc v0.32 release, and the slightly amusing declaration of Cloudflare playing the websocket hero – about 9 years after Phoenix neatly demoed 2 million concurrent connections to the world. We also explore potential performance improvements with Ecto's support for unlogged tables and how PragProg's new Elixir book is shaping up as a must-read for DevOps enthusiasts. But that's not all, we also touch on the launch of a constraint solver in Elixir, a nifty Livebook visualization tip, and more! Plus, don't miss out as Mark, Tyler, and David also share insights into their current projects, ranging from tackling Elixir mock libraries to the latest in the tech conference scene and educational initiatives in the Erlang ecosystem. Show Notes online - http://podcast.thinkingelixir.com/199 (http://podcast.thinkingelixir.com/199) Elixir Community News - https://github.com/elixir-lang/elixir/blob/main/CHANGELOG.md#v1170-dev (https://github.com/elixir-lang/elixir/blob/main/CHANGELOG.md#v1170-dev?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir 1.17.0-dev changelog update introducing a new Duration type and calendar-specific shifts support. - https://hexdocs.pm/db_connection/DBConnection.Ownership.html#module-callers-lookup (https://hexdocs.pm/db_connection/DBConnection.Ownership.html#module-callers-lookup?utm_source=thinkingelixir&utm_medium=shownotes) – ExUnit start_supervised now populates $callers, affecting libraries like Mox and Ecto. - https://hexdocs.pm/mox/Mox.html#module-explicit-allowances (https://hexdocs.pm/mox/Mox.html#module-explicit-allowances?utm_source=thinkingelixir&utm_medium=shownotes) – ExUnit changes with regards to $callers provide better support for global mocks like Mox. - https://github.com/elixir-ecto/ecto_sql/pull/601 (https://github.com/elixir-ecto/ecto_sql/pull/601?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir Ecto experiment for adding support to unlogged tables that could speed up test suites. - https://twitter.com/josevalim/status/1777990973454262476 (https://twitter.com/josevalim/status/1777990973454262476?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of ExDoc v0.32 release. - https://hexdocs.pm/ex_doc/changelog.html (https://hexdocs.pm/ex_doc/changelog.html?utm_source=thinkingelixir&utm_medium=shownotes) – Official changelogs for ExDoc v0.32 highlighting new features like OS default font for content and search bar improvements. - https://x.com/chris_mccord/status/1776370373946175706 (https://x.com/chris_mccord/status/1776370373946175706?utm_source=thinkingelixir&utm_medium=shownotes) – Cloudflare Workers support for WebSockets and its impact on real-time web experiences. - https://blog.cloudflare.com/introducing-websockets-in-workers/ (https://blog.cloudflare.com/introducing-websockets-in-workers/?utm_source=thinkingelixir&utm_medium=shownotes) – Introduction and explanation of websockets in Cloudflare Workers. - https://www.phoenixframework.org/blog/the-road-to-2-million-websocket-connections (https://www.phoenixframework.org/blog/the-road-to-2-million-websocket-connections?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord's blog post on achieving 2 million WebSocket connections. - https://twitter.com/pragprog/status/1779253657097117890 (https://twitter.com/pragprog/status/1779253657097117890?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of a new Elixir focused book in beta from PragProg. - https://twitter.com/sm_debenedetto/status/1779558393373409481 (https://twitter.com/sm_debenedetto/status/1779558393373409481?utm_source=thinkingelixir&utm_medium=shownotes) – Additional information about the new PragProg Elixir book. - https://pragprog.com/titles/beamops/engineering-elixir-applications/ (https://pragprog.com/titles/beamops/engineering-elixir-applications/?utm_source=thinkingelixir&utm_medium=shownotes) – Direct link to the forthcoming Elixir book on PragProg focused on DevOps for the BEAM ecosystem. - https://developer.hashicorp.com/terraform/intro (https://developer.hashicorp.com/terraform/intro?utm_source=thinkingelixir&utm_medium=shownotes) – Introduction to Terraform, as covered in PragProg's new Elixir book. - https://x.com/thibaut_barrere/status/1777702586944036899 (https://x.com/thibaut_barrere/status/1777702586944036899?utm_source=thinkingelixir&utm_medium=shownotes) – Discussion on a constraint solver implementation in Elixir. - https://github.com/bokner/fixpoint (https://github.com/bokner/fixpoint?utm_source=thinkingelixir&utm_medium=shownotes) – Boris Okner's Fixpoint, a constraint solver library for Elixir. - https://en.wikipedia.org/wiki/NP-completeness (https://en.wikipedia.org/wiki/NP-completeness?utm_source=thinkingelixir&utm_medium=shownotes) – Explanation of NP Completeness related to constraint solving. - https://twitter.com/hugobarauna/status/1779930969593512159 (https://twitter.com/hugobarauna/status/1779930969593512159?utm_source=thinkingelixir&utm_medium=shownotes) – Tip on building custom visualizations for Elixir data structures in Livebook using the Kino.Render protocol. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://cloud.withgoogle.com/next (https://cloud.withgoogle.com/next?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/brainlid/langchain (https://github.com/brainlid/langchain?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/dashbitco/mox (https://github.com/dashbitco/mox?utm_source=thinkingelixir&utm_medium=shownotes) - https://twitter.com/TylerAYoung/status/1780240662341849256 (https://twitter.com/TylerAYoung/status/1780240662341849256?utm_source=thinkingelixir&utm_medium=shownotes) – Tyler's Tweet about Mox - https://fly.io/phoenix-files/safe-ecto-migrations/ (https://fly.io/phoenix-files/safe-ecto-migrations/?utm_source=thinkingelixir&utm_medium=shownotes) Guest Host Information - Tyler Young joined as a guest host. - https://twitter.com/TylerAYoung (https://twitter.com/TylerAYoung?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter - https://github.com/s3cur3 (https://github.com/s3cur3?utm_source=thinkingelixir&utm_medium=shownotes) – on Github - https://fosstodon.org/@tylerayoung (https://fosstodon.org/@tylerayoung?utm_source=thinkingelixir&utm_medium=shownotes) – on Fediverse - https://tylerayoung.com/ (https://tylerayoung.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern)
Today on Elixir Wizards Office Hours, SmartLogic Engineer Joel Meador joins Dan Ivovich to discuss all things background jobs. The behind-the-scenes heroes of app performance and scalability, background jobs take center stage as we dissect their role in optimizing user experience and managing heavy-lifting tasks away from the main application flow. From syncing with external systems to processing large datasets, background jobs are pivotal to successful application management. Dan and Joel share their perspectives on monitoring, debugging, and securing background jobs, emphasizing the need for a strategic approach to these hidden workflows. Key topics discussed in this episode: The vital role of background jobs in app performance Optimizing user experience through background processing Common pitfalls: resource starvation and latency issues Strategies for effective monitoring and debugging of task runners and job schedulers Data integrity and system security in open source software Background job tools like Oban, Sidekiq, Resque, Cron jobs, Redis pub sub CPU utilization and processing speed Best practices for implementing background jobs Keeping jobs small, focused, and well-monitored Navigating job uniqueness, locking, and deployment orchestration Leveraging asynctask for asynchronous operations The art of continuous improvement in background job management Links mentioned in this episode: https://redis.io/ Oban job processing library https://hexdocs.pm/oban/Oban.html Resque Ruby library for background jobs https://github.com/resque Sidekiq background processing for Ruby https://github.com/sidekiq Delayed Job priority queue system https://github.com/collectiveidea/delayed_job RabbitMQ messaging and streaming broker https://www.rabbitmq.com/ Mnesia distributed telecommunications DBMS https://www.erlang.org/doc/man/mnesia.html Task for Elixir https://hexdocs.pm/elixir/1.12/Task.html ETS in-memory store for Elixir and Erlang objects https://hexdocs.pm/ets/ETS.html Cron - https://en.wikipedia.org/wiki/Cron Donate to Miami Indians of Indiana https://www.miamiindians.org/take-action Joel Meador on Tumblr https://joelmeador.tumblr.com/ Special Guest: Joel Meador.
Richard talks with Louis Pilfold, creator of the Gleam programming language, about the language's 1.0 release, as well as other topics like backwards compatibility, hot-swapping code in production, and implementing a typed version of Erlang's famous OTP system, which had also been famously considered to be un-typeable.
In Elixir Wizards Office Hours Episode 2, "Discovery Discoveries," SmartLogic's Project Manager Alicia Brindisi and VP of Delivery Bri LaVorgna join Elixir Wizards Sundi Myint and Owen Bickford on an exploratory journey through the discovery phase of the software development lifecycle. This episode highlights how collaboration and communication transform the client-project team dynamic into a customized expedition. The goal of discovery is to reveal clear business goals, understand the end user, pinpoint key project objectives, and meticulously document the path forward in a Product Requirements Document (PRD). The discussion emphasizes the importance of fostering transparency, trust, and open communication. Through a mutual exchange of ideas, we are able to create the most tailored, efficient solutions that meet the client's current goals and their vision for the future. Key topics discussed in this episode: Mastering the art of tailored, collaborative discovery Navigating business landscapes and user experiences with empathy Sculpting project objectives and architectural blueprints Continuously capturing discoveries and refining documentation Striking the perfect balance between flexibility and structured processes Steering clear of scope creep while managing expectations Tapping into collective wisdom for ongoing discovery Building and sustaining a foundation of trust and transparency Links mentioned in this episode: https://smartlogic.io/ Follow SmartLogic on social media: https://twitter.com/smartlogic Contact Bri: bri@smartlogic.io What is a PRD? https://en.wikipedia.org/wiki/Productrequirementsdocument Special Guests: Alicia Brindisi and Bri LaVorgna.
Erlang wears three hats - it's a language, it's a platform, and it's an approach to making software run reliably once it's in production. Those last two are so interesting I sometimes wonder why those ideas haven't been ported to every language going. How much work would it be?This week we're going to dig right down into that question with Leandro Ostera. He's been working on Riot - a project to bring the best of Erlang's runtime system and philosophy to OCaml. But why OCaml? Is it possible to marry together OCaml's type system with Erlang's dynamic dispatch systems? And what is it about the recent release of OCaml5 that makes the whole project easier?–Leandro's Blog: https://www.abstractmachines.dev/Why Typing Erlang is Hard: https://www.abstractmachines.dev/posts/am012-why-typing-erlang-is-hard/Riot: https://riot.ml/Riot source: https://github.com/riot-ml/riotReasonML: https://reasonml.github.io/ReScript: https://rescript-lang.org/Leandro on Twitter: https://twitter.com/leosteraKris on Mastodon: http://mastodon.social/@krisajenkinsKris on LinkedIn: https://www.linkedin.com/in/krisjenkins/Kris on Twitter: https://twitter.com/krisajenkins--#podcast #softwaredevelopment #erlang #ocaml #softwaredesign
The Elixir Wizards Podcast is back with Season 12 Office Hours, where we talk with the internal SmartLogic team about the stages of the software development lifecycle. For the season premiere, "Testing 1, 2, 3," Joel Meador and Charles Suggs join us to discuss the nuances of software testing. In this episode, we discuss everything from testing philosophies to test driven development (TDD), integration, and end-user testing. Our guests share real-world experiences that highlight the benefits of thorough testing, challenges like test maintenance, and problem-solving for complex production environments. Key topics discussed in this episode: How to find a balance that's cost-effective and practical while testing Balancing test coverage and development speed The importance of clear test plans and goals So many tests: Unit testing, integration testing, acceptance testing, penetration testing, automated vs. manual testing Agile vs. Waterfall methodologies Writing readable and maintainable tests Testing edge cases and unexpected scenarios Testing as a form of documentation and communication Advice for developers looking to improve testing practices Continuous integration and deployment Links mentioned: https://smartlogic.io/ Watch this episode on YouTube! youtu.be/unx5AIvSdc Bob Martin “Clean Code” videos - “Uncle Bob”: http://cleancoder.com/ JUnit 5 Testing for Java and the JVM https://junit.org/junit5/ ExUnit Testing for Elixir https://hexdocs.pm/exunit/ExUnit.html Code-Level Testing of Smalltalk Applications https://www.cs.ubc.ca/~murphy/stworkshop/28-7.html Agile Manifesto https://agilemanifesto.org/ Old Man Yells at Cloud https://i.kym-cdn.com/entries/icons/original/000/019/304/old.jpg TDD: Test Driven Development https://www.agilealliance.org/glossary/tdd/ Perl Programming Language https://www.perl.org/ Protractor Test Framework for Angular and AngularJS protractortest.org/#/ Waterfall Project Management https://business.adobe.com/blog/basics/waterfall CodeSync Leveling up at Bleacher Report A cautionary tale - PETER HASTIE https://www.youtube.com/watch?v=P4SzZCwB8B4 Mix ecto.dump https://hexdocs.pm/ectosql/Mix.Tasks.Ecto.Dump.html Apache JMeter Load Testing in Java https://jmeter.apache.org/ Pentest Tools Collection - Penetration Testing https://github.com/arch3rPro/PentestTools The Road to 2 Million Websocket Connections in Phoenix https://www.phoenixframework.org/blog/the-road-to-2-million-websocket-connections Donate to Miami Indians of Indiana https://www.miamiindians.org/take-action Joel Meador on Tumblr https://joelmeador.tumblr.com/ Special Guests: Charles Suggs and Joel Meador.
In this second installment of our series, we're joined by Philip Brown, who returns to share his insights on running lean startups in the Elixir ecosystem. We dive into the art of supporting Elixir systems on a shoestring budget. Philip will walk us through his must-haves for MVPs, offering practical advice on how to leverage cost-effective solutions without sacrificing functionality. We'll discuss the balancing act between delivering a product and managing expenses, and highlight the essential tools that keep a scrappy startup's Elixir system robust yet affordable. Tune in for a candid look at making the most of limited resources, insights into Prise.com, ElixirMerge.com strategies, and more for the aspiring bootstrapper! Show Notes online - http://podcast.thinkingelixir.com/192 (http://podcast.thinkingelixir.com/192) Elixir Community News - https://github.com/erlang/eep/pull/59 (https://github.com/erlang/eep/pull/59?utm_source=thinkingelixir&utm_medium=shownotes) – Erlang EEP 68, a new JSON module, has been accepted and merged into OTP's standard library. - https://www.erlang.org/eeps/eep-0068 (https://www.erlang.org/eeps/eep-0068?utm_source=thinkingelixir&utm_medium=shownotes) – Details on Erlang EEP 68, which claims to significantly outperform other JSON libraries like Jason and jiffy. - Speculation on whether EEP 68 will be included in OTP 27 and its performance compared to existing JSON libraries. - https://github.com/electric-sql/pglite (https://github.com/electric-sql/pglite?utm_source=thinkingelixir&utm_medium=shownotes) – PostgreSQL has been redeveloped as a WASM library called PGlite, allowing it to run in browsers and other environments without additional dependencies. - https://twitter.com/sasajuric/status/1762394843341353390 (https://twitter.com/sasajuric/status/1762394843341353390?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of the printing of 'Elixir in Action 3rd Edition' and its rank on Manning's bestseller list. - Remember to use the "devtalk.com" or "mljuric3" coupon codes until March 9th for 45% off the ebook. - Release updates on Language Server Protocols (LSPs) for Elixir and Erlang, detailing new features and improvements like autocomplete and diagnostics. - https://twitter.com/zeddotdev/status/1757882887972528152 (https://twitter.com/zeddotdev/status/1757882887972528152?utm_source=thinkingelixir&utm_medium=shownotes) – Zed, a high-performance, multiplayer code editor now offers support for Erlang. - https://zed.dev/ (https://zed.dev/?utm_source=thinkingelixir&utm_medium=shownotes) – Zed editor's official website where you can find more information about its capabilities and open source nature. - https://twitter.com/thmsmlr/status/1762210503810507140 (https://twitter.com/thmsmlr/status/1762210503810507140?utm_source=thinkingelixir&utm_medium=shownotes) – Thomas Millar introduces kinolivereload, a library for LiveBook to auto-reload cells when source code changes. - https://github.com/thmsmlr/kino_livereload (https://github.com/thmsmlr/kino_livereload?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub repository for kinolivereload, showcasing its live reload feature for LiveBook cells. - https://fly.io/phoenix-files/what-if-s3-could-be-a-fast-globally-synced-key-value-database-that-s-tigris/ (https://fly.io/phoenix-files/what-if-s3-could-be-a-fast-globally-synced-key-value-database-that-s-tigris/?utm_source=thinkingelixir&utm_medium=shownotes) – An article describing Tigris, a globally-synced, S3-compatible file storage service designed for Fly.io. - Explanation of how Elixir applications can take advantage of Tigris as a key-value store using :erlang.termtobinary for storing any Elixir data structure. - https://twitter.com/wojtekmach/status/1759511154131427516 (https://twitter.com/wojtekmach/status/1759511154131427516?utm_source=thinkingelixir&utm_medium=shownotes) – Release announcement for Req v0.4.10, an HTTP client for Elixir with added functionality for stubbing responses in concurrent tests. - https://elixirforum.com/t/req-a-batteries-included-http-client-for-elixir/48494/34 (https://elixirforum.com/t/req-a-batteries-included-http-client-for-elixir/48494/34?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir Forum discussion thread about the latest updates and features in Req. - https://hexdocs.pm/req/Req.Test.html (https://hexdocs.pm/req/Req.Test.html?utm_source=thinkingelixir&utm_medium=shownotes) – Documentation for the Req.Test module, detailing new functions for stubbing HTTP responses in tests. - https://github.com/elixir-nx/bumblebee/blob/main/CHANGELOG.md (https://github.com/elixir-nx/bumblebee/blob/main/CHANGELOG.md?utm_source=thinkingelixir&utm_medium=shownotes) – Changelog for Bumblebee's recent releases, including updates and new feature highlights. - Mention of contributions from Jonatan Kłosko and added Bumblebee features such as Mistral LLM support and the :seed option for generating inputs. - https://twitter.com/polvalente/status/1762234885777817666 (https://twitter.com/polvalente/status/1762234885777817666?utm_source=thinkingelixir&utm_medium=shownotes) – Nx v0.7.0 is released with EXLA's MLIR implementation, enabling new possibilities like quantization and Apple Metal support. - https://github.com/brainlid/langchain (https://github.com/brainlid/langchain?utm_source=thinkingelixir&utm_medium=shownotes) – Update to the Elixir LangChain library to align with the latest features of Bumblebee, allowing conversations with various LLMs. - Additional details on how the updated LangChain library supports LLMs like Llama 2, Mistral, and Zephyr, and its flexibility in changing conversation models. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://podcast.thinkingelixir.com/133 (https://podcast.thinkingelixir.com/133?utm_source=thinkingelixir&utm_medium=shownotes) – Previous interview with Philip about his service Prise.com - https://elixirmerge.com (https://elixirmerge.com?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir Merge newsletter - https://github.com/elixir-haystack/haystack (https://github.com/elixir-haystack/haystack?utm_source=thinkingelixir&utm_medium=shownotes) – Haystack - Simple extendible search engine written in Elixir - https://fly.io (https://fly.io?utm_source=thinkingelixir&utm_medium=shownotes) - https://sentry.io/ (https://sentry.io/?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.appsignal.com/ (https://www.appsignal.com/?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/wyeworks/boom (https://github.com/wyeworks/boom?utm_source=thinkingelixir&utm_medium=shownotes) - https://postmarkapp.com/ (https://postmarkapp.com/?utm_source=thinkingelixir&utm_medium=shownotes) - ElixirMerge sends email's at 8:00am in the user's timezone. - https://sendgrid.com/en-us (https://sendgrid.com/en-us?utm_source=thinkingelixir&utm_medium=shownotes) - https://resend.com/ (https://resend.com/?utm_source=thinkingelixir&utm_medium=shownotes) - https://aws.amazon.com/ses/ (https://aws.amazon.com/ses/?utm_source=thinkingelixir&utm_medium=shownotes) - https://plausible.io/ (https://plausible.io/?utm_source=thinkingelixir&utm_medium=shownotes) - https://clarity.microsoft.com/ (https://clarity.microsoft.com/?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/spreedly/kaffe (https://github.com/spreedly/kaffe?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.metabase.com/ (https://www.metabase.com/?utm_source=thinkingelixir&utm_medium=shownotes) - https://clarity.microsoft.com/ (https://clarity.microsoft.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Microsoft Clarity Guest Information - https://twitter.com/philipbrown (https://twitter.com/philipbrown?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter - https://github.com/philipbrown/ (https://github.com/philipbrown/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github - https://yflag.com (https://yflag.com?utm_source=thinkingelixir&utm_medium=shownotes) – Page about his consulting services - https://culttt.com (https://culttt.com?utm_source=thinkingelixir&utm_medium=shownotes) – Blog - https://elixirmerge.com (https://elixirmerge.com?utm_source=thinkingelixir&utm_medium=shownotes) – Elixir Merge newsletter Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)
In this special episode, we kick off a brand-new series that dives into the world of Elixir—but with a twist. We're exploring the systems surrounding the language and what it takes to support and run a company or team that uses Elixir. Join us as we engage in insightful conversations with various industry voices, starting with Tyler Young, about the practical systems and solutions used by businesses like Felt.com and SleepEasy.app. This series promises to be an enlightening journey for anyone curious about the behind-the-scenes workings of an Elixir-based product. Tune in to hear the unique challenges and successes experienced by others in the field and more! Show Notes online - http://podcast.thinkingelixir.com/191 (http://podcast.thinkingelixir.com/191) Elixir Community News - https://github.com/erlang/otp/pull/8111 (https://github.com/erlang/otp/pull/8111?utm_source=thinkingelixir&utm_medium=shownotes) – Erlang's potential new OTP json module is showing significant performance improvements in recent benchmarks. - https://twitter.com/michalmuskala/status/1759932700624912832 (https://twitter.com/michalmuskala/status/1759932700624912832?utm_source=thinkingelixir&utm_medium=shownotes) – Michał Muskała shares insights online about future Elixir idiomatic wrapper around the new OTP json module. - https://www.erlang.org/news/167 (https://www.erlang.org/news/167?utm_source=thinkingelixir&utm_medium=shownotes) – OTP 27-RC1 was released with new features like the maybe expression and Triple-Quoted Strings. - https://github.com/erlang/otp/ (https://github.com/erlang/otp/?utm_source=thinkingelixir&utm_medium=shownotes) – Official repository for Erlang/OTP where the 27-RC1 release can be found. - https://twitter.com/uwucocoa/status/1758878453309505958 (https://twitter.com/_uwu_cocoa/status/1758878453309505958?utm_source=thinkingelixir&utm_medium=shownotes) – Tweet mentioning that Erlang 27.0-rc1 runs natively on ARM64 Windows. - https://fly.io/blog/tigris-public-beta/ (https://fly.io/blog/tigris-public-beta/?utm_source=thinkingelixir&utm_medium=shownotes) – Fly.io announces a new globally distributed object storage solution that supports the S3 API. - https://github.com/elixir-webrtc/ex_webrtc (https://github.com/elixir-webrtc/ex_webrtc?utm_source=thinkingelixir&utm_medium=shownotes) – New WebRTC library for Elixir called exwebrtc is introduced. - https://blog.swmansion.com/introducing-elixir-webrtc-a37ece4bfca1 (https://blog.swmansion.com/introducing-elixir-webrtc-a37ece4bfca1?utm_source=thinkingelixir&utm_medium=shownotes) – Blog post introducing exwebrtc, detailing the motivation and development of the new WebRTC library for Elixir. - https://membrane.stream/ (https://membrane.stream/?utm_source=thinkingelixir&utm_medium=shownotes) – Membrane Framework site; although exwebrtc was created due to certain challenges with Membrane, Membrane is noted for its pipeline model. - https://www.w3.org/TR/webrtc/ (https://www.w3.org/TR/webrtc/?utm_source=thinkingelixir&utm_medium=shownotes) – The W3C WebRTC specification, which exwebrtc implements in Elixir, is more JS focused. - The Erlang Ecosystem Foundation recently celebrated their 5 year anniversary, highlighting the community's achievements. - https://github.com/gleam-lang/gleam/releases/tag/v1.0.0-rc2 (https://github.com/gleam-lang/gleam/releases/tag/v1.0.0-rc2?utm_source=thinkingelixir&utm_medium=shownotes) – Release of Gleam v1.0.0-rc2 which includes a bug fix for the compiler. - Announcement about ElixirConf US, with a call for training classes and upcoming call for talks. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://felt.com/ (https://felt.com/?utm_source=thinkingelixir&utm_medium=shownotes) - https://sleepeasy.app/ (https://sleepeasy.app/?utm_source=thinkingelixir&utm_medium=shownotes) - https://twitter.com/TylerAYoung/status/1730253716073148470 (https://twitter.com/TylerAYoung/status/1730253716073148470?utm_source=thinkingelixir&utm_medium=shownotes) – Tyler shared on X when he bought his physical hardware - https://sentry.io/for/elixir/ (https://sentry.io/for/elixir/?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.appsignal.com/elixir (https://www.appsignal.com/elixir?utm_source=thinkingelixir&utm_medium=shownotes) - https://felt.com/blog/startup-and-shutdown-for-phoenix-applications (https://felt.com/blog/startup-and-shutdown-for-phoenix-applications?utm_source=thinkingelixir&utm_medium=shownotes) - https://retool.com (https://retool.com?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.heap.io/ (https://www.heap.io/?utm_source=thinkingelixir&utm_medium=shownotes) Guest Information - https://twitter.com/TylerAYoung (https://twitter.com/TylerAYoung?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter - https://github.com/s3cur3 (https://github.com/s3cur3?utm_source=thinkingelixir&utm_medium=shownotes) – on Github - https://fosstodon.org/@tylerayoung (https://fosstodon.org/@tylerayoung?utm_source=thinkingelixir&utm_medium=shownotes) – on Fediverse - https://tylerayoung.com/ (https://tylerayoung.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)
This is the second time that we've managed to reach deep into Ericsson and pull out some of the developers that work on the runtime and the language and the standard libraries that we all rely on. We have two members from the Erlang OTP team with us today! We want to connect with you! Twitter: @BeamRadio1 Send us your questions via Twitter @BeamRadio1 #ProcessMailbox Keep up to date with our hosts on Twitter @akoutmos @lawik @meryldakin @RedRapids @smdebenedetto @StevenNunez and on Mastodon @akoutmos@fosstodon.org @lawik@fosstodon.org @redrapids@genserver.social @steven@genserver.social Sponsored by Groxio (https://grox.io) and Underjord (https://underjord.io)
In this episode, we delve into the significant updates to Phoenix LiveView with its march towards 1.0, including crucial bug fixes in the latest v0.20.5 release. We explore the sleek new testing utility for Elixir, example_test, that's redefining readability in code tests. Plus, the Erlang community is abuzz with a fresh proposal to integrate JSON into the standard library. We'll look into how Fly.io has made GPU instances widely available and what this means for your projects. Don't miss out as we discuss these topics, Gleam's journey toward its 1.0.0 release, and more! Show Notes online - http://podcast.thinkingelixir.com/190 (http://podcast.thinkingelixir.com/190) Elixir Community News - https://twitter.com/elixirphoenix/status/1755593690863620319 (https://twitter.com/elixirphoenix/status/1755593690863620319?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of Phoenix LiveView v0.20.5 release on Twitter. - https://github.com/phoenixframework/phoenixliveview/blob/main/CHANGELOG.md (https://github.com/phoenixframework/phoenix_live_view/blob/main/CHANGELOG.md?utm_source=thinkingelixir&utm_medium=shownotes) – Changelog for Phoenix LiveView v0.20.5 detailing deprecations and bug fixes. - https://twitter.com/germsvel/status/1754834825457127606 (https://twitter.com/germsvel/status/1754834825457127606?utm_source=thinkingelixir&utm_medium=shownotes) – German Velasco's tip for printing the name of a currently executed function in a test without prior knowledge. - https://github.com/erlang/eep/pull/59 (https://github.com/erlang/eep/pull/59?utm_source=thinkingelixir&utm_medium=shownotes) – Pull request proposing the addition of a JSON module to the Erlang standard library. - https://github.com/michalmuskala/eep/blob/json-eep/eeps/eep-0068.md (https://github.com/michalmuskala/eep/blob/json-eep/eeps/eep-0068.md?utm_source=thinkingelixir&utm_medium=shownotes) – EEP68 document with details about the proposed JSON support interface for the Erlang standard library. - https://twitter.com/TylerAYoung/status/1757391526668202060 (https://twitter.com/TylerAYoung/status/1757391526668202060?utm_source=thinkingelixir&utm_medium=shownotes) – Tyler Young announcing a new testing library, exampletest, for Elixir on Twitter. - https://github.com/s3cur3/example_test (https://github.com/s3cur3/example_test?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub repository for exampletest, a utility for defining readable example-based tests in Elixir. - https://fly.io/blog/gpu-ga/ (https://fly.io/blog/gpu-ga/?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement that Fly GPUs are now generally available and no longer on a waitlist. - https://github.com/acalejos/merquery (https://github.com/acalejos/merquery?utm_source=thinkingelixir&utm_medium=shownotes) – Merquery library release, offering a Postman-like Livebook kino cell for interactive queries in Elixir. - https://www.youtube.com/watch?v=clsTrQUt-4M (https://www.youtube.com/watch?v=clsTrQUt-4M?utm_source=thinkingelixir&utm_medium=shownotes) – YouTube video of Louis Pilfold's "Past, Present, Future" talk at FOSDEM 2024 on the language Gleam. - https://twitter.com/gleamlang/status/1756376900782399629 (https://twitter.com/gleamlang/status/1756376900782399629?utm_source=thinkingelixir&utm_medium=shownotes) – Twitter announcement of Gleam Lang v1.0.0-rc.1 release. - https://github.com/gleam-lang/gleam/releases/tag/v1.0.0-rc1 (https://github.com/gleam-lang/gleam/releases/tag/v1.0.0-rc1?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub release page for Gleam v1.0.0-rc.1. - https://github.com/gleam-lang/gleam/blob/v1.0.0-rc1/CHANGELOG.md (https://github.com/gleam-lang/gleam/blob/v1.0.0-rc1/CHANGELOG.md?utm_source=thinkingelixir&utm_medium=shownotes) – Changelog for Gleam v1.0.0-rc.1 highlighting new features and changes. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)
In this week's news, we follow-up on Erlang's use of ExDoc with José Valim's reveal of upcoming features for ExDoc that promises to enhance documentation experiences. We'll also explore the return of the Elixir Slack inviter, now powered by a Plug app, and take a look at the latest PhoenixTest project, aiming to unify testing workflows for LiveView and static pages. Plus, we discuss adding sound effects to LiveView with Howler.js and get a sneak peek at the Nx library's newest Explorer v0.8 release, bridging Elixir to GPU operations for data exploration, and more! Show Notes online - http://podcast.thinkingelixir.com/188 (http://podcast.thinkingelixir.com/188) Elixir Community News - https://twitter.com/josevalim/status/1749453086232351173 (https://twitter.com/josevalim/status/1749453086232351173?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim shared insights on big plans for ExDoc, including autocompletion and cross-package search, following Erlang's adoption of ExDocs with OTP 27. - https://elixir-lang.slack.com/archives/C03EPRA3B/p1706132703749299 (https://elixir-lang.slack.com/archives/C03EPRA3B/p1706132703749299?utm_source=thinkingelixir&utm_medium=shownotes) – Return of the Elixir Slack inviter, now through a Plug app that redirects to Slack invites. - https://github.com/elixir-lang/elixir-lang.github.com/pull/1746 (https://github.com/elixir-lang/elixir-lang.github.com/pull/1746?utm_source=thinkingelixir&utm_medium=shownotes) – Users are encouraged to help maintain the Elixir Slack community's health by contributing invite tokens. - https://github.com/sorentwo/elixir-slack (https://github.com/sorentwo/elixir-slack?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub project for the Elixir Plug application managing Slack invite redirections. - https://github.com/dashbitco/nimble_ownership (https://github.com/dashbitco/nimble_ownership?utm_source=thinkingelixir&utm_medium=shownotes) – New NimbleOwnership library for tracking resource ownership across processes, useful for isolating resource access in test suites. - https://hexdocs.pm/phoenix_test (https://hexdocs.pm/phoenix_test?utm_source=thinkingelixir&utm_medium=shownotes) – PhoenixTest project by German Velasco to unify feature testing for LiveView and static pages in Elixir. - https://twitter.com/germsvel/status/1751971517326414063 (https://twitter.com/germsvel/status/1751971517326414063?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of the PhoenixTest project that aims to provide seamless navigation and testing between LiveView and static pages. - https://hexdocs.pm/phoenix_test/readme.html#why-phoenixtest (https://hexdocs.pm/phoenix_test/readme.html#why-phoenixtest?utm_source=thinkingelixir&utm_medium=shownotes) – An explanation of the reasoning behind the creation of the PhoenixTest project for a unified testing experience. - https://fly.io/phoenix-files/making-phoenix-liveview-sing/ (https://fly.io/phoenix-files/making-phoenix-liveview-sing/?utm_source=thinkingelixir&utm_medium=shownotes) – A guide on adding sound effects to LiveView pages, dealing with browser restrictions and integrating with Howler.js for user interaction. - https://cigrainger.com/explorer-0-8-0/ (https://cigrainger.com/explorer-0-8-0/?utm_source=thinkingelixir&utm_medium=shownotes) – Release details of Explorer v0.8 in the Nx library, a tool for data exploration in Elixir that transitions smoothly between Elixir's syntax and GPU operations. - https://github.com/elixir-explorer/explorer (https://github.com/elixir-explorer/explorer?utm_source=thinkingelixir&utm_medium=shownotes) – GitHub repository for the Explorer library, part of the Nx ecosystem, that provides spreadsheet-like functionalities for Elixir. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)
In this episode, we celebrate the incredible ten-year journey of the Phoenix framework, marvel at the new interactive language tour by Gleam, explore the latest features of ElixirLS v0.19.0 designed to enhance the developer experience, and delve into Erlang's big leap towards adopting ExDoc for its documentation. Stay tuned for these exciting developments in the Elixir ecosystem and more! Show Notes online - http://podcast.thinkingelixir.com/187 (http://podcast.thinkingelixir.com/187) Elixir Community News - https://twitter.com/chris_mccord/status/1748007024921542707 (https://twitter.com/chris_mccord/status/1748007024921542707?utm_source=thinkingelixir&utm_medium=shownotes) – Chris McCord celebrated the 10th anniversary of his first commit to Phoenix, listing major features added over time. - https://gleam.run/news/v0.34-multi-target-projects/ (https://gleam.run/news/v0.34-multi-target-projects/?utm_source=thinkingelixir&utm_medium=shownotes) – Release of Gleam v0.34 introduces Multi-target projects. - https://gleam.run/news/gleams-new-interactive-language-tour/ (https://gleam.run/news/gleams-new-interactive-language-tour/?utm_source=thinkingelixir&utm_medium=shownotes) – Gleam adds a new interactive language tour that works directly in the browser. - https://github.com/elixir-tools/next-ls/releases/tag/v0.16.0 (https://github.com/elixir-tools/next-ls/releases/tag/v0.16.0?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of Next LS v0.16.0 release for Elixir with new features including OpenTelemetry and logging. - https://github.com/elixir-lsp/elixir-ls/releases/tag/v0.19.0 (https://github.com/elixir-lsp/elixir-ls/releases/tag/v0.19.0?utm_source=thinkingelixir&utm_medium=shownotes) – Release notes for ElixirLS v0.19.0, highlighting on-type parsing for Phoenix .heex files and workspace symbols improvements. - https://github.com/erlang/otp/pull/8026 (https://github.com/erlang/otp/pull/8026?utm_source=thinkingelixir&utm_medium=shownotes) – Erlang adopts ExDocs for documentation, starting transition with a huge PR converting docs from XML to Markdown. - https://erlang.github.io/prs/8026/doc/readme.html (https://erlang.github.io/prs/8026/doc/readme.html?utm_source=thinkingelixir&utm_medium=shownotes) – Read the updated Erlang documentation using ExDoc and conforming to EEP-59 style. - https://www.youtube.com/playlist?list=PLvL2NEhYV4ZtBoR52raL_l7XQIb1YH-H7 (https://www.youtube.com/playlist?list=PLvL2NEhYV4ZtBoR52raL_l7XQIb1YH-H7?utm_source=thinkingelixir&utm_medium=shownotes) – YouTube Playlist featuring talks from ElixirConf EU held in April 2023. - https://www.elixirconf.eu/archives/lisbon_2023/index.html (https://www.elixirconf.eu/archives/lisbon_2023/index.html?utm_source=thinkingelixir&utm_medium=shownotes) – Archive page for ElixirConf EU 2023 with information about the event and talks. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)
Dive into the world of structured LLM prompting with our latest guest who shares insights on their innovative project, InstructorEx. We'll explore how this tool is pushing the boundaries of large language models to return structured data, particularly JSON, and the benefits it offers when integrated into existing systems. The conversation takes a deep dive into the challenges and solutions of forcing LLMs to output data in desirable formats using Elixir technology, like Ecto schemas, and what it means to treat an LLM like a digital human, even applying it to tasks like spam detection in emails. Discover the intriguing concept of using a local database as a cache for LLM results. If you're curious about the intersection of structured data, Python experience transition to Elixir, and the future of LLM integration, this is an episode not to miss. Tune in for these engaging topics and more! Show Notes online - http://podcast.thinkingelixir.com/185 (http://podcast.thinkingelixir.com/185) Elixir Community News - https://twitter.com/spawnfest/status/1743987039345782978 (https://twitter.com/spawnfest/status/1743987039345782978?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement and prize awarding of the SpawnFest winners. - https://spawnfest.org/2023.html (https://spawnfest.org/2023.html?utm_source=thinkingelixir&utm_medium=shownotes) – Official SpawnFest 2023 webpage with details on the projects and winners. - https://github.com/spawnfest/heimdall (https://github.com/spawnfest/heimdall?utm_source=thinkingelixir&utm_medium=shownotes) – 1st Place Overall at SpawnFest, Heimdall is a web app for secure and easy sharing of sensitive data. - https://github.com/spawnfest/fluffytrain (https://github.com/spawnfest/fluffytrain?utm_source=thinkingelixir&utm_medium=shownotes) – 2nd Place Overall at SpawnFest, Fluffytrain is a web app for generating working Elixir code using OpenAI GPT-4. - https://github.com/spawnfest/tabtab (https://github.com/spawnfest/tabtab?utm_source=thinkingelixir&utm_medium=shownotes) – 3rd Place Overall at SpawnFest, tabtab is an autocompletion generator plugin for Erlang's rebar3. - https://github.com/spawnfest/arizona (https://github.com/spawnfest/arizona?utm_source=thinkingelixir&utm_medium=shownotes) – Arizona, an Erlang Web Framework, was one of the highlighted projects at SpawnFest. - https://github.com/spawnfest/latch (https://github.com/spawnfest/latch?utm_source=thinkingelixir&utm_medium=shownotes) – Latch, a tool for viewing OpenTelemetry data in real-time was a highlighted project at SpawnFest. - https://github.com/spawnfest/youcan (https://github.com/spawnfest/youcan?utm_source=thinkingelixir&utm_medium=shownotes) – Youcan, an Elixir library for using UCANs in app authorization flows, featured at SpawnFest. - https://ucan.xyz/ (https://ucan.xyz/?utm_source=thinkingelixir&utm_medium=shownotes) – UCAN.xyz, related to the Youcan Elixir library for user-controlled authorization networks. - https://github.com/spawnfest/lorax (https://github.com/spawnfest/lorax?utm_source=thinkingelixir&utm_medium=shownotes) – Lorax, a Livebook app implementing LoRA for fine-tuning language models, was highlighted at SpawnFest. - https://github.com/spawnfest/karel_dreams (https://github.com/spawnfest/karel_dreams?utm_source=thinkingelixir&utm_medium=shownotes) – SpawnFest's highlighted project Karel_dreams, a Livebook app for controlling a robot with AI or script. - https://twitter.com/josevalim/status/1744395345872683471 (https://twitter.com/josevalim/status/1744395345872683471?utm_source=thinkingelixir&utm_medium=shownotes) – José Valim celebrates Elixir's 13th anniversary and announces Elixir as a gradually typed language. - https://twitter.com/bcardarella/status/1743370338254139712 (https://twitter.com/bcardarella/status/1743370338254139712?utm_source=thinkingelixir&utm_medium=shownotes) – Announcement of LiveView Native v0.2.0-rc.1 release and upcoming changes. - https://twitter.com/germsvel/status/1744686958196973787 (https://twitter.com/germsvel/status/1744686958196973787?utm_source=thinkingelixir&utm_medium=shownotes) – German Valesco shares a tip about LiveView helpers for creating pipe-friendly functions in Elixir. - https://codebeamamerica.com/ (https://codebeamamerica.com/?utm_source=thinkingelixir&utm_medium=shownotes) – CodeBeam America conference information, happening on March 7-8, 2024 in San Francisco and virtually. - https://twitter.com/sasajuric/status/1744649232793886963 (https://twitter.com/sasajuric/status/1744649232793886963?utm_source=thinkingelixir&utm_medium=shownotes) – Tweet about CodeBeam America conference. Do you have some Elixir news to share? Tell us at @ThinkingElixir (https://twitter.com/ThinkingElixir) or email at show@thinkingelixir.com (mailto:show@thinkingelixir.com) Discussion Resources - https://github.com/thmsmlr/instructor_ex (https://github.com/thmsmlr/instructor_ex?utm_source=thinkingelixir&utm_medium=shownotes) - https://twitter.com/thmsmlr/status/1736645576324784375 (https://twitter.com/thmsmlr/status/1736645576324784375?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.stitchfix.com/ (https://www.stitchfix.com/?utm_source=thinkingelixir&utm_medium=shownotes) - https://docs.pydantic.dev/latest/ (https://docs.pydantic.dev/latest/?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/boudra/jaxon (https://github.com/boudra/jaxon?utm_source=thinkingelixir&utm_medium=shownotes) - https://github.com/ggerganov/llama.cpp (https://github.com/ggerganov/llama.cpp?utm_source=thinkingelixir&utm_medium=shownotes) - https://fly.io/phoenix-files/using-llama-cpp-with-elixir-and-rustler/ (https://fly.io/phoenix-files/using-llama-cpp-with-elixir-and-rustler/?utm_source=thinkingelixir&utm_medium=shownotes) - https://hadoop.apache.org/ (https://hadoop.apache.org/?utm_source=thinkingelixir&utm_medium=shownotes) - https://pig.apache.org/ (https://pig.apache.org/?utm_source=thinkingelixir&utm_medium=shownotes) - https://www.r-project.org/ (https://www.r-project.org/?utm_source=thinkingelixir&utm_medium=shownotes) - https://fly.io/blog/rethinking-serverless-with-flame/ (https://fly.io/blog/rethinking-serverless-with-flame/?utm_source=thinkingelixir&utm_medium=shownotes) - BNF Grammar enforcement for JSON output - https://www.linkedin.com/company/modal-labs/ (https://www.linkedin.com/company/modal-labs/?utm_source=thinkingelixir&utm_medium=shownotes) - https://airflow.apache.org/ (https://airflow.apache.org/?utm_source=thinkingelixir&utm_medium=shownotes) Guest Information - https://twitter.com/thmsmlr (https://twitter.com/thmsmlr?utm_source=thinkingelixir&utm_medium=shownotes) – on Twitter - https://github.com/thmsmlr/ (https://github.com/thmsmlr/?utm_source=thinkingelixir&utm_medium=shownotes) – on Github - https://thmsmlr.com/ (https://thmsmlr.com/?utm_source=thinkingelixir&utm_medium=shownotes) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Message the show on Fediverse - @ThinkingElixir@genserver.social (https://genserver.social/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - Mark Ericksen on Fediverse - @brainlid@genserver.social (https://genserver.social/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - David Bernheisel on Fediverse - @dbern@genserver.social (https://genserver.social/dbern) - Cade Ward - @cadebward (https://twitter.com/cadebward) - Cade Ward on Fediverse - @cadebward@genserver.social (https://genserver.social/cadebward)
Today on Elixir Wizards, Wojtek Mach of HexPM and Amal Hussein, engineering leader and former NPM team member, join Owen Bickford to compare notes on package management in Elixir vs. JavaScript. This lively conversation covers everything from best practices for dependency management to API design, SemVer (semantic versioning), and the dark ages of web development before package managers existed. The guests debate philosophical differences between the JavaScript and Elixir communities. They highlight the JavaScript ecosystem's maturity and identify potential areas of improvement, contrasted against Elixir's emphasis on minimal dependencies. Both guests encourage engineers to publish packages, even small ones, as a learning opportunity. Topics discussed in this episode: Leveraging community packages rather than reinventing the wheel Vetting packages carefully before adopting them as dependencies Evaluating security, performance, and bundle size when assessing packages Managing transitive dependencies pulled in by packages Why semantic versioning is difficult to consistently enforce Designing APIs with extensibility and backward compatibility in mind Using tools like deprecations to avoid breaking changes in new releases JavaScript's preference for code reuse over minimization The Elixir community's minimal dependencies and avoidance of tech debt Challenges in early package management, such as global dependency Learning from tools like Ruby Gems and Bundler to improve experience How log files provide visibility into dependency management actions How lock files pin dependency versions for consistency Publishing packages democratizes access and provides learning opportunities Linting to enforce standards and prevent certain bugs Primitive-focused packages provide flexibility over highly opinionated ones Suggestions for improving documentation and guides Benefits of collaboration between programming language communities Links mentioned in this episode: Node.js https://github.com/nodejs npm JavaScript Package Manager https://github.com/npm JS Party Podcast https://changelog.com/jsparty Dashbit https://dashbit.co/ HexPM Package Manager for Erlang https://hex.pm/ HTTP Client for Elixir https://github.com/wojtekmach/req Ecto Database-Wrapper for Elixir https://github.com/elixir-ecto (Not an ORM) XState Actor-Based State Management for JavaScript https://xstate.js.org/docs/ Supply Chain Protection for JavaScript, Python, and Go https://socket.dev/ MixAudit https://github.com/mirego/mixaudit NimbleTOTP Library for 2FA https://hexdocs.pm/nimbletotp/NimbleTOTP.html Microsoft Azure https://github.com/Azure Patch Package https://www.npmjs.com/package/patch-package Ruby Bundler to manage Gem dependencies https://github.com/rubygems/bundler npm-shrinkwrap https://docs.npmjs.com/cli/v10/commands/npm-shrinkwrap SemVer Semantic Versioner for NPM https://www.npmjs.com/package/semver Spec-ulation Keynote - Rich Hickey https://www.youtube.com/watch?v=oyLBGkS5ICk Amal's favorite Linter https://eslint.org/ Elixir Mint Functional HTTP Client for Elixir https://github.com/elixir-mint Tailwind Open Source CSS Framework https://tailwindcss.com/ WebauthnComponents https://hex.pm/packages/webauthn_components Special Guests: Amal Hussein and Wojtek Mach.
In the spirit of clearly communicating what you're signing up for, this podcast episode is nearly three hours long, and among other things it contains a discussion of a paper by author Mary Shaw titled Myths & Mythconceptions which takes as an organizing principle a collection of myths that are widely believed by programmers, largely unacknowledged, which shape our views on the nature of programming as an activity and the needs of programmers as people and the sort of work that we do as a sort of work, and where by acknowledging these myths the three of us (Mary Shaw primarily, and by extension Jimmy and I, those three people, that's it, no other people appear on this podcast) are able to more vividly grip the image of programming with our mind's eye (or somesuch) and conceive of a different formulation for programming, and in addition to these myths this paper also incudes a number of excellent lists that I take great pleasure in reading, beyond which I should also note that the paper does a job of explaining itself and that hopefully you'll find I've done a similar job, that's the spirit, please enjoy. Links $ patreon.com/futureofcoding — I've recently changed it so that there's only 1 instance of the INTERCAL tier available, so if you're interested in those perks you'd better hop on it quick before nobody else does! There's also a video, though I haven't watched it. Claude Shannon would have something to say about revealing information. Top 10 Hits of the End of the World is an album by Prince Rama. Listen to it as loudly as you can on Bandcamp, Spotify, or Apple Music. Val Town is the new startup by Future of Coding community founder Steve Krouse Ivan recently took a job at Ink & Switch on the "Ink" research track. Retool MythBusters The Flop House's Final Judgements: Good-Bad, Bad-Bad, Kinda-Like CRDT Data Robust-First Computing is an approach championed by the hero Dave Ackley, and I have a well-informed hunch that you'll be hearing a lot more about it in future episodes. The T2 Tile Project is another Ackley joint that, perhaps, works as a wild example of what Mary Shaw means when she talks about an "execution ecosystem". Devine's talk at Strange Loop: An approach to computing and sustainability inspired from permaculture MUMPS (the medical thing, not to be confused with mumps the medical thing) is used by Epic (the software company, not to be confused with Epic the software company). The Glass Cannon podcast network. Lu's SPLASH talk Cellpond: Spatial Programming without Escape The Turing tarpit Functional Programming with Bananas, Lenses, Envelopes and Barbed Wire by Erik Meijer, Maarten Fokkinga, Ross Paterson. Richard D. James is the same person as Richard P. (Peter) Gabriel, right? Similarly, see Neil Armstrong's work on Erlang (which is popular in telephony, right?). The Witness is not going to appear in our show notes. Jack Rusher. Jack Rusher? Jack Rusher! TrainJam Gary Bernhardt's talk Ideology Nobody remarked on these silly links last time, so this time I'm drawing more attention to them: Tode: Neopets • MySpace Berd: Angelfire • Orkut Bot: Geocities • Friendster https://futureofcoding.org/episodes/069See omnystudio.com/listener for privacy information.
Software Engineering Radio - The Podcast for Professional Software Developers
Sean Moriarity, creator of the Axon deep learning framework, co-creator of the Nx library, and author of Machine Learning in Elixir and Genetic Algorithms in Elixir, published by the Pragmatic Bookshelf, speaks with SE Radio host Gavin Henry about what deep learning (neural networks) means today. Using a practical example with deep learning for fraud detection, they explore what Axon is and why it was created. Moriarity describes why the Beam is ideal for machine learning, and why he dislikes the term “neural network.” They discuss the need for deep learning, its history, how it offers a good fit for many of today's complex problems, where it shines and when not to use it. Moriarity goes into depth on a range of topics, including how to get datasets in shape, supervised and unsupervised learning, feed-forward neural networks, Nx.serving, decision trees, gradient descent, linear regression, logistic regression, support vector machines, and random forests. The episode considers what a model looks like, what training is, labeling, classification, regression tasks, hardware resources needed, EXGBoost, Jax, PyIgnite, and Explorer. Finally, they look at what's involved in the ongoing lifecycle or operational side of Axon once a workflow is put into production, so you can safely back it all up and feed in new data. Brought to you by IEEE Computer Society and IEEE Software magazine. This episode sponsored by Miro.
Laurent Doguin, Director of Developer Relations & Strategy at Couchbase, joins Corey on Screaming in the Cloud to talk about the work that Couchbase is doing in the world of databases and developer relations, as well as the role of AI in their industry and beyond. Together, Corey and Laurent discuss Laurent's many different roles throughout his career including what made him want to come back to a role at Couchbase after stepping away for 5 years. Corey and Laurent dig deep on how Couchbase has grown in recent years and how it's using artificial intelligence to offer an even better experience to the end user.About LaurentLaurent Doguin is Director of Developer Relations & Strategy at Couchbase (NASDAQ: BASE), a cloud database platform company that 30% of the Fortune 100 depend on.Links Referenced: Couchbase: https://couchbase.com XKCD #927: https://xkcd.com/927/ dbdb.io: https://dbdb.io DB-Engines: https://db-engines.com/en/ Twitter: https://twitter.com/ldoguin LinkedIn: https://www.linkedin.com/in/ldoguin/ TranscriptAnnouncer: Hello, and welcome to Screaming in the Cloud with your host, Chief Cloud Economist at The Duckbill Group, Corey Quinn. This weekly show features conversations with people doing interesting work in the world of cloud, thoughtful commentary on the state of the technical world, and ridiculous titles for which Corey refuses to apologize. This is Screaming in the Cloud.Corey: Are you navigating the complex web of API management, microservices, and Kubernetes in your organization? Solo.io is here to be your guide to connectivity in the cloud-native universe!Solo.io, the powerhouse behind Istio, is revolutionizing cloud-native application networking. They brought you Gloo Gateway, the lightweight and ultra-fast gateway built for modern API management, and Gloo Mesh Core, a necessary step to secure, support, and operate your Istio environment.Why struggle with the nuts and bolts of infrastructure when you can focus on what truly matters - your application. Solo.io's got your back with networking for applications, not infrastructure. Embrace zero trust security, GitOps automation, and seamless multi-cloud networking, all with Solo.io.And here's the real game-changer: a common interface for every connection, in every direction, all with one API. It's the future of connectivity, and it's called Gloo by Solo.io.DevOps and Platform Engineers, your journey to a seamless cloud-native experience starts here. Visit solo.io/screaminginthecloud today and level up your networking game.Corey: Welcome to Screaming in the Cloud, I'm Corey Quinn. This promoted guest episode is brought to us by our friends at Couchbase. And before we start talking about Couchbase, I would rather talk about not being at Couchbase. Laurent Doguin is the Director of Developer Relations and Strategy at Couchbase. First, Laurent, thank you for joining me.Laurent: Thanks for having me. It's a pleasure to be here.Corey: So, what I find interesting is that this is your second time at Couchbase, where you were a developer advocate there for a couple of years, then you had five years of, we'll call it wilderness I suppose, and then you return to be the Director of Developer Relations. Which also ties into my personal working thesis of, the best way to get promoted at a lot of companies is to leave and then come back. But what caused you to decide, all right, I'm going to go work somewhere else? And what made you come back?Laurent: So, I've joined Couchbase in 2014. Spent about two or three years as a DA. And during those three years as a developer advocate, I've been advocating SQL database and I—at the time, it was mostly DBAs and ops I was talking to. And DBA and ops are, well, recent, modern ops are writing code, but they were not the people I wanted to talk to you when I was a developer advocate. I came from a background of developer, I've been a platform engineer for an enterprise content management company. I was writing code all day.And when I came to Couchbase, I realized I was mostly talking about Docker and Kubernetes, which is still cool, but not what I wanted to do. I wanted to talk about developers, how they use database to be better app, how they use key-value, and those weird thing like MapReduce. At the time, MapReduce was still, like, a weird thing for a lot of people, and probably still is because now everybody's doing SQL. So, that's what I wanted to talk about. I wanted to… engage with people identify with, really. And so, didn't happen. Left. Built a Platform as a Service company called Clever Cloud. They started about four or five years before I joined. We went from seven people to thirty-one LFs, fully bootstrapped, no VC. That's an interesting way to build a company in this age.Corey: Very hard to do because it takes a lot of upfront investment to build software, but you can sort of subsidize that via services, which is what we've done here in some respects. But yeah, that's a hard road to walk.Laurent: That's the model we had—and especially when your competition is AWS or Azure or GCP, so that was interesting. So entrepreneurship, it's not for everyone. I did my four years there and then I realized, maybe I'm going to do something else. I met my former colleagues of Couchbase at a software conference called Devoxx, in France, and they told me, “Well, there's a new sheriff in town. You should come back and talk to us. It's all about developers, we are repositioning, rehandling the way we do marketing at Couchbase. Why not have a conversation with our new CMO, John Kreisa?”And I said, “Well, I mean, I don't have anything to do. I actually built a brewery during that past year with some friends. That was great, but that's not going to feed me or anything. So yeah, let's have a conversation about work.” And so, I talked to John, I talked to a bunch of other people, and I realized [unintelligible 00:03:51], he actually changed, like, there was a—they were purposely going [against 00:03:55] developer, talking to developer. And that was not the case, necessarily, five, six years before that.So, that's why I came back. The product is still amazing, the people are still amazing. It was interesting to find a lot of people that still work there after, what, five years. And it's a company based in… California, headquartered in California, so you would expect people to, you know, jump around a bit. And I was pleasantly surprised to find the same folks there. So, that was also one of the reasons why I came back.Corey: It's always a strong endorsement when former employees rejoin a company. Because, I don't know about you, but I've always been aware of those companies you work for, you leave. Like, “Aw, I'm never doing that again for love or money,” just because it was such an unpleasant experience. So, it speaks well when you see companies that do have a culture of boomerangs, for lack of a better term.Laurent: That's the one we use internally, and there's a couple. More than a couple.Corey: So, one thing that seems to have been a thread through most of your career has been an emphasis on developer experience. And I don't know if we come at it from the same perspective, but to me, what drives nuts is honestly, with my work in cloud, bad developer experience manifests as the developer in question feeling like they're somehow not very good at their job. Like, they're somehow not understanding how all this stuff is supposed to work, and honestly, it leads to feeling like a giant fraud. And I find that it's pernicious because even when I intellectually know for a fact that I'm not the dumbest person ever to use this tool when I don't understand how something works, the bad developer experience manifests to me as, “You're not good enough.” At least, that's where I come at it from.Laurent: And also, I [unintelligible 00:05:34] to people that build these products because if we build the products, the user might be in the same position that we are right now. And so, we might be responsible for that experience [unintelligible 00:05:43] a developer, and that's not a great feeling. So, I completely agree with you. I've tried to… always on software-focused companies, whether it was Nuxeo, Couchbase, Clever Cloud, and then Couchbase. And I guess one of the good thing about coming back to a developer-focused era is all the product alignments.Like, a lot of people talk about product that [grows 00:06:08] and what it means. To me what it means was, what it meant—what it still means—building a product that developer wants to use, and not just want to, sometimes it's imposed to you, but actually are happy to use, and as you said, don't feel completely stupid about it in front of the product. It goes through different things. We've recently revamped our Couchbase UI, Couchbase Capella UI—Couchbase Capella is a managed cloud product—and so we've added a lot of in-product getting started guidelines, snippets of code, to help developers getting started better and not have that feeling of, “What am I doing? Why is it not working and what's going on?”Corey: That's an interesting decision to make, just because historically, working with a bunch of tools, the folks who are building the documentation working with that tool, tend to generally be experts at it, so they tend to optimize for improving things for the experience of someone has been using it for five years as opposed to the newcomer. So, I find that the longer a product is in existence, in many cases, the worse the new user experience becomes because companies tend to grow and sprawl in different ways, the product does likewise. And if you don't know the history behind it, “Oh, your company, what does it do?” And you look at the website and there's 50 different offerings that you have—like, the AWS landing page—it becomes overwhelming very quickly. So, it's neat to see that emphasis throughout the user interface on the new developer experience.On the other side of it, though, how are the folks who've been using it for a while respond to those changes? Because it's frustrating for me at least, when I log into a new account, which happens periodically within AWS land, and I have this giant series of onboarding pop-ups that I have to click to make go away every single time. How are they responding to it?Laurent: Yeah, it's interesting. One of the first things that struck me when I joined Couchbase the first time was the size of the technical documentation team. Because the whole… well, not the whole point, but part of the reason why they exist is to do that, to make sure that you understand all the differences and that it doesn't feel like the [unintelligible 00:08:18] what the documentation or the product pitch or everything. Like, they really, really, really emphasize on this from the very beginning. So, that was interesting.So, when you get that culture built into the products, well, the good thing is… when people try Couchbase, they usually stick with Couchbase. My main issue as a Director of the Developer Relations is not to make people stick with Couchbase because that works fairly well with the product that we have; it's to make them aware that we exist. That's the biggest issue I have. So, my goal as DevRel is to make sure that people get the trial, get through the trial, get all that in-app context, all that helps, get that first sample going, get that first… I'm not going to say product built because that's even a bit further down the line, but you know, get that sample going. We have a code playground, so when you're in the application, you get to actually execute different pieces of code, different languages. And so, we get those numbers and we're happy to see that people actually try that. And that's a, well, that's a good feeling.Corey: I think that there's a definite lack of awareness almost industry-wide around the fact that as the diversity of your customers increases, you have to have different approaches that meet them at various points along the journey. Because things that I've seen are okay, it's easy to ass—even just assuming a binary of, “Okay, I've done this before a thousand times; this is the thousand and first, I don't need the Hello World tutorial,” versus, “Oh, I have no idea what I'm doing. Give me the Hello World tutorial,” there are other points along that continuum, such as, “Oh, I used to do something like this, but it's been three years. Can you give me a refresher,” and so on. I think that there's a desire to try and fit every new user into a predefined persona and that just doesn't work very well as products become more sophisticated.Laurent: It's interesting, we actually have—we went through that work of defining those personas because there are many. And that was the origin of my departure. I had one person, ops slash DBA slash the person that maintain this thing, and I wanted to talk to all the other people that built the application space in Couchbase. So, we broadly segment things into back-end, full-stack, and mobile because Couchbase is also a mobile database. Well, we haven't talked too much about this, so I can explain you quickly what Couchbase is.It's basically a distributed JSON database with an integrated caching layer, so it's reasonably fast. So it does cache, and when the key-value is JSON, then you can create with SQL, you can do full-text search, you can do analytics, you can run user-defined function, you get triggers, you get all that actual SQL going on, it's transactional, you get joins, ANSI joins, you get all those… windowing function. It's modern SQL on the JSON database. So, it's a general-purpose database, and it's a general-purpose database that syncs.I think that's the important part of Couchbase. We are very good at syncing cluster of databases together. So, great for multi-cloud, hybrid cloud, on-prem, whatever suits you. And we also sync on the device, there's a thing called Couchbase Mobile, which is a local database that runs in your phone, and it will sync automatically to the server. So, a general-purpose database that syncs and that's quite modern.We try to fit as much way of growing data as possible in our database. It's kind of a several-in-one database. We call that a data platform. It took me a while to warm up to the word platform because I used to work for an enterprise content management platform and then I've been working for a Platform as a Service and then a data platform. So, it took me a bit of time to warm up to that term, but it explained fairly well, the fact that it's a several-in-one product and we empower people to do the trade-offs that they want.Not everybody needs… SQL. Some people just need key-value, some people need search, some people need to do SQL and search in the same query, which we also want people to do. So, it's about choices, it's about empowering people. And that's why the word platform—which can feel intimidating because it can seem complex, you know, [for 00:12:34] a lot of choices. And choices is maybe the enemy of a good developer experience.And, you know, we can try to talk—we can talk for hours about this. The more services you offer, the more complicated it becomes. What's the sweet spots? We did—our own trade-off was to have good documentation and good in-app help to fix that complexity problem. That's the trade-off that we did.Corey: Well, we should probably divert here just to make sure that we cover the basic groundwork for those who might not be aware: what exactly is Couchbase? I know that it's a database, which honestly, anything is a database if you hold it incorrectly enough; that's my entire shtick. But what is it exactly? Where does it start? Where does it stop?Laurent: Oh, where does it start? That's an interesting question. It's a… a merge—some people would say a fork—of Apache CouchDB, and membase. Membase was a distributed key-value store and CouchDB was this weird Erlang and C JSON REST API database that was built by Damian Katz from Lotus Notes, and that was in 2006 or seven. That was before Node.js.Let's not care about the exact date. The point is, a JSON and REST API-enabled database before Node.js was, like, a strong [laugh] power move. And so, those two merged and created the first version of Couchbase. And then we've added all those things that people want to do, so SQL, full-text search, analytics, user-defined function, mobile sync, you know, all those things. So basically, a general-purpose database.Corey: For what things is it not a great fit? This is always my favorite question to ask database folks because the zealot is going to say, “It's good for every use case under the sun. Use it for everything, start to finish”—Laurent: Yes.Corey: —and very few databases can actually check that box.Laurent: It's a very interesting question because when I pitch like, “We do all the things,” because we are a platform, people say, “Well, you must be doing lots of trade-offs. Where is the trade-off?” The trade-off is basically the way you store something is going to determine the efficiency of your [growing 00:14:45]—or the way you [grow 00:14:47] it. And that's one of the first thing you learn in computer science. You learn about data structure and you know that it's easier to get something in a hashmap when you have the key than passing your whole list of elements and checking your data, is it right one? It's the same for databases.So, our different services are different ways to store the data and to query it. So, where is it not good, it's where we don't have an index or a service that answer to the way you want to query data. We don't have a graph service right now. You can still do recursive common table expression for the SQL nerds out there, that will allow you to do somewhat of a graph way of querying your data, but that's not, like, actual—that's not a great experience for people were expecting a graph, like a Neo4j or whatever was a graph database experience.So, that's the trade-off that we made. We have a lot of things at the same place and it can be a little hard, intimidating to operate, and the developer experience can be a little, “Oh, my God, what is this thing that can do all of those features?” At the same time, that's just, like, one SDK to learn for all of the features we've just talked about. So, that's what we did. That's a trade-off that we did.It sucks to operate—well, [unintelligible 00:16:05] Couchbase Capella, which is a lot like a vendor-ish thing to say, but that's the value props of our managed cloud. It's hard to operate, we'll operate this for you. We have a Kubernetes operator. If you are one of the few people that wants to do Kubernetes at home, that's also something you can do. So yeah, I guess what we cannot do is the thing that Route 53 and [Unbound 00:16:26] and [unintelligible 00:16:27] DNS do, which is this weird DNS database thing that you like so much.Corey: One thing that's, I guess, is a sign of the times, but I have to confess that I'm relatively skeptical around, when I pull up couchbase.com—as one does; you're publicly traded; I don't feel that your company has much of a choice in this—but the first thing it greets me with is Couchbase Capella—which, yes, that is your hosted flagship product; that should be the first thing I see on the website—then it says, “Announcing Capella iQ, AI-powered coding assistance for developers.” Which oh, great, not another one of these.So, all right, give me the pitch. What is the story around, “Ooh, everything that has been a problem before, AI is going to make it way better.” Because I've already talked to you about developer experience. I know where you stand on these things. I have a suspicion you would not be here to endorse something you don't believe in. How does the AI magic work in this context?Laurent: So, that's the thing, like, who's going to be the one that get their products out before the other? And so, we're announcing it on the website. It's available on the private preview only right now. I've tried it. It works.How does it works? The way most chatbot AI code generation work is there's a big model, large language model that people use and that people fine-tune into in order to specialize it to the tasks that they want to do. The way we've built Couchbase iQ is we picked a very famous large language model, and when you ask a question to a bot, there's a context, there's a… the size of the window basically, that allows you to fit as much contextual information as possible. The way it works and the reason why it's integrated into Couchbase Capella is we make sure that we preload that context as much as possible and fine-tune that model, that [foundation 00:18:19] model, as much as possible to do whatever you want to do with Couchbase, which usually falls into several—a couple of categories, really—well maybe three—you want to write SQL, you want to generate data—actually, that's four—you want to generate data, you want to generate code, and if you paste some SQL code or some application code, you want to ask that model, what does do? It's especially true for SQL queries.And one of the questions that many people ask and are scared of with chatbot is how does it work in terms of learning? If you give a chatbot to someone that's very new to something, and they're just going to basically use a chatbot like Stack Overflow and not really think about what they're doing, well it's not [great 00:19:03] right, but because that's the example that people think most developer will do is generate code. Writing code is, like, a small part of our job. Like, a substantial part of our job is understanding what the code does.Corey: We spend a lot more time reading code than writing it, if we're, you know—Laurent: Yes.Corey: Not completely foolish.Laurent: Absolutely. And sometimes reading big SQL query can be a bit daunting, especially if you're new to that. And one of the good things that you get—Corey: Oh, even if you're not, it can still be quite daunting, let me assure you.Laurent: [laugh]. I think it's an acquired taste, let's be honest. Some people like to write assembly code and some people like to write SQL. I'm sort of in the middle right now. You pass your SQL query, and it's going to tell you more or less what it does, and that's a very nice superpower of AI. I think that's [unintelligible 00:19:48] that's the one that interests me the most right now is using AI to understand and to work better with existing pieces of code.Because a lot of people think that the cost of software is writing the software. It's maintaining the codebase you've written. That's the cost of the software. That's our job as developers should be to write legacy code because it means you've provided value long enough. And so, if in a company that works pretty well and there's a lot of legacy code and there's a lot of new people coming in and they'll have to learn all those things, and to be honest, sometimes we don't document stuff as much as we should—Corey: “The code is self-documenting,” is one of the biggest lies I hear in tech.Laurent: Yes, of course, which is why people are asking retired people to go back to COBOL again because nobody can read it and it's not documented. Actually, if someone's looking for a company to build, I guess, explaining COBOL code with AI would be a pretty good fit to do in many places.Corey: Yeah, it feels like that's one of those things that would be of benefit to the larger world. The counterpoint to that is you got that many business processes wrapped around something running COBOL—and I assure you, if you don't, you would have migrated off of COBOL long before now—it's making sure that okay well, computers, when they're in the form of AI, are very, very good at being confident-sounding when they talk about things, but they can also do that when they're completely wrong. It's basically a BS generator. And that is a scary thing when you're taking a look at something that broad. I mean, I'll use the AI coding assistance for things all the time, but those things look a lot more like, “Okay, I haven't written CloudFormation from scratch in a while. Build out the template, just because I forget the exact sequence.” And it's mostly right on things like that. But then you start getting into some of the real nuanced areas like race conditions and the rest, and often it can make things worse instead of better. That's the scary part, for me, at least.Laurent: Most coding assistants are… and actually, each time you ask its opinion to an AI, they say, “Well, you should take this with a grain of salt and we are not a hundred percent sure that this is the case.” And this is, make sure you proofread that, which again, from a learning perspective, can be a bit hard to give to new students. Like, you're giving something to someone and might—that assumes is probably as right as Wikipedia but actually, it's not. And it's part of why it works so well. Like, the anthropomorphism that you get with chatbots, like, this, it feels so human. That's why it get people so excited about it because if you think about it, it's not that new. It's just the moment it took off was the moment it looked like an assertive human being.Corey: As you take a look through, I guess, the larger ecosystem now, as well as the database space, given that is where you specialize, what do you think people are getting right and what do you think people are getting wrong?Laurent: There's a couple of ways of seeing this. Right now, when I look at from the outside, every databases is going back to SQL, I think there's a good reason for that. And it's interesting to put into perspective with AI because when you generate something, there's probably less chance to generate something wrong with SQL than generating something with code directly. And I think five generation—was it four or five generation language—there some language generation, so basically, the first innovation is assembly [into 00:23:03] in one and then you get more evolved languages, and at some point you get SQL. And SQL is a way to very shortly express a whole lot of business logic.And I think what people are doing right now is going back to SQL. And it's been impressive to me how even new developers that were all about [ORMs 00:23:25] and [no-DMs 00:23:26], and you know, avoiding writing SQL as much as possible, are actually back to it. And that's, for an old guy like me—well I mean, not that old—it feels good. I think SQL is coming back with a vengeance and that makes me very happy. I think what people don't realize is that it also involves doing data modeling, right, and stuff because database like Couchbase that are schemaless exist. You should store your data without thinking about it, you should still do data modeling. It's important. So, I think that's the interesting bits. What are people doing wrong in that space? I'm… I don't want to say bad thing about other databases, so I cannot even process that thought right now.Corey: That's okay. I'm thrilled to say negative things about any database under the sun. They all haunt me. I mean, someone wants to describe SQL to me is the chess of the programming world and I feel like that's very accurate. I have found that it is far easier in working with databases to make mistakes that don't wash off after a new deployment than it is in most other realms of technology. And when you're lucky and have a particular aura, you tend to avoid that stuff, at least that was always my approach.Laurent: I think if I had something to say, so just like the XKCD about standards: like, “there's 14 standards. I'm going to do one that's going to unify them all.” And it's the same with database. There's a lot… a [laugh] lot of databases. Have you ever been on a website called dbdb.io?Corey: Which one is it? I'm sorry.Laurent: Dbdb.io is the database of databases, and it's very [laugh] interesting website for database nerds. And so, if you're into database, dbdb.io. And you will find Couchbase and you will find a whole bunch of other databases, and you'll get to know which database is derived from which other database, you get the history, you get all those things. It's actually pretty interesting.Corey: I'm familiar with DB-Engines, which is sort of like the ranking databases by popularity, and companies will bend over backwards to wind up hitting all of the various things that they want in that space. The counterpoint with all of it is that it's… it feels historically like there haven't exactly been an awful lot of, shall we say, huge innovations in databases for the past few years. I mean, sure, we hear about vectors all the time now because of the joy that's AI, but smarter people than I are talking about how, well that's more of a feature than it is a core database. And the continual battle that we all hear about constantly is—and deal with ourselves—of should we use a general-purpose database, or a task-specific database for this thing that I'm doing remains largely unsolved.Laurent: Yeah, what's new? And when you look at it, it's like, we are going back to our roots and bringing SQL again. So, is there anything new? I guess most of the new stuff, all the interesting stuff in the 2010s—well, basically with the cloud—were all about the distribution side of things and were all about distributed consensus, Zookeeper, etcd, all that stuff. Couchbase is using an RAFT-like algorithm to keep every node happy and under the same cluster.I think that's one of the most interesting things we've had for the past… well, not for the past ten years, but between, basically, 20 or… between the start of AWS and well, let's say seven years ago. I think the end of the distribution game was brought to us by the people that have atomic clock in every data center because that's what you use to synchronize things. So, that was interesting things. And then suddenly, there wasn't that much innovation in the distributed world, maybe because Aphyr disappeared from Twitter. That might be one of the reason. He's not here to scare people enough to be better at that.Aphyr was the person behind the test called the Jepsen Test [shoot 00:27:12]. I think his blog engine was called Call Me Maybe, and he was going through every distributed system and trying to break them. And that was super interesting. And it feels like we're not talking that much about this anymore. It really feels like database have gone back to the status of infrastructure.In 2010, it was not about infrastructure. It was about developer empowerment. It was about serving JSON and developer experience and making sure that you can code faster without some constraint in a distributed world. And like, we fixed this for the most part. And the way we fixed this—and as you said, lack of innovation, maybe—has brought databases back to an infrastructure layer.Again, it wasn't the case 15 years a—well, 2023—13 years ago. And that's interesting. When you look at the new generation of databases, sometimes it's just a gateway on top of a well-known database and they call that a database, but it provides higher-level services, provides higher-level bricks, better developer experience to developer to build stuff faster. We've been trying to do this with Couchbase App Service and our sync gateway, which is basically a gateway on top of a Couchbase cluster that allow you to manage authentication, authorization, that allows you to manage synchronization with your mobile device or with websites. And yeah, I think that's the most interesting thing to me in this industry is how it's been relegated back to infrastructure, and all the cool stuff, new stuff happens on the layer above that.Corey: I really want to thank you for taking the time to speak with me. If people want to learn more, where's the best place for them to find you?Laurent: Thanks for having me and for entertaining this conversation. I can be found anywhere on the internet with these six letters: L-D-O-G-U-I-N. That's actually 7 letters. Ldoguin. That's my handle on pretty much any social network. Ldoguin. So X, [BlueSky 00:29:21], LinkedIn. I don't know where to be anymore.Corey: I hear you. We'll put links to all of it in the [show notes 00:29:27] and let people figure out where they want to go on that. Thank you so much for taking the time to speak with me today. I really do appreciate it.Laurent: Thanks for having me.Corey: Laurent Doguin, Director of Developer Relations and Strategy at Couchbase. I'm Cloud Economist Corey Quinn and this episode has been brought to us by our friends at Couchbase. If you enjoyed this episode, please leave a five-star review on your podcast platform of choice, whereas if you've hated this podcast, please leave a five-star review on your podcast platform of choice, along with an angry comment that you're not going to be able to submit properly because that platform of choice did not pay enough attention to the experience of typing in a comment.Corey: If your AWS bill keeps rising and your blood pressure is doing the same, then you need The Duckbill Group. We help companies fix their AWS bill by making it smaller and less horrifying. The Duckbill Group works for you, not AWS. We tailor recommendations to your business and we get to the point. Visit duckbillgroup.com to get started.