Elixir Wizards cover image

Elixir Wizards

Latest episodes

undefined
Aug 27, 2020 • 1h 17min

ElixirConf 2020 Preview

With ElixirConf 2020 just around the corner, today’s episode is a sneak peek where we talk with six of this year’s speakers. Each speaker gives listeners an elevator pitch of their talk while throwing in extra details about who their talk is aimed at, what they learned through the process, and which talks they’re excited about attending. Our first guest is Quinn Wilton, a developer at Tinfoil Security, whose talk is titled ‘Type-Safe LiveView with Gleam’. Quinn explains how she’s created a symbiosis between Elixir and Gleam that helps her create more consistent code while offsetting the disadvantages of dynamic typing. We then chat with Dan Lindeman whose talk, ‘Short Circuit IoT Development Time with Nerves,’ is an overview of building custom hardware using Nerves and Elixir. After Dan’s plug on how you can start programming Nerves on your laptop, we welcome Jeffrey Utter to the show. His talk is a deep dive into ‘Debugging Live Systems on the Beam.’ Teasing out the topic, we discuss inefficiencies in the debugging process and how many developers adopt a ‘whack-a-mole’ approach to dealing with bugs. From debugging to UintSet, Luciano Ramalho, our next speaker, gives us a taste of his presentation, ‘UIntSet: enumerable, streamable, understandable.’ Luciano shares how the Go language inspired him to experiment with leveraging protocols and streams to build new idiomatic Elixir data structures from scratch. He also touches on the importance of being humble when learning new languages and gearing Elixir to a non-engineer user base. After Luciano, we’re joined by Melvin Cedeno, a fellow Elixir Wizard from the SmartLogic family. Melvin brings his teaching experience to bear on the topic of ‘Teaching Functional Programming with Elixir.’ This is a key talk in growing our community, especially when considering the point that being an Elixir genius doesn’t necessarily mean that you’re well-suited to teach it. Last but certainly not least, we speak with Japa Swadia from Podium about her talk, ‘Domain-Driven Design with Elixir’ — a subject that’s been a huge focus on the podcast. We chat about what domain-driven design means and why it’s an important foundational concept for beginners to learn. Tune in for this tip-of-the-iceberg preview. It’s just a glimpse into the varied and wonderfully informative talks you can expect at ElixirConf 2020. Key Points From This Episode: Introducing Quinn Wilton who is using Gleam to interact with Elixir. How being acquired by Synopsys has given Tinfoil Security access to greater resources. Balancing the advantages of Elixir with its drawbacks when it comes to dynamic analysis. What Gleam is and how it makes static typing more approachable. Teasing Quinn’s ElixirConf talk — ‘Talk Type-Safe LiveView with Gleam’ What Quinn has learned from the process of creating his presentation. Building a dissembler and the talk that Quinn is most looking forward to attending. Dan Lindeman’s work at Very making solar micro-grids. The benefits of Elixir and Nerves when building custom hardware. Who Dan’s talk is aimed at and why it’s appropriate for any experience level. Working with smart minds and laboring through hardware docs that often lie. How scary it can be to work with hardware and the value of having your talk appeal to entry-level Elixir users. Jeffrey Utter unpacks his talk — ‘Debugging Live Systems on the Beam.’ How most people play ‘whack-a-mole’ when dealing with live system bugs. Using match specs to hone in on your debugging process. Why most Elixir coders should learn about Jeffrey’s debugging system. Why is Recon Library is such an excellent tool and its potential uses in distributed systems. Hear which talks Jeffrey is looking forward to attending. How Go inspired Luciano Ramalho to explore applying different data structures to Elixir. What skill-level Luciano’s talk is aimed at and why. Developing a sense of how Elixir is idiomatic, despite being such a new language. Being humble when learning new languages and the importance of protocols in understanding idiomatic data structures. How Elixir is geared towards engineers which can create barriers of entry. Mark Cedeno gives an elevator pitch for his talk — ‘Teaching Functional Programming with Elixir.’ Why knowing Elixir very well doesn’t mean that you can teach it. The benefits of remote learning; it can make your teaching more organized and to-the-point. Hear about the talks that Mark is excited about attending. Japa gives us a crash-course on domain-driven design. Creating a solid foundation for your app by considering the contexts in which it’s used. Why beginners or those wanting to switch to domain-orientated coding should attend Japa’s talk. Using schema to point to the same table in different contexts. Which talks Japa is attending and how she got selected for ElixirConf 2020. Links Mentioned in Today’s Episode: Elixir Wizards Listener Survey — https://smr.tl/podcastsurvey SmartLogic — https://smartlogic.io/ ElixirConf 2020 — https://2020.elixirconf.com/ Quinn Wilton — https://github.com/QuinnWilton/gleam-chip8 Quinn Wilton Twitter — https://twitter.com/wilton_quinn ‘Type-Safe LiveView with Gleam’ — https://2020.elixirconf.com/speakers/128/talk Tinfoil Security — https://www.tinfoilsecurity.com/ Synopsys — https://www.synopsys.com/ Gleam — https://gleam.run/ Louis Pilfold GitHub — https://github.com/lpil Phoenix LiveView — https://github.com/phoenixframework/phoenix_live_view CHIP-8 — https://en.wikipedia.org/wiki/CHIP-8 Stephen Bussey — https://github.com/sb8244 ‘The Joy of an Elixir Monolith’ — https://2020.elixirconf.com/speakers/121/talk Code BEAM / Code Sync — https://codesync.global/ Dan Lindeman — https://github.com/DanLindeman Dan Lindeman Twitter — https://twitter.com/lindemda ‘Short Circuit IoT Development Time with Nerves’ — https://2020.elixirconf.com/speakers/117/talk Nerves Platform — https://www.nerves-project.org/ Very — https://www.verypossible.com/ Justin Schneck — https://www.linkedin.com/in/justinschneck/ Daniel Stoppard — https://www.linkedin.com/in/daniel-spofford-2307a655/ Jenn Gamble — https://2020.elixirconf.com/speakers/115/bio Juliana Helena — https://2020.elixirconf.com/speakers/129/bio ‘How Elixir made me a better Java programmer’ — https://2020.elixirconf.com/speakers/129/talk Nerves Hub — https://www.nerves-hub.org/ Jeffrey Utter — https://github.com/jeffutter Bleacher Report — https://bleacherreport.com/ ‘Debugging Live Systems on the Beam’ — https://2020.elixirconf.com/speakers/114/talk Datadog — https://www.datadoghq.com/ Erlang Sys Trace 2 — https://erlang.org/doc/man/sys.html#trace-2 Recon Library — https://ferd.github.io/recon/ Erlang Debugger — http://erlang.org/doc/apps/debugger/debugger_chapter.html Catalina Astengo — https://github.com/castengo gRPC + Elixir Microservices = A Love Story? — https://2020.elixirconf.com/speakers/116/talk KC Elixir — https://www.kcelixir.com/ Luciano Ramalho — https://github.com/ramalho/ Luciano Ramalho Twitter — https://twitter.com/ramalhoorg ‘UintSet: enumerable, streamable, understandable’ — https://2020.elixirconf.com/speakers/125/talk ThoughtWorks — https://www.thoughtworks.com/ Go — https://golang.org/ The Go Programming Language — https://www.gopl.io/ Brian W. Kernighan — https://www.cs.princeton.edu/people/profile/bwk Fluent Python — https://www.oreilly.com/library/view/fluent-python/9781491946237/ Simon de Haan — https://github.com/smn ‘Using Elixir and WhatsApp to launch WHO’s global COVID-19 response’ — https://2020.elixirconf.com/speakers/124/talk Yutaka Kikuchi — https://github.com/kikuyuta ‘Applying Elixir for driving small hydropower plants with Nerves’ — https://2020.elixirconf.com/speakers/123/talk Processing — https://processing.org/ Melvin Cedeno — https://github.com/thecraftedgem ‘Teaching Functional Programming With Elixir’ — https://2020.elixirconf.com/speakers/99/talk Turing — https://turing.io/ Nicholas Henry — https://github.com/nicholasjhenry ‘The Upside Dimension of Elixir - An Introduction to Metaprogramming’ — https://2020.elixirconf.com/speakers/120/talk Brian Marick — https://github.com/marick/ ‘Tricks and tools for writing Elixir tests’ — https://2020.elixirconf.com/speakers/109/talk German Velasco — http://www.germanvelasco.com/ ‘Testing LiveView’ — https://2020.elixirconf.com/speakers/119/talk Lonestar Elixir — https://lonestarelixir.com/ Japa Swadia — https://github.com/japa-swadia Podium — https://www.podium.com ‘Domain-Driven Design with Elixir’ — https://2020.elixirconf.com/speakers/105/talk Design Patterns — https://en.wikipedia.org/wiki/Design_Patterns Justus Eapen Social Handle — @JustusEapen Eric Oestrich Social Handle — @EricOestrich Sundi Myint Social Handle — @SundiKhinSpecial Guests: Dan Lindeman, Japa Swadia, Jeffrey Utter, Luciano Ramalho, Melvin Cedeno, and Quinn Wilton.
undefined
Aug 20, 2020 • 59min

Mark Windholtz on Domain-Driven Design (DDD)

Domain-driven design and extreme programming can help bridge the gap between development and business, and today we invite Mark Windholtz from Agile DNA to talk about how! Mark starts out by telling us about his early work in extreme programming before agile was a term and how he switched from Rails to Elixir after realizing its power for implementing domain-driven design. We take a deep dive with him into what these concepts mean, hearing him weigh in on how DDD can help architecture accommodate both development and business oriented complexities. For Mark, development and business teams must get a better understanding of each other’s jargon, and DDD is a way to accomplish this. The goal is to find a way of building a solid software core and to move away from features to systems thinking, whereby flexible software can make it more possible to do agile on the business side. We chat about some of the practices and principles that come into play when implementing DDD for Mark, and he details concepts like ubiquitous language, bounded contexts, and how to focus on the core domain by exploring models using tactical and strategic patterns. Along with this, Mark discusses users not being a domain concept, the challenges of getting new terms to stick in teams’ minds, and the task of refactoring code to reflect updated glossaries. Near the end of our conversation, Mark drills down on how DDD can optimize team efficiency. In closing, we get to know Chris Bell from ElixirTalk a little better in this week’s edition of Pattern Matching with Todd! Key Points From This Episode: Thoughts on SpaceEx and their approach to engineering: system versus feature optimization. Mark’s background in extreme programming, how he got started with AgileDNA, and the work they do there. A definition of extreme programming that adds engineering practices to Scrum. Elixir’s superior ability to do DDD compared to Rails and how Mark got started using it. A brief introduction to domain-driven design, an approach to simplifying complex software. How architecture needs to accommodate essential as well as accidental complexity. Elixir’s ability to accommodate the building of domain models with well-separated code chunks. Principles of ubiquitous language and bounded contexts that make up DDD for Mark. Ubiquitous language helps devs and businesspeople understand each other. Bounded contexts: ‘Within this space, this world means this thing.’ Shifting focus from trying to make not all software, but core software, good. What patterns are applied to use principles of ubiquitous language and bounded contexts. Finding and focusing on the core domain by exploring models and how to do this using tactical and strategic patterns. The consequences of users not being a domain concept which demands having a clearer language. Challenges of getting language and concepts to stick in business people’s minds. Refactoring code to reflect updated glossaries: Technical challenges teams doing DDD face. Switching paradigms from feature-based optimizations to building an amazing code core. Approaches to modeling: the value of exploring multiple models. How teams can become more efficient using DDD and extreme programming. Final plugs from Mark and how Agile DNA can help use Elixir to implement DDD. Pattern matching: Todd gets to know more about Chris Bell from ElixirTalk. How Chris got into programming, what he’d do if not be a programmer, and more! Why Chris loves history, dream pop, and what movie he’ll watch over and over. What project Chris is most excited about next: Building Settlers of Catan using LiveView. Links Mentioned in Today’s Episode: Elixir Wizards Listener Survey — https://smr.tl/podcastsurvey SmartLogic — https://smartlogic.io/ Mark Windholtz on LinkedIn — https://www.linkedin.com/in/mwindholtz/ Mark Windholtz on Twitter — https://twitter.com/windholtz Agile DNA — http://www.agiledna.com Chris Bell on Twitter — https://twitter.com/cjbell_?lang=en ElixirTalk — http://elixirtalk.com/ Chris Keathley — https://keathley.io/ Elon Musk — https://www.forbes.com/profile/elon-musk/#5bbe73cc7999 The Everyday Astronaut — https://www.youtube.com/channel/UC6uKrU_WqJ1R2HMTY3LIx5Q Rob Martin — https://www.linkedin.com/in/version2beta/ Perhap — https://github.com/Perhap/perhap Andrew Hao — https://github.com/andrewhao Fred Brooks — http://www.cs.unc.edu/~brooks/ The Mythical Man-Month — https://www.amazon.com/Mythical-Man-Month-Software-Engineering-Anniversary/dp/0201835959 Zach Thomas — https://github.com/zdcthomas?language=elixir&tab=stars 1917 — https://www.imdb.com/title/tt8579674/ Real Estate — https://www.realestatetheband.com/ Galaxie 500 — https://pitchfork.com/artists/1673-galaxie-500/ Star Trek: First Contact — https://www.imdb.com/title/tt0117731/ Star Trek: The Wrath of Khan — https://www.imdb.com/title/tt0084726/ LiveView — https://hexdocs.pm/phoenix_live_view/Phoenix.LiveView.html Lonestar Elixir — https://lonestarelixir.com/Special Guest: Mark Windholtz.
undefined
Aug 13, 2020 • 43min

Elixir Wizards Dojo: Nerves Part 2 with Connor Rigby and Todd Resudek

Welcome to the second part of our special Elixir Wizards Dojo. A mashup made in partnership with ElixirConf Japan. In today’s episode, we talk to Nerves core team members Todd Resudek and Connor Rigby about all things Nerves. But first, Todd leads us into a delightful digression about his enjoyment of heavy metal music. From metal back to Nerves, Todd chats about how he uses Nerves to monitor his internet connection and to automatically restart his router when certain conditions are met. After talking about using Flutter and Dart to build GUIs, we ask Todd to share another of his Nerves projects; the future of sprinklers — the Drizzle 2000! We then explore Connor’s self-defined role in the Nerves team as the development head of networking libraries before discussing how easy it is to use Nerves if you are an Elixir user. Todd and Connor dive into their utopian visions for the future of Nerves and why no other IoT solutions can compete with the tooling that Nerves provides. We talk about FarmBot and the many features that its models have, including how they can pulverize weeds. This springboards the conversion into the increasing importance of IoT tech in the agriculture sector and how it’s likely to be the next billion-dollar industry. We round off the episode by giving our guests the space to plug themselves and they close with a request for listeners to Iron Maiden and Metallica’s first albums. A perfect compliment to the first installment of the Elixir Wizards Dojo, tune in to learn more about the Nerves Project. Key Points From This Episode: Introducing our guests and this episode’s connection to ElixirConf Japan. Connor and Todd lead a chat on the history and subgenres of heavy metal music. Todd talks about using Nerves to monitor his internet connection and restart his router. Building a user interface for Nerves’s projects using Flutter; Google’s UI toolkit. Best practices for developing apps with a specific focus on GUI apps. Hear about the Drizzle 2000! Todd’s sprinkler controller system that runs on Nerves. Todd and Connor’s respective roles as a part of the Nerves core team. The benefit of using Nerves; once it’s booted it’s a regular Elixir app. What a kiosk terminal is and how you would go about internationalizing one. Exploring the future of Nerves and hardware development. Comparing Nerves to other IoT solutions; in conclusion, nothing can compete. Different FarmBot system models that all use Nerves to grow food for you. Using Nerves to encode and record video or to create a live stream. Why integrating IoT into the agricultural sector will be the next billion-dollar industry. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ ElixirConf — https://elixirconf.com/2020 Connor Rigby GitHub — https://github.com/ConnorRigby Todd Resudek Twitter — https://twitter.com/sprsmpl Todd Resudek GitHub — https://github.com/supersimple Simplebet — https://simplebet.io/ Flutter — https://flutter.dev/ Binary Noggin — https://binarynoggin.com/ Nerves Project — https://www.nerves-project.org/ Nerves Project GitHub — https://github.com/nerves-project/nerves_pack#erlang-distribution Nerves Vintage Net GitHub — https://github.com/nerves-networking/vintage_net Nerves Web Kiosk GitHub — https://github.com/nerves-web-kiosk/kiosk_system_rpi3 Rhapsody of Fire — https://www.rhapsodyoffire.com/ Ronnie James Dio — https://www.ronniejamesdio.com/ DragonForce — https://dragonforce.com/ Black Sabbath — https://www.blacksabbath.com/ Deep Purple — https://deeppurple.com/ Iron Maiden — https://ironmaiden.com Judas Priest — http://www.judaspriest.com/home/ Sam Dunn — https://www.imdb.com/name/nm0242757/ Ryan Holiday — https://ryanholiday.net/ Arjen Lucassen — https://www.arjenlucassen.com Metallica — https://www.metallica.com/ San Francisco Symphony — https://www.sfsymphony.org/ Fping — https://fping.org/ Dart — https://dart.dev/ React Native — https://reactnative.dev/ Scenic — https://kry10.com/ Phoenix Framework — https://www.phoenixframework.org/ Drizzler 2000 GitHub — https://github.com/supersimple/drizzle Ditch Witch — https://www.ditchwitch.com/ Jon Carstens — https://twitter.com/joncarstens?lang=en Le Tote — https://letote.com/ Electron — https://www.electronjs.org/ Matthew Ludwigs — https://www.linkedin.com/in/mattludwigs/ SmartRent — https://smartrent.com/ Sophie Debenedetto — http://sophiedebenedetto.nyc/ FarmBot — https://farm.bot/ Membrane Framework — https://www.membraneframework.org/ Greg Mefford — https://www.linkedin.com/in/ferggo/ Omni-eye GitHub — https://github.com/GregMefford/omni_eye Bowery Farming — https://boweryfarming.com/ John Deere — https://www.deere.com Show Notes - Japanese Elixir Wizards Dojo 第2部 Connor Rigby と Todd Resudek Episode S4E13b: 概要 Elixir Wizards Dojo スペシャル番組の第二部にようこそ。ElixirConf JPとのパートナーシップによるマッシュアップです。今日のエピソードでは、NervesコアチームのメンバーであるTodd Resudek と Connor Rigby とNervesの全てについて話します。でも最初に、Toddは私たちをヘビーメタル音楽の彼の楽しみについての楽しい余談に導きます。メタルからNervesに戻って、ToddはNervesをインターネット接続のモニタリングと、特定の条件が満たされた時にルーターの自動で再起動する方法について話します。FlutterとDartを使ってGUIを構築する方法について話したあと、Toddに彼の作ったもう一つのNervesプロジェクト、スプリンクラーの未来,Drizzle 2000!についてシェアしてもらいます。そしてConnorがNervesチームにおける自ら定義した役割である、ネットワーキングライブラリの開発について探求し、もしElixirユーザーである場合にNervesを使うことがいかに簡単かについて議論します。ToddとConnorはNervesの未来の理想郷についての話題と、Nervesが提供するツールに敵うIoTソリューションが他に存在しない理由について飛び込みます。ファームボットについて話をして、雑草をやっつける機能を含む、ファームボットのモデルが持つたくさんの機能について話します。これは、農業分野でのIoT技術の重要性の高まりへの転換と、どのように次の10億ドル規模の産業になる可能性が高まってくるかについてを示しています。エピソードの締めくくりは、ゲストに自分自身とつながる方法について紹介してもらいながら、アイアンメイデン(Iron Maiden)とメタリカ(Metallica)のファーストアルバムをリスナーに紹介します。Elixir Wizards Dojoの初回への謝辞から、Nervesプロジェクトの詳細を学んでください。 このエピソードのみどころ ゲストの紹介と、このエピソードとElixirConf JPとのコネクションについて Connor と Todd によるヘビーメタル音楽の歴史とサブジャンルへの案内 ToddのNervesを使ったインターネット接続のモニタリングとルーターの再起動の Fultter というGoogleのUIツールキットを使ったNervesプロジェクトのユーザインタフェース構築 GUIアプリに焦点を当てたときのアプリ開発のベストプラクティス Drizzle 2000について聴ける! Nervesで動くToddのスプリンクラーコントローラシステム ToddとConnorのNervesコアチームにおけるそれぞれの役割 Nervesを使う利点: 一度起動すると通常のElixirアプリになる キオスク端末とは何か,どのようにキオスク端末を国際化するか Nervesとハードウェア開発の将来の探求 Nervesと他のIoTソリューションの比較: 結論としては,Nervesに敵うものはない ファームボットシステムのモデルの違いについて: 全てにNervesが使われていて、食糧を育てる Nervesを使ってビデオをエンコードしたり録画したり,ライブストリーミングしたりする方法 IoTを農業分野に統合することが次の10億ドル産業になる理由Special Guests: Connor Rigby and Todd Resudek.
undefined
Aug 11, 2020 • 54min

Elixir Wizards Dojo: Nerves Part 1 with Frank Hunleth and Justin Schneck

Welcome to the first part of our extra special Elixir Wizards Dojo. A mashup made in partnership with ElixirConf Japan, in today’s episode, we pose questions asked by the Japanese Nerves community to Nerves core team members, Frank Hunleth and Justin Schneck. After introducing our guests, we talk about which companies make use of Nerve and explore its use cases by looking at FarmBot, an open source robotic farming tool. Justin and Frank take turns explaining the differences between soft and hard real-time — a springboard to show how Nerve excels within its ‘middle-ground of complexity’, production-orientated niche. From Halloween pranks to growing Sichuan chili peppers in the office, Justin and Frank share the projects that they’ve built using Nerves and emphasize its wide applicability. We discuss how Nerves has been both officially and unofficially ported to different devices, why people send Frank random pieces of hardware in the mail, and the differences between open-source and making your work publicly available. Justin and Frank commiserate over the challenge of working with Bluetooth and the beauty of the Nerves community in pushing innovation. We chat more about Nerves, including how you can extend the functionality of file systems, before Justin and Frank unpack their roadmap for Nerves’s future. Tune in to learn more about the Nerves Project, a system that can add a great deal of agility to any development cycle. Key Points From This Episode: Introducing our guests and this episode’s focus on the Japanese Elixir community. The double-edge of broadcasting your excitement about Elixir projects. Looking at FarmBot as a practical use-case to show off what Nerve can do. Differences between soft and hard real-time using FarmBot as an example. What Nerves excels at; acting as a gateway for other processors. Justin and Frank share the projects that they’ve built using Nerves. A brief digression where Justin shares his love of Chinese Sichuan cooking. What other markets are making use of Nerves in their product cycle. The unique ‘middle-ground’ of complexity that Nerves is best suited to address. Porting Nerves to different devices and what devices need to run Nerves. Open-source versus making work public and how Justin took some of his Bluetooth work public. The challenges of working with Bluetooth. Hear how a group in the community is making a Nerves keyboard. How you can extend the functionality of a file system on Nerves. Nerves’s features that make it such an excellent tool within a production environment. When deploying with Nerves Hub, learn how to configure Wi-Fi modules with different devices. Starting with a facelift, Frank and Justin share their roadmap for Nerves’s future. How companies Vary and SmartRent have contributed to the longevity of Nerves. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ ElixirConf — https://elixirconf.com/2020 Frank Hunleth — https://www.linkedin.com/in/fhunleth/ Justin Schneck — https://www.linkedin.com/in/justinschneck Susumu Yamazaki — https://twitter.com/zacky1972 Nerves Project — https://www.nerves-project.org/ Nerves Project Open Collective — https://opencollective.com/nerves-project Nerves Project GitHub — https://github.com/nerves-project/nerves_pack#erlang-distribution Nerves Kiosk System GitHub — https://github.com/nerves-web-kiosk/kiosk_system_rpi3 FarmBot — https://farm.bot/ Rose Point — https://www.rosepoint.com/ The Food of Sichuan — https://www.amazon.com/Food-Sichuan-Fuchsia-Dunlop/dp/1324004835 Lance Halvorsen — https://www.linkedin.com/in/lance-halvorsen-07a102/ Atom VM GitHub — https://github.com/bettio/AtomVM Lichee Pi Zero — https://licheepizero.us/ Pavlok — https://pavlok.com/ Harald GitHub — https://github.com/verypossible-labs/harald Bluetooth with Nerves Notes GitHub — https://gist.github.com/fhunleth/fae46998609814ae4a8abd44f6f08188 Fwup GitHub — https://github.com/fhunleth/fwup ‘Building a keyboard with Elixir’ — https://medium.com/swlh/building-a-keyboard-with-elixir-fc7bd3f60ec3 Vintage Net Wizard GitHub — https://github.com/nerves-networking/vintage_net_wizard Grizzly GitHub — https://github.com/smartrent/grizzly SmartRent Careers — https://smartrent.com/careers/ Very Possible Careers — https://www.verypossible.com/careers Show Notes - Japanese Elixir Wizards Dojo 第一部 Frank Hunleth と Justin Shneck Episode S4E13a: 概要 Elixir Wizards Dojo スペシャル番組の第一部にようこそ。ElixirConf JPとのパートナーシップによるマッシュアップです。今日のエピソードでは、日本のNervesコミュニティからの質問をNervesコアチームのメンバーであるFrank Hunleth と Justin Schneck に尋ねます。ゲストの2人を紹介した後、Nervesを使用する会社のことや、ファームボット(オープンソースのロボティック農業ツール)に見る使用事例を探ります。JustinとFrankが交互にソフトリアルタイムとハードリアルタイムの違いを説明し、Nervesが「複雑さの中立的立場」、生産指向のニッチという点で優れていることを示します。ハロウィンのいたずらから、オフィスで育つ四川の唐辛子栽培まで、JustinとFrankはNervesを使用して構築したプロジェクトを紹介し、その幅広い応用性を強調します。Nervesが公式・非公式にさまざまなデバイスに移植された方法についてや、なぜみんながFrankにランダムなハードウェアを郵送するのか、オープンソースと単に作品を公開することの違いについて話し合います。JustinとFrankはBluetoothの機能開発の課題に同情し、イノベーションを推進する上でのNervesコミュニティの美点について語ります。さらにNervesについて話が進み、どのようにファイルシステムの機能性を拡張するのかや、JustinとFrankがNervesの将来のロードマップについて披露します。どのような開発サイクルにも「アジャイルに」できるシステムである、Nerves プロジェクトについてより詳しく知りたいという人は、是非聴いてください。 このエピソードのみどころ ゲストの紹介と、日本のElixirコミュニティに対するこのエピソードの焦点 Elixirプロジェクトについての興奮を広める上での「両刃」 ファームボットに見るNervesが実現できる実事例 ファームボットを例にした、ソフトリアルタイムとハードリアルタイムの違い Nervesの何が優れているのか: 他のプロセッサへのゲートウェイの役割 JustinとFrankが共有する、Nervesで今まで構築してきたプロジェクトの数々 Justinが愛する四川料理についての軽い脱線 Nervesを製品サイクルに応用する他のマーケットや事例 Nervesが扱うのに手ごろな複雑さの独特の「中間基盤」 Nervesの異なるデバイスへの移植とNervesを実行させるのにどんなデバイスが必要 オープンソースと作品を公開することの違いと、どのようにJustinがBluetoothでの仕事の一部を公開したか Bluetoothの開発作業のチャレンジ コミュニティのグループがどのようにNervesキーボードを作っているか どのようにNervesのファイルシステムの機能性を拡張するか 本番環境で優れたツールとなる上でのNervesの機能Special Guests: Frank Hunleth and Justin Schneck.
undefined
Aug 6, 2020 • 42min

Greg Mefford on Nerves, Poncho vs Umbrella Apps, and Pre-Code Planning

In today’s episode, we chat about system architecture, Ruby, Elixir, and everything in between with Greg Mefford, the senior back-end engineer for the Bleacher Report. We open the conversation by asking Greg about his start in coding, leading to a story about how Greg was that bored kid pressuring a math teacher to teach him QBasic. He shares how he fell in love with Ruby before discovering Elixir and Nerves. Having faced some challenges when learning Nerves, Greg talks about how he began documenting his pain points and writing documents to help onboard newcomers. We discuss Greg’s work with Nerves, his project aspirations, and his recommended resources for anyone looking to get into Nerves or Elixir. After providing his hot take on the latest Code BEAM V conference, we ask Greg what system architecture means to him. From there we get super meta about the meaning of architecture and what it means to translate design into practice. We touch on the struggle of understanding domain-driven design and Greg’s approach to pre-code planning before delving into how the Bleacher Report is set up. As Greg goes into details, you’ll hear why their servers now run on Elixir and not Ruby. Near the end of the episode, we talk about Poncho versus Umbrella apps, and Greg shares his passion for multi-user dungeons (MUDs). Tune in to learn more about Greg and his role in the Elixir and Nerves landscape. Key Points From This Episode: Greg’s start in coding and his transition from electronics design into IT. Why Greg loves Ruby and how he discovered the magic of Elixir. Greg’s contribution to the Elixir and Nerves community by helping onboard newcomers. What Greg’s job as a senior engineer for Bleacher Report looks like. Greg recommends resources for beginners getting into Nerves and Elixir. Creating a kid’s game using Nerves and Greg’s Blinkchain library. Greg’s take on the Code BEAM V conference and hating on the Whova app. What architecture means to Greg. This one gets deep. How translating designs into software has changed over the years. Why Greg struggles with the idea of domain-driven design. The state of Extreme Programming practices and how they synergize together. How Greg views pre-code planning; something that’s become his specialty within his latest job. The many elements that contribute to how the Bleacher Report’s IT is set up. Ruby servers versus Elixir servers and why the Bleacher Report uses Elixir. Why the Poncho system was designed to fix Nerves issues not covered by Umbrella apps. Greg’s history creating multi-user dungeons (MUDs) and playing DragonRealm. Links Mentioned in Today’s Episode: Greg Mefford LinkedIn — https://www.linkedin.com/in/ferggo/ SmartLogic — https://smartlogic.io/ SmartLogic Jobs — https://apply.workable.com/smartlogic/ ElixirConf — https://elixirconf.com/2020 Blinkchain GitHub — https://github.com/GregMefford/blinkchain Justin Schneck GitHub — https://github.com/mobileoverlord Le Tote — https://www.letote.com/ James Smith — https://twitter.com/st23am Garth Hitchens, ElixirCof 2015 — https://www.youtube.com/watch?v=kpzQrFC55q4 Nerves Project — https://www.nerves-project.org/documentation Bleacher Report — https://bleacherreport.com/ Programming Elixir — https://www.amazon.com/Programming-Elixir-1-6-Functional-Concurrent/dp/1680502999 Elixir in Action — https://www.amazon.com/Elixir-Action-Sa%C5%A1a-Juri-cacute/dp/1617295027 Chris Keathley — https://codesync.global/speaker/chris-keathley/ Code BEAM V Conference — https://codesync.global/conferences/code-beam-sto/ Whova App — https://whova.com/ Amos King — https://twitter.com/adkron?lang=en Christopher Keele — https://github.com/christhekeele Steve Bussey Episode — https://smartlogic.io/podcast/elixir-wizards/s4e3-bussey/ Mark Windholtz — https://github.com/mwindholtz Extreme Programming — http://www.extremeprogramming.org/ Adopting Elixir: From Concept to Production — https://www.amazon.com/Adopting-Elixir-Production-Ben-Marx/dp/1680502522 Live Elixir Wizards - Betweenisode — https://www.youtube.com/watch?v=kEwxhGYEGts Twirp GitHub — https://github.com/twitchtv/twirp Frank Hunleth — https://github.com/fhunleth Elixir Supervisor Behavior — https://hexdocs.pm/elixir/Supervisor.html Elixir Poncho Projects — https://embedded-elixir.com/post/2017-05-19-poncho-projects/ Titans of Text — https://www.titansoftext.com/ Miriani — https://www.toastsoft.net/ DragonRealms — https://www.play.net/dr/ Justus Eapen Twitter — https://twitter.com/justuseapen Eric Oestrich — https://twitter.com/EricOestrichSpecial Guest: Greg Mefford.
undefined
Jul 27, 2020 • 49min

Johanna Larsson on Hex Diff, Domain Driven Design, Umbrella apps, and more

Johanna Larsson is a community-minded software engineer whose project, Hex Diff, generates highlighted git diffs, right in your browser. In this episode, we talk to Johanna about how Hex Diff can benefit Elixir users, the differences between code architecture and code design, and the debatably under-appreciated role of Elixir umbrella apps. We start the conversation by chatting with Johanna about her recent move to London and her work for Duffel; a startup helping travel agencies book trips. After talking about how she got into software development, we dive into Hex Diff versus GitHub, with Joanna detailing how Hex Diff offers greater security for your code. We ask Johanna about the origins of the Hex Diff project and she explores its aims and her experiences working on the project. In line with this month’s theme, we discuss what architecture means to Joanna and the need for domain-driven design. We quiz Joanna on her approaches to problem-solving and she explains how her coding process emphasizes building an early prototype and constantly iterating on it. Despite hearing that umbrella apps are bad news, Joanna makes a case for their value while acknowledging how that they need greater tooling. We round off our conversation by asking Joanna how she tries to grow her skillset and what her favorite Elixir resource is. Following our discussion with Johanna, we open with another edition of Pattern Matching with Todd. This week, friend of the podcast Todd Resudek asks five questions of Elixir community member Bruce Williams. They talk about Bruce’s work as an Arabic cryptologic linguist for the US Airforce, his software career, and the therapeutic uses of playing Animal Crossing during a pandemic. Key Points From This Episode: We introduce Johanna Larsson and she shares how she is doing in London. How Johanna developed a love for software and how Elixir brought her to London. Details about Johanna’s job at Duffel; a startup that helps travel companies book trips. How Hex Diff is solving problems that arise when using code from GitHub. Johanna’s experience working on Hex Diff and the problems that they aim to solve. Hex Diff’s caching system and what Hex Diff does to counter malicious software uploads. The disconnect between system architecture and implementation. Johanna’s view on the differences between code design and code architecture. Why domain-driven design increases usefulness to the end-user. How Johanna approaches a problem and her steps when building code. Hear what key lesson Johanna learned from her latest big project. Johanna’s experience with umbrella apps and why they need tooling functions. How working in a strong team can motivate you and help grow your skill set. Why the Elixir Slack group is Johanna’s favorite tool. Why you should check out Hex Diff; it’s a great introduction to Elixir. This edition of Pattern Matching with Todd; Todd Resudek interviews Bruce Williams. Links Mentioned in Today’s Episode: Johanna Larsson — https://blog.jola.dev/ Johanna Larsson LinkedIn — https://www.linkedin.com/in/joladev/ Johanna Larsson Twitter — https://twitter.com/joladev SmartLogic — https://smartlogic.io/ ElixirConf — https://elixirconf.com/2020 SharePoint — https://www.microsoft.com/en-us/microsoft-365/sharepoint/collaboration Duffel — https://duffel.com/ Stripe — https://stripe.com/ Hex Diff — https://diff.hex.pm/ Hex Diff GitHub — https://github.com/hexpm/diff Maciej Mensfeld — https://mensfeld.pl/ Diffend — https://my.diffend.io/ Wojtek Mach — https://twitter.com/wojtekmach Eric Meadows-Jönsson — https://twitter.com/emjii Todd Resudek — https://twitter.com/sprsmpl Announcing Hex Diff — https://hex.pm/blog/announcing-hex-diff Hex Core GitHub — https://github.com/hexpm/hex_core Hex Diff Phoenix — https://diff.hex.pm/diff/phoenix/1.5.2..1.5.3 The Design of Everyday Things — https://www.amazon.com/Design-Everyday-Things-Revised-Expanded/dp/0465050654 Brooklyn Zelenka LinkedIn— https://www.linkedin.com/in/brooklynzelenka/ Unified Modeling Language — https://en.wikipedia.org/wiki/Unified_Modeling_Language Elixir v. 1.10.4 Mix CMD — https://hexdocs.pm/mix/Mix.Tasks.Cmd.html Elixir v1.11 Forum Post — https://elixirforum.com/t/elixir-v1-11-will-be-released-in-october-2020/31535 Rustler GitHub — https://github.com/rusterlium/rustler Live View —https://blog.codepen.io/documentation/live-view/ Bruce Williams — https://www.linkedin.com/in/wbruce/ Absinthe — https://absinthe-graphql.org/ Untitled Goose Game — https://goose.game/ Stardew Valley — https://www.stardewvalley.net/ Myst — https://cyan.com/games/myst/ Blanco White — https://www.blancowhite.info/ Groundhog Day — https://www.imdb.com/title/tt0107048/ Animal Crossing — https://www.animal-crossing.com/Special Guest: Johanna Larsson.
undefined
Jul 23, 2020 • 38min

Lau Taarnskov on the Trouble with Time Zones

Handling date and time is a challenge in any language, but Lau Taarnskov is determined to solve that problem in Elixir. Lau is today’s guest on Elixir Wizards, and this episode is all about his contributions to Elixir. Lau has been involved with web development and e-commerce for decades. He started contributing to Elixir open source in 2014 and created the Calendar and tzdata libraries. Calendar is a datetime library for Elixir, that provides explicit types for datetimes, dates, and times, and full time zone support is provided via its sister package, tzdata. When it comes to the subject of date, time, and time zones, besides talking about it and writing software for it, Lau also writes about it on his blog, Creative Deletion. This episode explores how Lau got started in programming, and what led him to creating Calendar and tzdata. Lau shares the resources that he found helpful when he started using Elixir, and why he was drawn to Elixir in the first place. We hear Lau’s opinions on time zones and daylight savings and whether or not they’re necessary, and he shares some advice for anyone working with time in Elixir. Then it’s time for another edition of Pattern Matching with Todd, in which Todd Resudek asks Brooklyn Zekanka five questions to help us get to know her better. Brooklyn talks about everything from she has lived, what jobs she did before becoming a programmer, and her education in classical music, to her favorite bands, movies, and TV shows, as well as some of the projects she is working on. For all this, and more, don’t miss today’s episode! Key Points From This Episode: Lau explains what TLAs are and why they aren’t always helpful for explicit communication. Lau introduces himself and shares how he got into programming and computer science. The resources Lau found most useful when he started using Elixir, including books he read. What it means that Elixir’s source code is written in Elixir, and why that was helpful for Lau. Lu talks about Calendar, a datetime library that Lau created for Elixir, and Tzdata, a parser and library he created for the tz database, and why he created them. How Lau deconstructed the time zone problems and how his ideas have changed over time. Lau’s opinions on time zones and daylight savings and whether or not they’re necessary. Advice from Lau for anyone working with time in Elixir. Another edition of Pattern Matching with Todd – today’s guest is Brooklyn Zelenka. Where Brooklyn was born, where she has lived, and the jobs she did before programming. Brooklyn talks about her musical background and how it’s similar to programming. Brooklyn shares a pro tip about slides and reflects on her highlights as a speaker. What Brooklyn would be doing if she weren’t a programmer and the genre of music she likes. Brooklyn’s favorite TV shows and movies, including Amadeus and Mad Men. Brooklyn shares what she’s working on currently and the next project she’s excited about. Links Mentioned in Today’s Episode: Lau Taarnskov on Twitter – https://twitter.com/laut Creative Deletion Blog – http://www.creativedeletion.com/ Lau Taarnskov on GitHub – https://github.com/lau Calendar on GitHub – https://github.com/lau/calendar Tzdata on GitHub – https://github.com/lau/tzdata Elixir in Action – https://www.amazon.com/Elixir-Action Programming Elixir – https://www.amazon.com/Programming-Elixir-1-6-Functional-Concurrent/ Brooklyn Zelenka on LinkedIn – https://www.linkedin.com/in/brooklynzelenka/ Brooklyn Zelenka on Twitter – https://twitter.com/expede Brooklyn Zelenka on GitHub – https://github.com/expede FISSIONcodes Website – https://fission.codes/ SmartLogic — https://smartlogic.io/ Amadeus — https://www.rottentomatoes.com/m/amadeus Mad Men — https://www.rottentomatoes.com/tv/mad-men Special Guest: Lau Taarnskov.
undefined
Jul 16, 2020 • 55min

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

For part 2 of our Council of Wizards panel discussion, we are joined by Chris Bell, Desmond Bowe, Emily Maxie, Dan Lindeman, and Alan Voss! Chris and Desmond run the ElixirTalk Podcast and we get in-depth on the intersection of the language and talking about it. They share the lessons they have learned in the podcasting space, making some pit stops to chat about aliens, Elixir beef, and marble flooring! We discuss the community during the pandemic and what the Elixir world might look like for the next year or two. Emily and Dan then step in to give us all the information about Very and their very functional remote work model. They talk us through the full departure that the company made from a physical hub and both share what they love and hate about working from home, before and during the COVID crisis. Dan and Emily talk about onboarding and team spirit in remote teams and the strategies that have best served Very in this regard. Lastly, we have a bonus section with Alan Voss, to discuss his game night competitions and more. He unpacks the games he has already hosted and some of the candidates for future events before we hear about his experiences in the pandemic, specifically as an extrovert and a father. For all of this make sure to join us on the show! Key Points From This Episode: The exciting possibility of starting beef in the Elixir community! Books and podcasts we have been reading and listening to. Marble flooring, glass blowing, aliens, conspiracy theories, and impersonations! Tips, tricks, and lessons for the podcast space from Chris and Desmond. Thoughts on the future of the Elixir community during and after the pandemic. The array of projects that keep Chris and Desmond busy; startups, meetups, conferences! Very's fully remote-work setup and the decision to move away from a physical office. Challenges and lessons in the work-from-home model; making do with less in-person interaction. Positive sides to a home workspace; making a mess and closing the door. Employee socialization and familiarization at a remote company. The applicability of Elixir across different projects and libraries. The infinite amount of puns that are available when talking about Very! Programming Connect Four and the future of bot competitions according to Alan. Strategy snobs and taking this to its logical conclusion with chess and Go. The effect that the pandemic has had on extroverts and the adjustments that Alan has made. The possibility of ElixirConf this year and the forms it could take. Work that has gone into Alan's game-night side project over the last months. The growth of Postmates and their current need for new employees! Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Elixir Ecosystem Survey — https://elixirsurvey.typeform.com/to/yYmJv1 ElixirConf — https://elixirconf.com/2020 Github Repo for Transcript Corrections — https://github.com/smartlogic/smartlogic.io/tree/master/podcast/elixir-wizards/transcripts Chris Bell — https://cjbell.co/ Chris Bell on Twitter — https://twitter.com/cjbell Desmond Bowe on Twitter — https://twitter.com/desmondmonster ElixirTalk — http://elixirtalk.com/ Emily Maxie on Twitter — https://twitter.com/emilymaxie Dan Lindeman on Twitter— https://twitter.com/lindemda Very — http://verypossible.com/ Chris McCord — http://chrismccord.com/ Alan Voss — http://www.alanvoss.org/ Alan Voss on Twitter — https://twitter.com/alanvoss Lonestar Elixir— https://lonestarelixir.com/ MPex — https://mpex.com/ Payitoff — https://www.payitoff.io/ Meetup — https://www.meetup.com/ OpenAI — https://openai.com/ Risk — https://www.amazon.com/Hasbro-B7404-Risk-Game/dp/B01ALHAIWG Strange Loop — https://www.thestrangeloop.com/ Postmates — https://postmates.com/Special Guests: Alan Voss, Chris Bell, Dan Lindeman, Desmond Bowe, and Emily Maxie.
undefined
Jul 14, 2020 • 39min

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

The Elixir community continues to flourish and evolve in these uncertain times and in honor of this we have put together a live show with a number of special guests! In part one today, we are joined by Andrea Leopardi and René Föhring, who we are so happy to welcome back. We get the lowdown from each of them in turn, discussing personal preferences, tips and tricks, and recommendations for Elixir and beyond. Andrea gets into some of his pet peeves and comments on the trend of slow interfaces. We then look at future possibilities for Elixir including the outside chance of it being run on mobile and for crypto-mining! Andrea also updates us on the book he is currently working on so keep an eye out for that in the future! René then steps in to talk about his work on Credo, his hopes for it in the future, and some suggestions for listeners using it. We do some comparisons between Elixir and Ruby before René offers some thoughts on Electron and functional programming concepts. So for all this and a whole lot more, make sure to tune in today and stay tuned for part 2! Key Points From This Episode: A reintroduction to Andrea and his current work in the Elixir space. Andrea's tool recommendations and what he uses most at the moment. Updates, the short term future of the world of Elixir and Andrea's current focus. RSpec versus xUnit: Andrea's personal preferences. Andrea's limited experience of LiveView and early reactions. Feelings about computers and phones with slow interfaces! The very slim chances of seeing Elixir run on mobile. Cryptocurrency and Andrea's lack of experience and ambition in the space. Some exciting information about Andrea's upcoming book to keep an eye out for. René's current projects; Credo, Elixir weekly newsletter, and more! The future of Elixir — will it be the next Ruby? Elixir on a phone; René's thoughts on this possibility and its validity. Updates for Credo — all the exciting news since our last conversation with René. Improving work that you are proud of and René's own feelings about Credo. The objectives and vision for Credo and improving upon certain pain points. Writing and running in Electron and how to have fun while doing it! The application of functional programming concepts in René's work in Electron. René's suggestion for Credo — using the Credo master after it being reworked. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Elixir Ecosystem Survey — https://elixirsurvey.typeform.com/to/yYmJv1 ElixirConf — https://elixirconf.com/2020 Github Repo for Transcripts Corrections - https://github.com/smartlogic/smartlogic.io/tree/master/podcast/elixir-wizards/transcripts Andrea Leopardi — https://andrealeopardi.com/ Andrew Leopardi on Twitter — https://twitter.com/whatyouhide Rene Föhring — http://rrrene.org/ Rene Föhring on Twitter — https://twitter.com/rrrene Alfred — https://www.alfredapp.com/ Tesla — https://www.tesla.com/ TempleOS — https://templeos.org/ Elon Musk — https://www.forbes.com/profile/elon-musk/ Mint — https://www.mint.com/ Finch — https://finch.io/ Ruby — https://www.ruby-lang.org/en/ Electron — https://www.electronjs.org/Special Guests: Andrea Leopardi and René Föhring.
undefined
Jul 9, 2020 • 44min

Chris McCord with a Deep Dive on Phoenix

Although it’s taken him four seasons to make an appearance, we are so glad to finally welcome Chris McCord, creator of the Phoenix framework, onto the show. While this season’s focus is on system and application architecture, today’s discussion deviates to focus on Phoenix. We get started by hearing more about Chris’s programming journey, all the way from TI-Basic to where he is now. After this, we dive into LiveView, the project Chris is currently focusing most of his energy on. We get into some of the incredible changes that have been made including live navigation, deep change tracking optimizations, and static asset tracking. Chris shares which of the changes he is most excited about, along with why he enjoys seeing LiveView being misused. We then look at some of the critiques of LiveView and Phoenix generally. Chris offers counter-arguments to the most common criticisms of the framework. He shares how the title of 'framework' can be a double-edged sword, as well as why he is hesitant to extract channels prematurely. We wrap the show up with a look into the future, hearing more about what’s on the horizon for Phoenix and where Chris hopes the Elixir community is headed. This conversation was well worth the four season-long wait, so be sure to tune in today! Key Points From This Episode: Why it took Chris four whole seasons to finally make an appearance on the show. Chris’s programming journey from T-Basic all the way to Java, HTML, and PHP. How a broken back landed Chris his first paid programming job. Learn more about Chris’s current project, LiveView, and some of the recent additions. Why the optimizations were the most interesting changes for Chris to make on LiveView. Some of the most interesting use cases Chris has seen of LiveView. How Chris plans to navigate laying LiveView out on a larger codebase. Chris’s take on stateful applications and why the platform is so important. The origins of the hilariously termed ‘dead view.’ Some of the most pertinent critiques of LiveView and Phoenix generally. Chris busts some of the invalid critiques of Phoenix. Why the community feedback on LiveWire has been so surprising to Chris. Phoenix 1.6 changes and when we can expect its release. Chris’s take on whether Elixir is likely to overthrow Rails in terms of popularity. The systemic blockers that create adoption friction of Elixir and Phoenix. Looking into the future — Chris’s goals for Phoenix and his hopes for the Elixir community. Links Mentioned in Today’s Episode: Chris McCord — http://chrismccord.com/ Chris McCord on Twitter — https://twitter.com/chris_mccord DockYard — https://dockyard.com/ Dave’s Site — https://www.davesite.com/ Hacking with PHP — http://www.hackingwithphp.com/ Phoenix LiveView — https://hexdocs.pm/phoenix_live_view/Phoenix.LiveView.html Phoenix Phrenzy — https://groundstation.gigalixirapp.com/ Dashbit: An Upcoming Authentication Solution for Phoenix — https://dashbit.co/blog/a-new-authentication-solution-for-phoenix Aaron Renner on GitHub — https://github.com/aaronrenner/phx_gen_auth Phoenix Issues on GitHub — https://github.com/phoenixframework/phoenix/issuesq=is%3Aopen+is%3Aissue+milestone%3Av2.0 Phoenix Fire Nest — https://github.com/phoenixframework/firenest Phoenix Pub/Sub — https://github.com/phoenixframework/phoenix_pubsub ElixirConf 2020— https://2020.elixirconf.com/ ElixirConf 2020 Speaker Proposals — https://2020.elixirconf.com/#cfp TI-83 Calculator — https://www.amazon.com/Texas-Instruments-TI-83-Graphing-Calculator/dp/B00001N2QU Teach Yourself C in 21 Days — https://www.amazon.com/Teach-Yourself-21-Days-Sams/dp/0672310694 Rest Fest — https://www.restfest.org/ José Valim on Twitter — https://twitter.com/josevalim Jason Goldberger on LinkedIn — https://www.linkedin.com/in/jason-goldberger-84237392/ SmartLogic — https://smartlogic.io/ SmartLogic Jobs — https://smartlogic.workable.com/Special Guest: Chris McCord.

Get the Snipd
podcast app

Unlock the knowledge in podcasts with the podcast player of the future.
App store bannerPlay store banner

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode

Save any
moment

Hear something you like? Tap your headphones to save it with AI-generated key takeaways

Share
& Export

Send highlights to Twitter, WhatsApp or export them to Notion, Readwise & more

AI-powered
podcast player

Listen to all your favourite podcasts with AI-powered features

Discover
highlights

Listen to the best highlights from the podcasts you love and dive into the full episode