POPULARITY
It's the season finale of Elixir Wizards Office Hours! SmartLogic's Project Manager Alicia Brindisi and VP of Delivery Bri LaVorgna join host Dan to delve into the agile ceremony of retrospectives. They explore the vital role of retrospectives in Agile project management and unveil practical strategies for enhancing their effectiveness. Alicia and Bri break down the elements of a successful retrospective. They cover everything from meticulous preparation to facilitation techniques, and how to choose the best format for fostering open dialogue and actionable results. Learn how to navigate common obstacles and guide discussions toward productive, solution-focused outcomes. Throughout the episode, they emphasize the transformative potential of retrospectives within the Agile framework, portraying them not just as a procedural activity, but as a catalyst for continuous team growth and project success. Key topics discussed in this episode: Mastering the full potential of retrospectives in Agile environments Best practices for effective preparation and facilitation Choosing the right format to suit your team's dynamics Strategies for overcoming typical challenges during retrospectives Techniques for addressing and resolving interpersonal conflicts constructively The critical importance of valuing each team member's perspective Practical advice on applying insights from retrospectives to enact organizational changes Tailoring and refining retrospectives to meet your team's unique requirements Links mentioned: SmartLogic https://smartlogic.io/ SmartLogic LinkedIn https://www.linkedin.com/company/smartlogic-io Contact Bri Bri@smartlogic.io Retrium Retrospectives for Scrum & Agile Teams https://www.retrium.com/ 4Ls Retrospective Template https://www.retrium.com/retrospective-techniques/4ls Start Stop Continue Retrospective https://www.retrium.com/retrospective-techniques/start-stop-continue Sailboat Retrospective https://www.retrium.com/retrospective-techniques/sailboat Starfish Retrospective https://www.retrium.com/retrospective-techniques/starfish ClickUp Project Management Platform https://clickup.com/teams/project-management Asana Task Manager http://www.asana.com Jira Project Management Tool https://www.atlassian.com/software/jira Special Guests: Alicia Brindisi and Bri LaVorgna.
In Office Hours Episode 10, SmartLogic's newest developers, Emma Whamond and Micaela Cunha, join Elixir Wizard Owen Bickford to discuss their onboarding experiences, joining a new engineering team, and navigating an unfamiliar codebase. They share tips and challenges on learning new programming languages like Ruby and Elixir while ramping up for active client projects. Emma and Micaela emphasize the value of starting with tests and seeking guidance from teammates when diving into unfamiliar projects. Our guests provide valuable guidance for anyone navigating the transition into a new software development team, highlighting the importance of collaboration, continuous learning, and community support in the tech industry. Key topics discussed in this episode: What to expect when joining a new engineering team Navigating existing codebases as a new hire in Elixir and Ruby Applying previous work experience to software development The importance of tests and team communication in unfamiliar projects Learning Ruby as a C++ and JavaScript developer Differences between dynamic and static typing Building team camaraderie and intentionality in remote work environments The steep learning curve of the onboarding process, including documentation, codebases, and client meetings Relying on teammates for guidance and overcoming the fear of asking too many questions Updating documentation within project repositories Learning team dynamics and identifying domain experts for targeted assistance Domain-specific knowledge: being a senior developer in one language vs. another Building friendships and connections within local tech communities The welcoming and supportive nature of the tech industry for newcomers Links mentioned: Elixir Programming Language https://elixir-lang.org/ Ruby on Rails https://www.ruby-lang.org/en/ Ruby Koans - Learn Ruby language, syntax, structure https://www.rubykoans.com/ Elixir Language Learning Exercises (Elixir Koans) https://github.com/elixirkoans/elixir-koans The PETAL Stack in Elixir https://thinkingelixir.com/petal-stack-in-elixir/ Alpine JS Lightweight JavaScript Framework https://alpinejs.dev/ Phoenix LiveView https://hexdocs.pm/phoenixliveview/Phoenix.LiveView.html WebAuthn Components passwordless authentication to LiveView applications https://github.com/liveshowy/webauthn_components Gleam functional language for building type-safe, scalable systems https://gleam.run/ The Future of Types in Elixir with José Valim, Guillaume Duboc, and Giuseppe Castagna https://smartlogic.io/podcast/elixir-wizards/s10-e12-jose-guillaume-giuseppe-types-elixir/ Git-Blame https://git-scm.com/docs/git-blame nix store https://nixos.org/manual/nix/stable/command-ref/nix-store Code and Coffee https://codeandcoffee.org/ Special Guests: Emma Whamond and Micaela Cunha.
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.
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 episode we interview Yair Flicker the President and Founder of SmartLogic, Baltimore-based consultancy that has been building custom web and mobile software applications since 2005. We explore the journey of starting and running a small business, and examine how to build a niche community. Yair discusses the future of technology and the advantages to launching a business in the Baltimore community. We hope you enjoy!
Today on Elixir Wizards, José Valim, creator of the Elixir programming language, joins hosts Sundi Myint and Owen Bickford to discuss the future of Elixir, upcoming features, changes to the language and ecosystem, and the potential for a type system. José discusses how Elixir's extensibility allows the ecosystem to grow with new tools and libraries, all while requiring few languages to the core language. Key Takeaways: The origin of the famous rainbow heart combo José's hands-off approach to planning the ecosystem which allows community contribution without reliance on the core team The success and growth of the Elixir community Lessons learned in the first ten years of the language The evolution of Elixir's documentation and the role of Livebook in creating more interactive and engaging learning experiences The potential for Elixir Nx to make numerical computation, machine learning, and data science more accessible to Elixir developers Potential implementation of a gradual type system and the importance of backwards compatibility The role of the Elixir community in shaping the language's development and ecosystem, including the importance of open-source contributions Whether we'll see Elixir 2.0 in the next decade Links mentioned in this episode: Josė Valim Keynote ElixirConf EU Bringing Elixir to Life (https://www.youtube.com/watch?v=xItzdrzY1Dc) Dashbit - https://dashbit.co/ Elixir programming language: https://elixir-lang.org/ ElixirConf: https://elixirconf.com/ ElixirForum: https://elixirforum.com/ Elixir's Logger library: https://hexdocs.pm/logger/Logger.html José's Twitter: https://twitter.com/josevalim ElixirLS (Elixir Language Server) https://github.com/elixir-lsp/elixir-ls Mermaid Charts in Livebook - https://news.livebook.dev/date/2022/1 IEx - https://hexdocs.pm/iex/1.14/IEx.html Numerical Elixir - Nx: https://hexdocs.pm/nx/getting-started.html Nerves: https://hexdocs.pm/nerves/getting-started.html Membrane: https://hexdocs.pm/membrane/getting-started.html Dialyxir: https://hexdocs.pm/dialyxir/readme.html LiveBook: https://hexdocs.pm/livebook/getting-started.html Bumblebee: https://github.com/elixir-nx/bumblebee Special Guest: José Valim.
Today on Elixir Wizards, Sundi Myint and Owen Bickford are joined by Saša Jurić, distinguished developer, mentor, and author of Elixir in Action. They discuss the future of training and education in Elixir, challenges faced by new Elixir developers, Phoenix generators, peer mentorship, the emergence of types, and when it's time to close the umbrella. Key Takeaways: The functional programming paradigm, the actor model, and concurrency Adapting to the Elixir syntax and tooling The role of community, mentorship, and continuous learning in Elixir education The pros and cons of Phoenix generators for Elixir development Customizing templates in the Phoenix priv directory to better suit individual needs The importance of understanding and adapting generated code for maintainability and proper abstractions Importance of having a clear separation between core and interface Adapting to different opinions and preferences within a development team Refactoring and restructuring code to improve quality and reduce complexity Static typing for better documentation and the limitations of dynamic code Umbrella apps vs. mix configuration and how to avoid complexity Links Mentioned in this Episode: Enter to win a copy of Elixir in Action: https://smr.tl/2023bookgiveaway Elixir in Action by Saša Jurić https://www.manning.com/books/elixir-in-action 35% discount code for book on manning.com: podexwizards20 Saša's Website/Blog TheErlangelist.com (https://www.theerlangelist.com/) Towards Maintainable Elixir - Saša Jurić's Medium Blog Article Series (https://medium.com/very-big-things/towards-maintainable-elixir-the-core-and-the-interface-c267f0da43) Boundary (https://hex.pm/packages/boundary): Managing cross-module dependencies in Elixir projects Site Encrypt (https://hex.pm/packages/site_encrypt): Integrated Certification via Let's Encrypt for Elixir-powered sites Authentication Generator in Phoenix: https://hexdocs.pm/phoenix/mixphxgen_auth.html Ecto query generator for Elixir https://hexdocs.pm/ecto/Ecto.html GraphQL: Query language for APIs https://graphql.org/ Dialyxir: https://hexdocs.pm/dialyxir/readme.html Nx (Numerical Elixir) GitHub Repository: https://github.com/elixir-nx/nx ElixirLS (Elixir Language Server) GitHub Repository: https://github.com/elixir-lsp/elixir-ls Special Guest: Saša Jurić.
Elixir Wizards Owen Bickford and Dan Ivovich are joined by Mike Waud, Senior Software Engineer at SparkMeter, and Tony Winn, Lead Software Architect at Generac, to discuss the future of the BEAM in the electric grid, how their companies use Elixir, and the challenges they face in implementing cutting-edge technologies in an environment with a mix of old and new systems. Both guests have backgrounds in various programming languages before turning to Elixir for its functional programming capabilities, concurrency, and reliability. Elixir's portability allows it to be used in various environments, from cloud-based systems to more conservative organizations that prefer running software off the cloud. Key topics discussed in this episode: • Technology sophistication varies across different regions and industries • BEAM's reliability, concurrency, and scaling in electric grid systems • Using Elixir for caching, telemetry, and managing traffic spikes • Elixir fits well for devices due to its fault tolerance and supervision trees • Observability with telemetry hooks for understanding system performance • Traffic patterns in the grid space are often dictated by weather and human activity, requiring efficient handling • The balance between using Elixir/BEAM and other tools depending on use case • Using Elixir tools like Broadway to work with event queues and Nebulex for distributed caching • The future of the electric grid and its evolution over the next 10 years, including a shift towards more distributed energy generation • Global lessons about grid management, solar penetration, regulations, and energy storage • Prioritizing data in IoT systems and processing data at the edge of the network • Gratitude for open-source contributors in the Elixir community Links in this episode: SparkMeter: https://www.sparkmeter.io/ Generac: https://www.generac.com/ SmartLogic - https://smartlogic.io/jobs Gary Bernhardt's talk on functional core and imperative shell: https://www.destroyallsoftware.com/talks/boundaries Joe Armstrong's Erlang book: https://pragprog.com/titles/jaerlang/programming-erlang/ The Nerves podcast and documentation: https://nerves-project.org/ Special Guests: Mike Waud and Tony Winn.
In today's episode, Sophie DeBenedetto emphasizes the importance of the Elixir community's commitment to education, documentation, and tools like liveBook, fostering an environment where people with varying skill levels can learn and contribute. The discussion highlights LiveView's capabilities and the role it plays in the future of Elixir, encouraging members to share knowledge and excitement for these tools through various channels. Sophie invites listeners to attend and submit their talks for the upcoming Empex conference, which aims to showcase the best in Elixir and LiveView technologies. Additionally, the group shares light-hearted moments, reminding everyone to contribute to all types of documentation and promoting an inclusive atmosphere. Key topics discussed in this episode: • Updates on the latest release of the Programming Phoenix LiveView book • The importance of community connection in Elixir conferences • The future of documentation in the Elixir ecosystem • The Elixir community's commitment to education and documentation • LiveBook as a valuable tool for learning and experimenting • Encouraging contributions across experience levels and skill sets • Importance of sharing knowledge through liveBooks, blog posts, and conference talks • Core Components in Phoenix LiveView, and modal implementation • Creating a custom component library for internal use • Reflecting on a Phoenix LiveView Project Experience • Ease of using Tailwind CSS and its benefits in web development • Advantages of LiveView in reducing complexity and speeding up project development • LiveView's potential to handle large datasets using Streams • The role of Elixir developers in the rapidly evolving AI landscape Links in this episode: Sophie DeBenedetto – https://www.linkedin.com/in/sophiedebenedetto Programming Phoenix LiveView Book – https://pragprog.com/titles/liveview/programming-phoenix-liveview Empex NYC - https://www.empex.co/new-york SmartLogic - https://smartlogic.io/jobs Phoenix LiveView documentation: https://hexdocs.pm/phoenixliveview/Phoenix.LiveView.html Live sessions and hooks: https://hexdocs.pm/phoenixliveview/Phoenix.LiveView.Router.html#livesession/1 LiveView: https://hexdocs.pm/phoenixlive_view/Phoenix.LiveView.html Tailwind CSS: https://tailwindcss.com/ Reuse Markup With Function Components and Slots (https://fly.io/phoenix-files/function-components/) LiveView Card Components With Bootstrap (https://fly.io/phoenix-files/liveview-bootstrap-card/) Building a Chat App With LiveView Streams (https://fly.io/phoenix-files/building-a-chat-app-with-liveview-streams/) Special Guest: Sophie DeBenedetto.
In this episode of Elixir Wizards, Cory O'Daniel, CEO of Massdriver, talks with Sundi and Owen about the role of DevOps in the future of Elixir programming. They discuss the advantages of using Elixir for cloud infrastructure and the challenges of securing cloud systems. They elaborate on their hopes for the future, including processes and automation to streamline operations so programmers can spend more time doing what they love … writing software! Major topics of discussion in the episode: Cory's ideal ratio of hot sauce to honey (recommended for chicken) Why this episode was renamed “how Cory almost killed his dad." The history of deployment with Elixir and Erlang The benefits of using Kubernetes to deploy Elixir applications The future of Elixir DevOps and Massdriver's role in solving related problems Benefits of reducing the operational burden for developers Whether Elixir is a good fit for Kubernetes How DevOps has changed over the last 10 years. The confusion about what DevOps actually means The idea of "engineers doing everything" is not sustainable A future where engineers don't need to know much about DevOps, and can focus on writing code Minimizing the operational burden for developers Monolithic application vs. microservices Why Massdriver does not use Webhooks to update configurations Security, access to source code, and potential source leaks The idea of multi-cloud, site-wide outage, and cloud agnosticism Hybrid cloud vs true multi-cloud Standardizing methods of packaging and deploying applications in the future Links mentioned in this episode: SmartLogic — https://smartlogic.io/ SmartLogic Twitter — https://twitter.com/smartlogic Massdriver — https://www.massdriver.cloud/ State of Production Survey (with Sweet Raffle Prizes) — https://blog.massdriver.cloud/surveys/state-of-production-2023/ $5000 Massdriver Credit — https://www.massdriver.cloud/partners/elixir-wizards Elephant in the Cloud Blog Post — https://startups.microsoft.com/blog/elephant-in-the-cloud/ RIAK — https://github.com/basho/riak Otel — https://hexdocs.pm/ Terraform — https://hexdocs.pm/terraform/Terraform.html DigitalOcean — https://www.digitalocean.com/ Heroku — https://www.heroku.com/ Linode — https://www.linode.com/ Docker — https://www.docker.com/ Kubernetes — https://kubernetes.io/ Webhooks — https://hexdocs.pm/elixirplaid/webhooks.html GitOps — https://hexdocs.pm/gitops/readme.html Helm — https://helm.sh/docs/ Special Guest: Cory O'Daniel.
It's the season 10 premiere of the Elixir Wizards podcast! Sundi Myint, Owen Bickford, and Dan Ivovich kick off the season with a spirited conversation about what they hope to see in the future of the Elixir programming language, experiences that inform their predictions, and excitement for this season's lineup of guests. They touch on how Elixir has evolved in the previous ten years and how the range of use cases has expanded beyond web development. The hosts introduce the season 10 theme: The Next Ten Years of Elixir Dan explains his initial hesitation and how he was ultimately won over by the language Owen talks about functional programming and why Elixir piqued his interest Sundi compares Elixir to other languages she's worked with and why she thinks it's more intuitive and readable Sundi talks about her recent experience using Flutter for mobile application development The hosts express excitement about the various ways Elixir is currently being used and its potential for growth The Wizards express interest in hearing from guests this season to gain more perspective They discuss Phoenix, LiveView, documentation, Flutter, Dart, and resources available to the Elixir community, and the benefits of being fluent in different programming languages Owen suggests that Elixir and Phoenix are optimal for projects with limited resources and leaner teams They highlight the importance of building resource-efficient apps that work well on low-powered devices Dan expresses his desire to embrace types more but acknowledges that a first-party typing system is unlikely The speakers discuss how Elixir has made complex tasks more accessible through features like LiveView, Phoenix Presence, WebSockets, Pub/Sub, Nerves, and ML libraries They express excitement about the possibilities for the future of Elixir Links mentioned in this episode: SmartLogic — https://smartlogic.io/ SmartLogic Twitter — https://twitter.com/smartlogic Axon – https://hexdocs.pm/axon/Axon.html Bumblebee – https://hex.pm/packages/bumblebee HEEx – https://hexdocs.pm/phoenixliveview/assigns-eex.html Phoenix LiveView – https://hexdocs.pm/phoenixliveview/Phoenix.LiveView.html Numerical Elixir – https://hexdocs.pm/nx/intro-to-nx.html Hugging Face – https://huggingface.co/docs Flutter – https://docs.flutter.dev/ Dart – https://dart.dev/ Broadway – https://hexdocs.pm/broadway/Broadway.html Phoenix Presence – https://hexdocs.pm/phoenix/Phoenix.Presence.html Nerves – https://hexdocs.pm/nerves/getting-started.html WebSocket – https://hexdocs.pm/web_socket/readme.html
Elixir Wizards Season 9 is coming to an end! In the season finale, hosts Sundi, Bilal, Owen, and Dan reflect on the guests and highlights that made this season unforgettable. We thank you for joining us as we parsed the particulars and can't wait to reconnect next season for more insightful conversations! *Please remember to take our LISTENER SURVEY (https://smr.tl/survey2022) so we can come back bigger and better for Season 10 – Coming in early 2023!! * SmartLogic — https://smartlogic.io/ SmartLogic Twitter — https://twitter.com/smartlogic
Today on Elixir Wizards, Marcelo Dominguez, co-founder at Mimiquate, joins us to parse the particulars of command query responsibility segregation (CQRS). Mimiquate is a specialized team of developers providing solutions for their clients with Elixir, Ruby on Rails, and Ember. Tune in to learn the benefits and potential applications of CQRS. *Please remember to take our LISTENER SURVEY (https://smr.tl/survey2022) so we can come back bigger and better for Season 10 – Coming in early 2023!! * The Wizards catch up with Marcelo and hear about ElixirConf Uruguay and Advent of Code 2022 Marcelo and the hosts run through their experience with CQRS and event sourcing The definition of CQRS What is the elevator pitch for CQRS Marcelo distinguishes between database writes and reads What are some limitations of the CRUD pattern How to know whether your application will benefit from the CQRS pattern What tools are in the Elixir ecosystem for implementing CQRS How to quickly recover from outages within a mature CQRS application How multi-node distribution impact CQRS architecture Links Mentioned in Today's Episode: Eventsourcing and CQRS in Elixir (https://www.youtube.com/watch?v=NTzP_5CHqKk) CQRS Pattern (Microsoft) (https://learn.microsoft.com/en-us/azure/architecture/patterns/cqrs) Commanded (Hex Docs) (https://hexdocs.pm/commanded/Commanded.html) Advent of Code (https://adventofcode.com/) Marcelo's Advent of Code Gist for Day 1 (https://gist.github.com/marpo60/bcf7dd45003adfe01b5581d03157a5de) Marcelo Dominguez on LinkedIn — https://uy.linkedin.com/in/marpo60 Marcelo Dominguez on Twitter — https://twitter.com/marpo60 Marcelo Dominguez on GitHub – https://github.com/marpo60 Mimiquate – https://www.mimiquate.com/ SmartLogic — https://smartlogic.io/ SmartLogic Twitter — https://twitter.com/smartlogic
Today on Elixir Wizards, Chris Miller, software engineer at Corvus Insurance, joins us again for an in-depth discussion on the different approaches to programming. We dive into the conception and origin of new languages and how they evolve to solve new problems over time. Key Points From This Episode: The hosts catch up with Chris and learn a bit about Corvus Insurance What excites Chris about programming language and new ways of thinking Chris' fascination with all different types of languages from Chinese to Greek to C++ We get a refresher on the concept of Domain Specific Language What DSL is being used for certains problems in the domain at Corvus Insurance Why a coder should care about the crafting of a programming language We discuss why all coders don't only write assembly code Chris breaks down how he has attempted to write his own programming language We learn some inside tips on how stay within the abstract boundary when building a domain How Chris' experience with multiple coding languages has influenced his work in Elixir What the advantage of knowing multiple languages is Links Mentioned in Today's Episode: Corvus Insurance on Twitter — https://twitter.com/CorvusInsurance Corvus Insurance -- https://www.corvusinsurance.com/ SmartLogic — https://smartlogic.io/ SmartLogic Twitter — https://twitter.com/smartlogic
Today on Elixir Wizards, we speak with two great minds in the Elixir community: Frank Hunleth from SmartRent and Joe Martin from Company Six. Join us to parse the particulars of Nerves, from production and terminology, to stacks, customization, and how they function. *Please remember to take our LISTENER SURVEY (https://smr.tl/survey2022) so we can come back bigger and better for Season 10 – Coming in early 2023!! * Key Points From This Episode: How both Frank & Joe became interested in Elixir We learn what nerves is currently being used for in production How Nerves is being utilized within farming and energy companies What the elevator pitch for nerves would be How well nerves play with pre-existing embedded projects in other languages, especially when having to coexist within a system How much can a user customize nerves What is Buildroot and the functions that it serves Frank explains how there are two worlds: elixir world & nerves systems Joe and Frank let us know what they are most excited about in the near future of nerves and Elixir Links Mentioned in Today's Episode: LISTENER SURVEY – https://smr.tl/survey2022 Nerves Livebook – https://github.com/livebook-dev/nerves_livebook Frank Hunleth on LinkedIn — https://www.linkedin.com/in/fhunleth/ Frank Hunleth on Twitter — https://twitter.com/fhunleth Frank Hunleth on GitHub -- https://github.com/fhunleth Joe Martin on LinkedIn — https://www.linkedin.com/in/joseph-martin-265861b2/ Joe Martin on GitHub – http://github.com/josephmartin09 SmartRent -- https://smartrent.com/ Company Six – https://www.co6.com/ SmartLogic — https://smartlogic.io/ SmartLogic Twitter — https://twitter.com/smartlogic
Today on Elixir Wizards, we chat with Jenny Bramble. Jenny is the Director of Quality Engineering at Papa, a platform that connects older adults and low-income families with companionship and a helping hand with daily tasks. Tune in to learn more about Jenny's experience with testing and team collaboration at Papa. Key Points From This Episode: Jenny tells us about her journey to learning Elixir (for 8 years now!) We learn about the 24 talks that Jenny has done as a keynote speaker The breakdown of her talk this year at Elixir Conf on upgrades How Jenny got in to writing tests after going to college for computer science What goes into developer handoff and how that varies depending on the company and team The connection and importance between customer service and empathy What it's like to work in Quality Engineering and Testing at Papa What is testing? She provides helpful tips of things that tend to be caught up by QA during code reviews Jenny has a course on management for Test Automation coming out in 2023! Links Mentioned in Today's Episode: Jenny Bramble on LinkedIn — https://www.linkedin.com/in/jennybramble/ Jenny Bramble on Twitter — https://twitter.com/jennydoesthings Jenny Bramble on GitHub -- https://github.com/jennydoesthings Papa -- https://www.papa.com/ SmartLogic — https://smartlogic.io/ SmartLogic Twitter — https://twitter.com/smartlogic
As software developers, there are many different types of companies we can work at. We met up with the Elixir Wizards crew to learn more about working at a Software Agency like SmartLogic. We compare what this is like vs working at a product company. Of course, we take the opportunity to learn more about Sundi Myint and Owen Bickford, their journeys to Elixir and the work they are doing now. Sundi shares how becoming an Engineering Manager presented new growth opportunities and Owen goes deeper on the ETL system he's creating to migrate an MSSQL DB to Postgres and how gets to play with Broadway in the process. Show Notes online - http://podcast.thinkingelixir.com/126 (http://podcast.thinkingelixir.com/126) Elixir Community News - https://www.youtube.com/playlist?list=PLqj39LCvnOWbmaPrkGCAzFMC_FYZUkmSr (https://www.youtube.com/playlist?list=PLqj39LCvnOWbmaPrkGCAzFMC_FYZUkmSr) – Final batch of ElixirConf US 2022 videos were released! - https://fly.io/phoenix-files/github-actions-for-elixir-ci/ (https://fly.io/phoenix-files/github-actions-for-elixir-ci/) – CI for Elixir projects using Github Actions and CD to auto-deploying on Fly.io - https://nathanwillson.com/blog/posts/2022-11-11-partitioned_tests/ (https://nathanwillson.com/blog/posts/2022-11-11-partitioned_tests/) – Nathan Wilson showed how to partition CI tests over more runners for faster overall time. - https://twitter.com/nathanwillson/status/1591604043780358144 (https://twitter.com/nathanwillson/status/1591604043780358144) – Nathan Wilson documented how dead-view controllers, pages, and views were restructured. - https://fly.io/phoenix-files/opentelemetry-and-the-infamous-n-plus-1/ (https://fly.io/phoenix-files/opentelemetry-and-the-infamous-n-plus-1/) – Alex Koutmos wrote a guide and sample project showing how to use OpenTelemetry with Elixir and visualize the data in Grafana. - https://elixirforum.com/t/visual-font-for-diagramming-elixir/51477 (https://elixirforum.com/t/visual-font-for-diagramming-elixir/51477) – Unique Elixir font created that renders as graphics of data structures. 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://smartlogic.io/ (https://smartlogic.io/) - https://smartlogic.io/podcast/elixir-wizards/ (https://smartlogic.io/podcast/elixir-wizards/) - https://smartlogic.io/about/team (https://smartlogic.io/about/team) - https://www.cava.com/ (https://www.cava.com/) - https://smartlogic.io/software-development/ (https://smartlogic.io/software-development/) - https://elixir-broadway.org/ (https://elixir-broadway.org/) - https://en.wikipedia.org/wiki/Extract,transform,load (https://en.wikipedia.org/wiki/Extract,_transform,_load) - https://www.microsoft.com/en-us/sql-server/sql-server-downloads (https://www.microsoft.com/en-us/sql-server/sql-server-downloads) - https://github.com/elixir-ecto/tds (https://github.com/elixir-ecto/tds) - https://hex.pm/packages/webauthnlivecomponent (https://hex.pm/packages/webauthn_live_component) - https://www.youtube.com/watch?v=krbriAecqUk (https://www.youtube.com/watch?v=krbriAecqUk) – Owen's ElixirConf talk about his WebAuthnLiveComponent - https://smartlogic.io/about/jobs (https://smartlogic.io/about/jobs) Guest Information - https://twitter.com/smartlogic (https://twitter.com/smartlogic) – SmartLogic on Twitter - https://twitter.com/owenbickford (https://twitter.com/owenbickford) – Owen on Twitter - https://twitter.com/sundikhin (https://twitter.com/sundikhin) – Sundi on Twitter - https://github.com/smartlogic/ (https://github.com/smartlogic/) – SmartLogic on Github - https://github.com/type1fool/ (https://github.com/type1fool/) – Owen Bickford on Github - https://github.com/liveshowy/webauthnlivecomponent (https://github.com/liveshowy/webauthn_live_component) - https://www.owencode.com/ (https://www.owencode.com/) – Owen's blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
We are excited to have SmartLogic's own Harper Atlas as our guest on Elixir Wizards today! Harper, a product designer at SmartLogic (and cat lady at home), joins us on this episode to parse the particulars of the Tailwind framework from a designer's perspective. Join us to gain insights from our first non-engineer guest in this spirited conversation with Harper! Key Points From This Episode: We learn about Harper's journey into the UX field Harper breaks down her day-to-day life as a product designer at SmartLogic What the difference between FigMa and FigJam is The good & bad sides of Tailwind What goes into developer handoff and how that varies depending on the company and team The importance of finding common language and bridging the gap between developer island and design island within a developer handoff The features that Harper doesn't like about Tailwind How Tailwind has started to feel like the Baader-Meinhof Phenomenon Harper gives developers some advice on how to be more helpful to designers while working in a Tailwind space Links Mentioned in Today's Episode: Harper Atlas on LinkedIn — https://www.linkedin.com/in/harper-atlas Harper Atlas on Twitter — https://twitter.com/harperatlas SmartLogic — https://smartlogic.io/ SmartLogic Twitter — https://twitter.com/smartlogic
Today on the show we're excited to have Theo Harris here to discuss Onboarding Into Elixir. Theo is a technical consultant working for Alembic in Sydney, Australia. He is currently working on a project utilizing Elixir and Phoenix LiveView. Tune in today to learn more about Onboarding Into Elixir, from our guest Theo Harris! Key Points From This Episode: A brief breakdown of today's topic and introduction to our special guest, Theo Harris Theo lets us in on his current hot tech take We discuss accessibility tips and tricks Theo gives us the run down on Alembic and what they do at their company We find out whether or not Theo has a pet dinosaur We learn of the technical challenges that Theo has faced as an Elixir Engineer The breakdown of the onboarding process at Alembic Theo gives advice to beginners on how to learn Elixir/Phoenix Links Mentioned in Today's Episode: Theo Harris on Twitter — https://twitter.com/dino_coder Theo Harris on GitHub — https://github.com/Theosaurus-Rexv Theo Harris on LinkedIn — https://www.linkedin.com/in/theo-harris-coder/ Alembic — https://alembic.com.au/ SmartLogic — https://smartlogic.io/ SmartLogic Twitter — https://twitter.com/smartlogic
Today we welcome Jason Stiebs to the podcast to talk about all things LiveView and how he was originally wrong about LiveView in the beginning. Jason is the founder at Rokkincat, and a core contributor to Phoenix. Jason loves finding solutions to complex problems and mentoring young engineers. Tune in today to learn more about LiveView from today's special guest, Jason Stiebs! Key Points From This Episode: A brief breakdown of today's topic and introduction to our special guest, Jason Stiebs A summary of Jason's talk at ElixirConf on why he initially was wrong about LiveView How Jason became a Phoenix core team member What is stopping LiveView from being 1.0 Is there something that would make LiveView ‘complete' How to decide to use LiveView over an SPA framework Do you know if there are any folks out there putting together tooling for LiveView? Thinking like Chrome devtools, performance monitoring, etc. What tools can we use to compare our LiveView performance to non LV performance? What Jason's thoughts about a time traveling feature for LiveView like what React / Redux has What some featuresare from other frameworks that Jason would like to see in LiveView one day How often Jason sees mixed LV and non LV projects We hear about what's next in terms of features for functional components Links Mentioned in Today's Episode: Jason Stiebs on Twitter — https://twitter.com/peregrine Jason Stiebs on GitHub — https://github.com/jeregrine Jason Stiebs on LinkedIn — https://www.linkedin.com/in/jasonstiebs/ Jason Stiebs Email Address – jason@rokkincat.com RokkinCat — https://rokkincat.com/ SmartLogic — https://smartlogic.io/ SmartLogic Twitter — https://twitter.com/smartlogic
This week the Thinking Elixir Podcast is taking over Elixir Wizards! Mark & David from Thinking Elixir are here today to parse the particulars of Ecto Queries! Mark Ericksen is an Elixir Specialist at Fly.io and host of Thinking Elixir. David Bernheisel is a Senior Software Engineer at Stripe and host of Thinking Elixir. Tune in today to learn more about Ecto Queries from today's special guests, Mark Ericksen and David Bernheisel! Key Points From This Episode: A brief breakdown of today's topic and introduction to our special guests, Mark & David The hosts catch up with Mark & David and learn about David's new book Ecto In Production Dave Lucia is mentioned once again, can we go one episode without talking about him? Find out how long David & Mark have been working in databases We get the breakdown of what an Ecto Query is There is a discussion around schema migrations vs data migrations and how to avoid common pain points Learn what resources are available for learning Ecto We find out what the pin operator is and when it is used What an extensive query is and how to optimize queries We learn about fun edge cases that we've bumped into while working with Ecto The ins and outs of Ecto dump and Ecto load ”Ecto is a whole wide world of information. You think you know a lot and then you realize you don't. Nope, I'm almost just as dumb as I was five years ago about SQL and Ecto. Nope, it evolves. It gets deep.” - Mark Ericksen Links Mentioned in Today's Episode: Mark Ericksen on Twitter — https://twitter.com/brainlid Mark Ericksen on LinkedIn — https://www.linkedin.com/in/mark-ericksen-66397417/ David Bernheisel on Twitter – https://twitter.com/bernheisel David Bernheisel on GitHub – https://github.com/dbernheisel David Bernheisel on LinkedIn – https://www.linkedin.com/in/bernheisel/ Thinking Elixir Podcast https://podcast.thinkingelixir.com/ SmartLogic — https://smartlogic.io/ SmartLogic Twitter — https://twitter.com/smartlogic Use The Index, Luke! https://use-the-index-luke.com/ Postgresql Tutorial https://www.postgresqltutorial.com/ Postgresql subqueries https://stackoverflow.com/questions/3004887/how-to-do-a-postgresql-subquery-in-select-clause-with-join-in-from-clause-like-s https://www.w3resource.com/sql/subqueries/understanding-sql-subqueries.php Fly Blog: Safe Ecto Migrations https://fly.io/phoenix-files/safe-ecto-migrations/ Crunchy Data Developer Tutorials https://www.crunchydata.com/developers/tutorials Crunchy Data Postgres Tips https://www.crunchydata.com/postgres-tips Ecto in Production https://www.ectoinproduction.com/ SQL Join Illustration https://commons.wikimedia.org/wiki/File:SQLJoins.svg SQL Join Illustration https://i.stack.imgur.com/UI25E.jpg
Season 9 is in full swing and we are so excited to welcome Kate Rezentes today to dive into the particulars of GenServers. Kate is a Junior Software Developer at Simplebet, a B2B product development company using machine learning and real-time technology to make every moment of every sporting event a betting opportunity. Tune in today to learn more from today's special guest, Kate Rezentes! Key Points From This Episode: A brief breakdown of today's topic and introduction to our special guest, Kate Rezentes We learn about Kate's background and her long history with programming We discuss how many conferences she's attended and why ElixirConf has been her favorite (thus far) Find out how Kate landed a job while attending ElixirConf How GenServers as a subject came to be We get an inside look at Kate's working experience at Simplebet and her experience as a Junior Engineer in the industry so far What cases in particular cause the need for a GenServer We discuss where GenServers would be appropriate to use and why The ins and outs of ‘handle calls' and ‘callbacks' The process of testing a GenServer and data storage_ **Links Mentioned in Today's Episode:* Kate Rezentes on Twitter — https://twitter.com/rezkate Kate Rezentes on GitHub — https://github.com/KateRezentes Kate Rezentes on LinkedIn — https://www.linkedin.com/in/kfrezent/ Simplebet — https://simplebet.io/ SmartLogic — https://smartlogic.io/ SmartLogic Twitter — https://twitter.com/smartlogic
Welcome to our first episode of Season 9 Elixir Wizards, Parsing the Particulars. A show focused on conversations with software developers from around the world on the Elixir language and other modern web technologies. Today, we are joined by Dave Lucia, Chief Technology Officer at Bitfo, a cryptocurrency media company building educational content for people who are interested in cryptocurrency. Dave is active in the Elixir community and in the past has spoken at Code BEAM SF, ElixirConf, RabbitMQ Summit, and has written several blog posts which can be found at davelucia.com. In today's episode we find out more about Dave's professional background and dive into the particulars of observability. Tune in today to learn more from today's special guest, Dave Lucia! Key Points From This Episode: A brief breakdown of today's topic and introduction to our special guest, Dave Lucia We find out about Bitfo and what services they offer We discuss Dave's blog post on observability Find out how Dave wrote the blog post because he saw a gap at his company How Sundi proofread Dave's blog post and realized her lack of knowledge on observability The most common mistake teams or engineers make when it comes to observability We peel back the layers on what telemetry is What the difference between telemetry and OpenTelemetry is How to choose which tool is right when it comes to better observability *The breakdown of the uses for observability telemetry *When and why would we use OpenTelemtry vs basic observability *What languages Dave started in before he was working in Elixir *How Elixir lends better for observability *Where to start if you want to implement basic observability for someone who has no experience with it *Dave answers the question, “can you go too far with observability?” *We discuss Livebook and what exciting things it will bring for the future *Most importantly, Dave explains why pineapples are important to him **Links Mentioned in Today's Episode: Dave's blog post on Observability: https://davelucia.com/blog/observing-elixir-with-lightstep Dave Lucia on Twitter — https://twitter.com/davydog187 Dave Lucia on GitHub — https://github.com/davydog187 Dave Lucia on LinkedIn — https://www.linkedin.com/in/david-lucia-a395441b/ Bitfo — https://www.bitfo.com/ SmartLogic — https://smartlogic.io/ Sundi Myint on Twitter — https://twitter.com/sundikhin Owen Bickford on Twitter — https://twitter.com/owenbickford/ SmartLogic — https://smartlogic.io
Hey everyone, Season 9 of Elixir Wizards is back! This season's theme is Parsing the Particulars, where we dive into particular subjects with our guests. Your returning hosts this season are Sundi, Owen and Dan! And we are excited to announce that we have a new host joining the show - Bilal Hankins! Bilal is a Software Developer at SmartLogic and is super excited to join us this season. Some of this season's guests include Dave Lucia, CTO at Bitfo, Tyler Young, Senior Software Developer at Felt, and Kate Rezentes, Junior Developer at SimpleBet. Can't wait to see you there! SmartLogic — https://smartlogic.io/ SmartLogic on Twitter — https://twitter.com/smartlogic SmartLogic on LinkedIn — https://www.linkedin.com/company/smartlogic-io/ SmartLogic on Facebook — https://www.facebook.com/smartlogic/ Bilal Hankins on LinkedIn — https://www.linkedin.com/in/hankins-bilal/ Sundi Myint on LinkedIn — https://www.linkedin.com/in/sundimyint/ Owen Bickford on LinkedIn — https://www.linkedin.com/in/owen-bickford-8b6b1523a/
ElixirConf US 2022 just finished! We cover the big announcements, talk highlights, and other relevant tech news. We discuss what some of these big announcements and projects represent and what they might mean for the Elixir community going forward. We talk about the Elixir 1.14 release, Livebook advances, Phoenix 1.7, machine learning progress, and the surprise announcement of Phoenix LiveView Native! Show Notes online - http://podcast.thinkingelixir.com/115 (http://podcast.thinkingelixir.com/115) Elixir Community News - https://elixir-lang.org/blog/2022/09/01/elixir-v1-14-0-released/ (https://elixir-lang.org/blog/2022/09/01/elixir-v1-14-0-released/) – Elixir v1.14 officially released - https://github.com/elixir-lang/elixir/blob/v1.14.0/CHANGELOG.md#changelog-for-elixir-v114 (https://github.com/elixir-lang/elixir/blob/v1.14.0/CHANGELOG.md#changelog-for-elixir-v114) – Elixir 1.14 changelog - https://github.com/elixir-lang/elixir/blob/v1.14.0/CHANGELOG.md#changelog-for-elixir-v114 (https://github.com/elixir-lang/elixir/blob/v1.14.0/CHANGELOG.md#changelog-for-elixir-v114) – Nerves v1.9.0 fixed Elixir 1.14 warnings - Phoenix 1.7 upcoming release discussed - Phoenix 1.7 generators will use Tailwind CSS - New phx.gen.auth --live option - https://github.com/liveviewnative/liveview-client-swiftui (https://github.com/liveviewnative/liveview-client-swiftui) – Phoenix LiveView Native was announced - https://github.com/liveviewnative/elixirconf_chat (https://github.com/liveviewnative/elixirconf_chat) – ElixirConf Chat project created using Phoenix LiveView Native - https://getfirefly.org (https://getfirefly.org) – Lumen was renamed to Firefly - https://twitter.com/HoldenOullette/status/1565486046237921280 (https://twitter.com/HoldenOullette/status/1565486046237921280) – Podium released an OWASP security training LiveBook for Elixir developers. - https://github.com/podium/elixir-secure-coding (https://github.com/podium/elixir-secure-coding) – Elixir Secure Coding Training (ESCT) - https://www.ectoinproduction.com (https://www.ectoinproduction.com) – Ecto In Production future home - https://github.com/liveshowy/webauthnlivecomponent (https://github.com/liveshowy/webauthn_live_component) – SmartLogic released a LiveComponent to support WebAuthn authentication for your LiveView app - https://github.com/liveshowy/webauthnlivecomponent_demo (https://github.com/liveshowy/webauthn_live_component_demo) – WebAuthn authentication demo page - https://github.com/kipcole9/tempo (https://github.com/kipcole9/tempo) – Kip Cole released a new kind of DateTime library called Tempo - https://kipcole9.github.io/tempo/2021-01-04-its-about-time/ (https://kipcole9.github.io/tempo/2021-01-04-its-about-time/) – Temp blog post explains more about it. - https://twitter.com/steveschoger/status/1562117153591107586 (https://twitter.com/steveschoger/status/1562117153591107586) – Heroicons v2.0 released. Used in TailwindUI templates. - https://twitter.com/louispilfold/status/1564247740879609860 (https://twitter.com/louispilfold/status/1564247740879609860) – Louie Pilford showed a screenshot of Gleam compiling Elixir's Plug - https://blog.heroku.com/next-chapter (https://blog.heroku.com/next-chapter) – Heroku, a popular PaaS made significant policy changes. Ending free tier and more. - https://spectrum.ieee.org/top-programming-languages-2022 (https://spectrum.ieee.org/top-programming-languages-2022) – IEEE Top Programming Languages 2022 - https://twitter.com/josevalim/status/1565408635961884673 (https://twitter.com/josevalim/status/1565408635961884673) – José Valim shared they are porting non-neural algorithms to Elixir/Nx which runs on both CPU/GPU. Shared impressive performance comparisons. - Chris Grainger gave a keynote about how Elixir is ready for real, production machine learning work. - https://www.lambdadays.org/lambdadays2022 (https://www.lambdadays.org/lambdadays2022) – Lambda Days conference. 5-6 June 2023 in Krakow, Poland 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) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
It's the season finale show! Can you believe it? Join us this week as Sundi, Owen, and Dan take a look back at this season of Elixir Wizards! You'll hear their discussion about favorite moments over the season and learn about this season's theme and its origin, and what they learned throughout the season. Enjoy and we hope to see you back for Season 9! Key Points From This Episode: Reflection on the guests experiences with all different types of language How the team landed on the theme of Elixir in a Polyglot Environment Having expectation of guests vs how the conversation turned out The discovery that environment influences the strength of the code that is being written We dig deeper into the flexibility of all of these companies How the hosts enjoyed the dream language combination answers from guests We hear about the teams experience with their first in-person recording Hearing about guests personal experiences and projects vs just their at-work experience We find out what birds do when they're excited in a tree Flutter as a solution for building mobile applications The hosts likes, dislikes, experience with Flutter and the difference it brings to the table We reflect on a guest applying gamification The hosts discuss the guests range of experience, from a year to decades in the field, and how many different perspectives were shown with different backgrounds A recurring theme of the guests: structuring teams to fit the needs of the company - recurring theme Hearing about products and projects guests are working on Links Mentioned in Today's Episode: SmartLogic — https://smartlogic.io/ SmartLogic on Twitter — https://twitter.com/smartlogic SmartLogic on LinkedIn — https://www.linkedin.com/company/smartlogic-io/ SmartLogic on Facebook — https://www.facebook.com/smartlogic/ Dan Ivovich on LinkedIn — https://www.linkedin.com/in/divovich/ Sundi Myint on LinkedIn — https://www.linkedin.com/in/sundimyint/
Joining us today on Elixir Wizards is Catalina Astengo, Staff Software Engineer at Nav Inc. We chat with Catalina about how she went from working as a process engineer in a mine to a software engineer in beautiful Salt Lake City. In today's show we find out more about Catalina's professional background, how and why she started taking Ruby courses while working at a mine in southern Utah, how she fell in love with Salt Lake City and what it looked like transitioning to a new profession. We learn about the ins & outs of Nav and their team roles, as well as how they keep up with all of the languages that they are using including Elixir, Ruby, Go and JS. Tune in today to learn more from today's special guest, Catalina Astengo! Key Points From This Episode: A brief breakdown of today's topic and introduction to our special guest, Catalina Astengo. What it was like working in a small town in a mine in southern Utah What a process engineer is and what the job title entails What prompted the switch from process engineering to software engineering What Nav does as a company Catalina gives us a rundown of her professional career. Is this the most Polyglot stack we have encountered this season!? The ins & outs at Nav and their teams roles How Nav uses Elixir on a daily basis How Nav keeps up to date on all of the languages they are using Concerns about using multiple languages on the backend Context switching between languages How Nav decided to use Golang and why she prefers Elixir Where Nav is based and where they are hiring How Catalina and her team made a home movie production of Beetlejuice We review Elixir Conf 2020 and takeaways that Catalina had from the conference How Nav uses GRPC RP vs GRPC - what's the difference? Protobuf for validation schemes across GPS Ways to validate event payloads by using the Graph QL We discuss our experience with management vs. coding Owens penguin discovery about Catalina on the Nav website Links Mentioned in Today's Episode: Catalina Astengo on Twitter — https://twitter.com/catalinaastengo Catalina Astengo on GitHub — https://github.com/castengo Catalina Astengo on LinkedIn — https://www.linkedin.com/in/catalinaastengo/ Blog Post on Graph QL Schema Validation – https://www.infoq.com/news/2022/05/graphql-schema-validation/ Nav Careers — https://www.nav.com/ SmartLogic — https://smartlogic.io/ Sundi Myint on LinkedIn — https://www.linkedin.com/in/sundimyint/ Sundi Myint on Twitter — https://twitter.com/sundikhin SmartLogic on Twitter — https://twitter.com/smartlogic_com SmartLogic on LinkedIn — https://www.linkedin.com/company/smartlogic-io/ SmartLogic on Facebook — https://www.facebook.com/smartlogic/ Sundi Myint on LinkedIn — https://www.linkedin.com/in/sundimyint/ Sundi Myint on Instagram — https://www.instagram.com/sundikhin/ Sundi Myint on Twitter — https://twitter.com/sundikhin/ Sundi Myint on YouTube — https://www.youtube.com/sundimyint/ Owen Bickford on Twitter — https://twitter.com/owenbickford/ Owen Bickford on YouTube — https://www.youtube.com/c/OwenBickford/
Welcome to another episode of Elixir Wizards, a show focused on conversations with software developers from around the world on the Elixir language and other modern web technologies. In today's episode, we speak with Meks McClure, a Full Stack Software Engineer with an unconventional background in Biology and Philosophy. Meks found their passion for programming after building a website for a Mexican non-profit, Permanencia Voluntaria, using wix.com. Seeing people use the website and how it helped the community inspired Meks to pursue a career in programming. They are currently based at NewAperio, a software development company, as a Junior Developer. In today's show we find out more about Meks's professional background, NewAperio and the services they offer, more about their unconventional training background, challenges transitioning to a new career path, the importance of effective communication in the workplace, the significance of Pride Month, Meks's very cool desk setup, and much more! Tune in today to learn more from today's special guest, Meks McClure! Key Points From This Episode: A brief breakdown of today's topic and introduction to our special guest, Meks McClure. We find out about NewAperio and what services they offer. How long Meks has been based at NewAperio. Find out what the NewAperio tradition is for people celebrating their work anniversary. A light-hearted discussion about singing Happy Birthday to colleagues. Meks gives us a rundown of their professional career. We find out more about Meks's non-traditional programming background. How long they have been using Elixir for and how they initially got started in it. The lessons they learned from their Flatiron and Elixir development experience. What was most difficult transitioning from working Ruby to Elixir. Keeping a balance between learning and meeting productivity targets. The moment when Meks felt like they were making good progress transitioning. Some advice they have for people learning Elixir. Other projects that Meks is currently working on and programming languages used. How boot camp is different from real-world situations, in terms of programming. We find out about Meks's current Star Wars obsession. The importance of finding enjoyment outside of work. Meks shares their personal journey to becoming the person they are today. A conversation about the importance of Pride Month and keeping an open mind. A highlight of some communication challenges that come with remote working. Why empathetic and effective communication is essential in the workplace. We reflect on some recent networking opportunities and conferences. The approach at NewAperio to networking and conferences. Details about Meks' desk setup and why it is called the ‘Moon Lander'. More about their desk setup: keycap preferences. How learning Elixir changed the way Meks thinks about programming in general. Meks explains their approach to writing code. What their ultimate combination of programming languages are. What opportunities or weaknesses that a polyglot environment can introduce. *Links Mentioned in Today's Episode: * * Meks McClure on Twitter — https://twitter.com/mmcclure0100 * Meks McClure on GitHub — https://github.com/MMcClure11 * Meks McClure on LinkedIn — https://www.linkedin.com/in/meksmcclure/ * NewAperio — https://newaperio.com/ * SmartLogic — https://smartlogic.io/ * Sundi Myint on Twitter — https://twitter.com/sundikhin * Owen Bickford on Twitter — https://twitter.com/owenbickford/ * SmartLogic — https://smartlogic.io * Moon Lander — https://www.zsa.io/moonlander/ * Difficult Conversations — https://www.penguinrandomhouse.com/books/331191/difficult-conversations-by-douglas-stone-bruce-patton-and-sheila-heen-foreword-by-roger-fisher/ * Kailh Speed Silver (Linear) Mechanical Switch Kit — https://www.amazon.com/Silver-Linear-Mechanical-EVGA-Keyboard/dp/B09N9BXW7Z Special Guest: Meks McClure.
A superpower of software development is teaching our code to teach us what's happening. This is observability, and it's why Jessica Kerr works at Honeycomb, where she is a Developer Advocate. After twenty years as a developer, Jess sees software as a significant force in the world. As a symmathecist in the medium of code, she views development teams as learning systems made of both people and software. She believes that, if we allow the software to teach us, it becomes a better teammate and, if this process makes us into systems thinkers, we can be better people in the world! Today, Jess compares the way we work in teams to game design and we find out what she means by observability and how it can serve everybody on a team. She elaborates on the remarkable agency that software developers have and how the languages they use can empower them, especially when they aren't having specific architecture imposed on them! We also touch on what being a polyglot means to Jess, the value of working with rather then against complexity, and what Jess means when she says a software team is the perfect example of a symmathesy, plus so much more, so make sure to tune in today for this fascinating conversation with Jessica Kerr! *Key Points From This Episode: * * Jess starts by drawing an interesting comparison between teamwork and game design. * Insight into her journey as a developer and how she was introduced to Elixir. * Discover Jess' connection to Elixir iteratees via Jose Valim! * Her role at Honeycomb, the languages she uses, and what she means by observability. * Why Jess believes that developers have agency and enormous power. * Why the best language to use is the one that you and your team know best. * The value of standardizing the platform rather than trying to dictate the language. * How observability reveals connections and acts as one tool that serves everybody. * Congressive versus ingressive behavior as per Dr. Eugenia Cheng. * What being a polyglot means to Jess: accepting that others don't think just like you do and actively learning from them. * Working skillfully within complexity rather than trying to eliminate it. * How people gain exposure to different languages at Honeycomb. * The importance of understanding what architecture is being imposed on you. * Jess' favorite talk on symmathesy and why a software team in particular is a symmathesy. * Opportunities and/or weaknesses that being in a polyglot environment can introduce. * Ways you can connect with Jess and even sign up for a 30-minute chat with her! *Links Mentioned in Today's Episode: * Jessica Kerr — https://jessitron.com/ Jessica Kerr on LinkedIn — https://www.linkedin.com/in/jessicakerr/ Jessica Kerr on Twitter — https://twitter.com/jessitron Honeycomb — https://www.honeycomb.io/ Schedule a Call with Jess — honeycomb.io/office-hours Games: Agency As Art — https://objectionable.net/games-agency-as-art/ OpenTelemetry — https://opentelemetry.io/ Matthew Skelton — https://blog.matthewskelton.net/ Team Topologies — https://teamtopologies.com/ QCon — https://plus.qconferences.com/ Keynote: 'The Language is the Least of It' — https://youtu.be/nvV-4040xXI Dr Eugenia Cheng — http://eugeniacheng.com/ x + y — https://www.basicbooks.com/titles/eugenia-cheng/x-y/9781541646513/ 'Backend for frontend (BFF) pattern' — https://medium.com/mobilepeople/backend-for-frontend-pattern-why-you-need-to-know-it-46f94ce420b0 Abstract syntax tree — https://en.wikipedia.org/wiki/Abstractsyntaxtree Keynote: ‘Collective Problem Solving in Music, Science, Art, and Software' — https://jessitron.com/2019/11/05/keynote-collective-problem-solving-in-music-science-art-and-software/ SmartLogic — https://smartlogic.io/ Special Guest: Jessica Kerr.
Welcome back to another episode of Elixir Wizards. Today, we chat with Digit, a talented software engineer currently based at SmartRent. He became aware of the company when he started trying to modify his smart home and realized what was behind the software. Digit works on building applications within the SmartRent suite of tools using the Nerves ecosystem. Although fairly new at SmartRent, Digit loves the powerful applications of the software they are developing. In today's show we find out more about the work Digit is currently involved with at SmartRent and what they have in store for the future. We also discuss the pros and cons of living in a smart home, the different languages that Digit uses, what makes developing a game so challenging, Using Elixir for building DSLs to generate content for Unity, what Digit's opinion is of Burrito, and much more! For all this and more, be sure to tune in today! Key Points From This Episode: Introduction to today's show and brief catch-up of what everyone has been up to. We find out what talks at the conference Digit is most looking forward to. What OTP stands for: hint, it is not ‘Open Telephony Platform.' A brief discussion about the advantages of a one-day conference. We find out who all the people are that are going to give talks at EMPEX. Digit shares what it has been like working at SmartRent. We find out how Digit landed the job at SmartRent. Breakdown of what SmartRent is in terms of the high level. We get some insider knowledge of the next-generation technology at SmartRent. Rundown of what Flutter is and the advantages of using it. Discussion about the pros and cons of living in a smart home. Find out what the best smart thermostat is, according to Digit. The different programming languages that Digit is currently working in. Digit explains the type of WebSocket support available in Flutter. Background about Digit's experience in game development. What makes finishing developing a game so difficult. The language stack used to develop games. Using Elixir for building DSLs to generate content for Unity. Digit gives listeners an overview of Burrito. The advantages of using Burrito for cross-platform with no internet connection. Examples of real-world applications using Burrito. Other applications for Elixir outside of web application development. We get some insider information about a new Elixir-based project in the works. A rundown of the security applications using Macaroons. The power that passwordless authentication has to offer. We end the show with some takeaways from Digit for listeners. Links Mentioned in Today's Episode: Digit — https://puppy.surf Digit on GitHub — https://github.com/doawoo Digit on Twitter — https://twitter.com/doawoo SmartBit — https://www.smartbitdigital.net/ SmartBit on Facebook — https://www.facebook.com/smartbitdigitalsolutions/ SmartRent — https://smartrent.com SmartLogic — https://smartlogic.io/ SmartLogic on Twitter — https://twitter.com/smartlogic_com SmartLogic on LinkedIn — https://www.linkedin.com/company/smartlogic-io/ SmartLogic on Facebook — https://www.facebook.com/smartlogic/ Sundi Myint on LinkedIn — https://www.linkedin.com/in/sundimyint/ Sundi Myint on Instagram — https://www.instagram.com/sundikhin/ Sundi Myint on Twitter — https://twitter.com/sundikhin/ Sundi Myint on YouTube — https://www.youtube.com/sundimyint/ Owen Bickford on Twitter — https://twitter.com/owenbickford/ Owen Bickford on YouTube — https://www.youtube.com/c/OwenBickford/ EMPEX — https://www.empex.co Flutter — https://flutter.dev/ Special Guest: Digit.
Joining us in conversation today is Nathan Willson all the way from Tokyo, Japan. Listeners will learn about the polyglot landscape he works in from Japan, why he believes knowing a language, and mastering it, are two different things, and what his first foray into coding looked like. We touch on the necessary evil of MIDI plugins, and Nathan introduces listeners to GEMS, how you can use it, and what he has done to make it accessible across the globe. We talk latency issues, curbing the potential for abuse, and choosing to make an app open source, before delving into Nathan's other projects outside of GEMS, including the Elixir app, Biddy, that he built with five friends, When to Chat, and much more. Thanks for tuning in to hear from today's inspiring guest. Key Points From This Episode: An introduction to today's guest, Nathan Willson, his Canadian-Japanese history, his obsession with Elixir, and his musical experimental app, GEMS. The polyglot environment in which he works which is Japanese and English. Why knowing a language and mastering a language are such different things. His first foray into coding via Reaper's plugins. Why he considers MIDI to be a necessary evil. What GEMS, or Globally Editable Matrix Sequencer, is, and how it works. How Phoenix or Elixir can facilitate the use of GEMS anywhere in the world, at the same time. How he has approached the problem of the potential for abuse. Relative and absolute latency and how that impacts user experience between countries. Nathan's other projects outside of GEMS, including the Elixir app, Biddy, and TreeLib. The app, When to Chat, that Nathan has built. Where he picked up his design skills with a background in back-end engineering. Why he prefers BandCamp to Spotify as a music listener. How his knowledge of Elixir has helped him to code Ruby better. An invitation from Nathan to reach out with what you are working on. Links Mentioned in Today's Episode: Tone.js — https://tonejs.github.io/ BandCamp — https://bandcamp.com/ Nathan Wilson — https://nathanwillson.com/ Nathan Willson on Twitter — https://twitter.com/nathanwillson Nathan Willson on Instagram — https://www.instagram.com/nahtanw/ GEMS — https://gems.nathanwillson.com/ What is Max? | Cycling ‘74 — https://cycling74.com/products/max When to Chat —https://whentochat.co/ SmartLogic — https://smartlogic.io/ Special Guest: Nathan Willson.
This week we are joined by Sanne Kalkman, former teacher turned software engineer. Currently, Sanne works at CodeSandbox, where she's one of two Elixir developers responsible for the backend. When she's not coding, you'll probably find her either 25 browser tabs deep into a new CS topic, learning yet another new hobby, or behind her sewing machine, all of which we dive into in today's episode! Tuning in, you'll discover which languages Sanne is proficient in and why she doesn't consider herself a polyglot; gain some insight into CodeSandbox Projects, a more collaborative rewrite of CodeSandbox from the ground up; and get a sneak peek into Sanne's upcoming keynote address at Code BEAM Europe in May 2022, which tackles how to help juniors succeed in your organization. We also touch on garbage collection in Elixir, cute avatars, the intersection of code and sewing, and much, much more, so make sure not to miss this fun and insightful conversation with coder and crafter, Sanne Kalkman! Key Points From This Episode: What it's like living in the Netherlands, Sanne's favorite TV show, and more. An introduction to Sanne, how she found herself in tech, and her role at CodeSandbox. The first language she entered the professional coding space with: Elixir, of course! How she thinks about JavaScript now that she is proficient in another language like Elixir. Learn more about CodeSandbox Projects and how it fosters live collaboration. How the CodeSandbox app is broken down into Elixir, TypeScript, and Rust. Why Sanne views CodeSandbox as a polyglot environment, but she isn't a polyglot herself. Find out why she prefers to stick with Elixir in her personal capacity. Code BEAM Europe 2022 and some highlights from Sanne's upcoming keynote address. Top tips for helping juniors succeed at your organization; model asking questions. The TLDR summary of garbage collection in Elixir from Sanne's 2020 Code BEAM Talk. Cute avatars over headshots, Sanne's crafty hobbies, side projects, and more! Some of the cool work taking place at the intersection of code and sewing. Opportunities at CodeSandbox to dive into different codebases and learn different things. Final plugs, mentions, and where to connect with Sanne! Links Mentioned in Today's Episode: Sanne Kalkman on LinkedIn — https://www.linkedin.com/in/sannekalkman/ Sanne Kalkman on GitHub — https://github.com/sannek/sketch Sanne Kalkman on Twitter — https://twitter.com/sannekalkman CodeSandbox — https://codesandbox.io/ Our Flag Means Death — https://www.hbomax.com/series/urn:hbo:series:GYf3LzwJV98JifQEAAAAO Walibi Amusement Park — https://www.walibi.com/ Code BEAM Europe 2022 — https://codesync.global/conferences/code-beam-sto-2022/ Sanne Kalkman: 'Who Takes Out Your Trash' (Code BEAM V 2020) — https://youtu.be/OSdaXNQ0xhQ Covatar — https://covatar.com/ FreeSewing — https://freesewing.org/ SmartLogic — https://smartlogic.io/ SmartLogic Jobs — https://smartlogic.io/jobs Special Guest: Sanne Kalkman.
Today's guest is Devon Estes, who leads the third-party integration team at Remote, a company that uses technology to make it easier for other companies to hire remote employees (not contractors, actual employees) from over 100 countries across the world. Prior to working at Remote (which he loves, as you'll hear today), Devon was a freelancer and avid public speaker, and some of his talks from many years ago are still relevant today. In this conversation, Devon explains why functional programming is easier to use than any other programming type, and how the only thing holding you back from becoming a master is your desire to learn! Key Points From This Episode: Guest host Dan Ivovich explains what prompted him to come up with the theme for this season; Elixir in a Polyglot Environment. A brief rundown of Devon's daily life. Content that Devon covers in the talks that he gives these days. Devon explains what his role at Remote (where he has worked since November 2021) involves. A challenge that Devon has noticed other people facing when learning Elixir. An overview of what Remote does, and the specific area that Devon's team focuses on. Functional programming versus object-oriented programming. Devon shares an example of the power of Elixir. The importance of libraries in making Elixir a viable language for data scientists. Devon's thoughts on mutation testing. Why Devon doesn't do a lot of open-source work anymore. How Remote has grown over the past year and a half. One of the things that Devon loves about working at Remote. Links Mentioned in Today's Episode: Devon Estes on Twitter — https://twitter.com/devoncestes Devon Estes — https://devonestes.com/ Refactoring Elixir — https://www.youtube.com/watch?v=tJJMrtJEK1A Going Multi-Node with ExUnit— https://www.youtube.com/watch?v=elC_8PhWRTg Designing Elixir Systems with OTP — https://www.goodreads.com/book/show/45159167-designing-elixir-systems-with-otp ElixirConf EU — https://www.elixirconf.eu/ Remote — http://remote.com/ SmartLogic — https://smartlogic.io/ Jobs at SmartLogic — https://smartlogic.io/jobs Special Guest: Devon Estes.
Welcome to the new season of Elixir Wizards: Elixir in a Polyglot Environment. To get things going on this exciting and intriguing subject we are very happy to welcome Miguel Cobá! Miguel currently works at Shore, and he gives us some great insight into the part that Elixir plays at the company (alongside other languages), and how this suits his particulars skillset and vision. In this season, we want to consider important questions about reaching beyond the confines of the Elixir community, and how we can all learn from each other. Miguel is such a perfect guest to open this conversation, as he is fascinated by the way Elixir can fit into a network of knowledge and its deployment into other areas. In today's chat, we also get into the early days of Miguel's interest in programming, and how it took starting a job for him to really start learning. So, to hear all this and more, and to get a taste of a great season to come, be sure to tune in! Key Points From This Episode: Miguel's perspective on the importance of using Elixir alongside other languages. The languages that Miguel has worked in, and currently uses. A look at the path that Miguel took into programming and the first language he used! Turning an interest into a career; Miguel's biggest periods of learning. Background and motivations for Miguel's book, 100 Elixir Tips. The book that Miguel wrote that aims to help developers to write their own books! Constant learning and the passion that Miguel has for sharing this process with others through writing. Miguel shares some surprising parts of deployment in other languages. The combinations of languages that Miguel prefers. An explanation of Elixir's strength for background or asynchronous tasks. Why Miguel values the attitude above different language skills in a programmer. Unpacking how Elixir fits into the polyglot environment at Shore. How Miguel feels about community building and the usefulness of Twitter. Miguel compares his favorite parts of Elixir and the things he feels it is missing. Where to find and connect with Miguel online! Links Mentioned in Today's Episode: 100 Elixir Tips — https://store.miguelcoba.com/l/100elixirtips Deploying Elixir — https://blog.miguelcoba.com/deploying-elixir-ebook Miguel Cobá on Twitter https://twitter.com/MiguelCoba_ Elm — https://elm-lang.org/ Miguel Cobá Blog https://blog.miguelcoba.com/ Gumroad — https://gumroad.com/ Hashnotes — https://www.hashnotes.app/ Shore — https://www.shore.com/en/ SmartLogic — https://smartlogic.io/ Jobs at SmartLogic – https://smartlogic.io/jobs Special Guest: Miguel Cobá.
Welcome to the Season 7 finale! Today, we are joined by Todd Resudek, Staff Engineer at Jackpocket, to reflect on the past season and speak about the impact of Elixir, as well as a variety of other topics almost entirely unrelated to programming! Todd is a reformed graphic designer that got his start in web development 15 years ago. He has made a career in front-end development, PHP, Rails, and Elixir. He is also a member of the Hex core team and, in his spare time, he tinkers with hardware projects. In today's episode of Elixir Wizards, you'll learn more about the 2022 EMPEX Elixir Mountain event that Todd is co-organizing, the formula for anticipating how many people will turn up at your event, and what trains have to do with the history of timezones. We also touch on Todd's hopes for the future of Elixir, how Elixir has impacted him, both personally and professionally, and why he recommends learning Elixir as a backup language, plus so much more! Tune in today for a fun discussion with Todd Resudek! ** Key Points From This Episode:** The hilarious and sometimes tragic mispronunciation of our names. Learn more about the 2022 EMPEX Elixir Mountain event that Todd is co-organizing. Todd shares a bit about his background and his allegiance to Wisconsin football. We discuss the formula for how many people to expect at your meetup (or wedding). Some interesting history on timezones and how they relate to trains. Dune memes, roller skating, a qualifier for couple skates, and more. Todd shares his favorite Elixir Wizards episode from Season 7: Brooklyn Zelenka. How Todd learned Elixir when he first started working at Weedmaps. Why he suggests learning Elixir as a ‘backup language' rather than a primary one. His biggest hope for the future of Elixir: an even more diverse, welcoming community. How a functional programming language like Elixir has impacted the way Todd works. The personal impact the Elixir community has had for Todd by enabling new connections. Find out why Alex's dog, Bean, loved the test kitchen at their previous workplace. Eric and Alex share how the impact of Elixir has changed for them throughout this season. What all our children, human and animal, had for breakfast. Links Mentioned in Today's Episode: Todd Resudek on LinkedIn — https://www.linkedin.com/in/toddresudek/ Todd Resudek on Twitter — https://twitter.com/sprsmpl Todd Resudek on GitHub — https://github.com/supersimple Todd Resudek — https://supersimple.org/ Jackpocket — https://jackpocket.com/ EMPEX Conference — https://www.empex.co/ EMPEX MTN 2022 — https://www.empex.co/mtn Alex's Favorite Dune Meme — https://i.kym-cdn.com/photos/images/facebook/002/234/162/d96 ‘Brooklyn Zelenka and The Exciting World of Edge Computing' — https://smartlogic.io/podcast/elixir-wizards/s7e9-zelenka/ Toucan — https://www.toucan.events Elixir Wizards |> Conference — https://smartlogic.io/about/community/elixir-wizards-conference/ SmartLogic — https://smartlogic.io/ Audience Survey -- https://smr.tl/survey Special Guest: Todd Resudek.
This week we welcome Arthi Radhakrishnan back to the show to discuss how Elixir and her career more broadly have shaped her perspectives on learning. Arthi first got into programming as a child growing up in the Bay Area, constantly exposed to tech and tech culture. She remembers building websites using GeoCities in high school and learning about data structures and OOP in Java while in college before transitioning to Elixir during her current position as a backend engineer at Community. We hear about what made her learning so enjoyable, the biggest paradigm shifts she needed to make, and she talks about the value of mentorship, pair programming, and working at a company that encourages learning on the job. In today's show, we also explore a realization that Arthi has come to at the end of her first decade as a software engineer: that effective learning requires a big dose of self-compassion. So, for all this and more, be sure to tune in today! Key Points From This Episode: Introducing Arthi and the work she does as a backend engineer for Community. What it was like growing up in the Bay Area and how Arthi got into programming. Going from building websites with GeoCities in high school to building a compiler in college. The big role that Java and OOP played in Arthi's experience of programming fundamentals. Arthi's experience of learning Elixir and having to shift away from an OOP paradigm. Where Arthi is in her journey of learning Elixir and why she enjoys it so much. How compelling it is to learn on the job and the value of companies that allow for this. The impact that company culture has on job experiences and career trajectories. Summer internships Arthi did in college and how they shaped her career goals. Finding time to do personal learning and why Advent of Code is so helpful. Why setting low expectations for yourself is a helpful paradigm for learning. Exercising self-compassion while learning and how Arthi's learning approach has evolved. Why Arthi is so grateful that she has gotten to learn Elixir at Community specifically. What good mentorship looks like to Arthi and why she loves pair programming. How learning Elixir and the past 10 years have shaped Arthi's sense of her needs. Arthi's thoughts on how Elixir will evolve in the next 10 years. Links Mentioned in Today's Episode: Arthi Radhakrishnan — https://www.linkedin.com/in/arthiradhakrishnan/ Community — https://www.community.com/ Advent of Code — https://adventofcode.com/ SmartLogic — https://smartlogic.io/ Audience Survey -- https://smr.tl/survey Special Guest: Arthi Radhakrishnan.
Today's guest is Angel Jose, a Software Engineer Manager at Cars.com with a passion for product and the customer experience. Angel played a key role in completely re-platforming Cars.com via Elixir, Phoenix, and other open source tooling, and his former adventures in the blockchain space include working with ETH, EOS, and general distributed tooling. In today's episode, we discuss Cars.com's decision to migrate to an entirely Elixir-based system, rebuilding the data model from scratch, redesigning all of the user interfaces, and what that meant for the team that Angel was tasked with leading, as well as how the Elixir system functions at such incredible scale, with Cars.com receiving more than a million visitors daily! We touch on Angel's approach to onboarding new engineers, how Elixir impacts this process, and the broader impact Elixir has on the community as a whole, as well as what he hopes to see from the community in the future, so make sure not to miss this awesome conversation about adopting Elixir with Angel Jose! Key Points From This Episode: Hot takes, rants, and obsessions: Angel's best and worst taco experiences. Why Angel won't be at ElixirConf 2021 and the story of how he began programming in Elixir. The process of finding a job in software engineering after completing an online bootcamp. Angel's experience of navigating the freedom that comes with being an engineer. Find out how Angel got involved in re-platforming Cars.com, one of the original dot coms. Get a glimpse into the make up of the engineering team at Cars.com. How the pandemic impacted not only Angel's deadlines but the car industry as a whole. The ETL pipeline of different data points that makes up Cars.com and Auto.com. Angel shares his opinion of LiveView and what he has learned about using it at scale. Advice for those adopting new technology: make sure there are enough resources out there. Where Angel believes his team would be without Elixir and what they are looking forward to. Some of the tangible benefits Cars.com has seen from flipping the switch to Elixir. How Angel approaches onboarding new engineers by providing them with resources and integrating learning into their day-to-day. The importance of celebrating small wins and fostering feelings of accomplishment. Angel on how Elixir impacts onboarding and new engineers; more simplicity, less magic. How Elixir has impacted the programming community and what Angel hopes to see in future. Taco happy hour, conference food, making the most of each meal, remote work, and more! What Angel has learned from working remotely, particularly from a social perspective. Angel shares his dream car after working at Cars.com and moving to Colorado. Links Mentioned in Today's Episode: Angel Jose on LinkedIn — https://www.linkedin.com/in/ajose01/ Angel Jose on Twitter — https://twitter.com/ajose01 Cars.com — https://www.cars.com/ Cars.com Careers — https://www.cars.com/careers/ Elixir Conf — https://2021.elixirconf.com/ Elixir Slack — https://elixir-slackin.herokuapp.com/ General Assembly — https://generalassemb.ly/ SmartLogic — https://smartlogic.io/ Special Guest: Angel Jose.
We talk with Peter Ullrich about his experience sending SMS messages from a Raspberry Pi Zero using Nerves. We cover what went well, what didn't and get a glimpse into the current state of Nerves for a newbie when dealing with hardware. Peter also tried Livebook for Nerves and had a great experience with that. We discuss the challenges of hardware systems dealing with the “real world” but see how Elixir makes the process easier to model and think about. Elixir Community News - https://github.com/elixir-lang/ex_doc/pull/1386#issuecomment-905623723 (https://github.com/elixir-lang/ex_doc/pull/1386#issuecomment-905623723) – LiveBook support in ExDocs - https://hexdocs.pm/phoenix/1.6.0-rc.0/fly.html#goals (https://hexdocs.pm/phoenix/1.6.0-rc.0/fly.html#goals) – Fly.io deployment guide in Phoenix documentation - https://github.com/wojtekmach/mixinstallexamples/blob/main/oban.exs (https://github.com/wojtekmach/mix_install_examples/blob/main/oban.exs) – Wojtek Mach's Mix.install script using the Oban library and database tables - https://github.com/smartlogic/augur (https://github.com/smartlogic/augur) – SmartLogic open sourced Augur library for helping Elixir systems that send SMS messages - https://elixir-broadway.org/ (https://elixir-broadway.org/) – Broadway library has it's own website - https://twitter.com/mcrumm/status/1431316375893467137 (https://twitter.com/mcrumm/status/1431316375893467137) – Michael Crumm shares how live_session/3 are 2x-4x faster for him - https://twitter.com/atyborska93/status/1431670143483060230 (https://twitter.com/atyborska93/status/1431670143483060230) – Angelika Tyborska shares that Exercism v3 is up with a new Elixir track - https://thinkingelixir.com/podcast-episodes/050-exercism-io-and-elixir-with-angelika-tyborska/ (https://thinkingelixir.com/podcast-episodes/050-exercism-io-and-elixir-with-angelika-tyborska/) – Previous interview with Angelika Tyborska about the Elixir track in Exercism v3 - https://exercism.org/tracks/elixir/ (https://exercism.org/tracks/elixir/) – Excercism.io's Elixir track - https://twitter.com/voltonez/status/1432208014103220224 (https://twitter.com/voltonez/status/1432208014103220224) – Erlang updates needed for expiring root CA certificate support - https://blog.voltone.net/post/30 (https://blog.voltone.net/post/30) – Bram Verburg's detailed write up on the needed updates - https://elixir-lang.org/getting-started/introduction.html (https://elixir-lang.org/getting-started/introduction.html) – Elixir getting started docs - https://hexdocs.pm/elixir/Kernel.html (https://hexdocs.pm/elixir/Kernel.html) – Elixir's docs in HexDocs - https://elixirschool.com/en/ (https://elixirschool.com/en/) – Elixir School, good free resource for learning Elixir - https://thinkingelixir.com/available-courses/pattern-matching/ (https://thinkingelixir.com/available-courses/pattern-matching/) – ThinkingElixir free Pattern Matching course for learning 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) Discussion Resources - https://www.peterullrich.com/sending-text-messages-with-nerves (https://www.peterullrich.com/sending-text-messages-with-nerves) - https://www.peterullrich.com/using-livebook-with-nerves (https://www.peterullrich.com/using-livebook-with-nerves) - https://podcasts.apple.com/us/podcast/explain-blockchain/id1326636335 (https://podcasts.apple.com/us/podcast/explain-blockchain/id1326636335) - https://www.youtube.com/watch?v=bsyjSW46TDg (https://www.youtube.com/watch?v=bsyjSW46TDg) - https://www.youtube.com/watch?v=mrpQHZcy3CI&ab_channel=CraftHubEvents (https://www.youtube.com/watch?v=mrpQHZcy3CI&ab_channel=CraftHubEvents) - https://nerves.group/ (https://nerves.group/) - https://github.com/fhunleth/nerves_livebook/releases (https://github.com/fhunleth/nerves_livebook/releases) - https://github.com/fhunleth/nerves_livebook (https://github.com/fhunleth/nerves_livebook) Guest Information - https://twitter.com/PJUllrich (https://twitter.com/PJUllrich) – on Twitter - https://github.com/PJUllrich/ (https://github.com/PJUllrich/) – on Github - http://peterullrich.com/ (http://peterullrich.com/) – Blog Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
We talk with Chris McCord about his recent announcement that he's moved to work at Fly.io! We cover what this means for the Phoenix project and ongoing Phoenix development work. He shares why he's excited about the Fly platform which includes how it replaces his need for a CDN! We also talk about the new Phoenix 1.6 release and all the goodness coming there. This release includes the HEEX engine for validated HTML at compile time, making the auth generators official, a new mailer generator, and the move away from Webpack to esbuild. We go deeper on what the move to esbuild means for existing projects before hearing where Chris wants to put his focus next. We covered a lot, so buckle up! Elixir Community News - https://github.com/elixir-lang/elixir/pull/11184 (https://github.com/elixir-lang/elixir/pull/11184) – Another improvement made to mix xref graph to find why module A depends on module B. - https://github.com/elixir-lang/elixir/pull/11201 (https://github.com/elixir-lang/elixir/pull/11201) – Recompile only necessary deps whenever config/lock change - https://github.com/livebook-dev/livebook/pull/513 (https://github.com/livebook-dev/livebook/pull/513) – IEx and Livebook both get improved intellisense (code completion) for structs and sigils. - https://twitter.com/akoutmos/status/1429835571745153024 (https://twitter.com/akoutmos/status/1429835571745153024) – PromEx sponsored by SmartLogic - https://twitter.com/mitchhanberg/status/1429854685087797248 (https://twitter.com/mitchhanberg/status/1429854685087797248) – Wallaby sponsored by SmartLogic - https://blog.erlang.org/scalable-ets-counters/ (https://blog.erlang.org/scalable-ets-counters/) – Lukas Larsson from the Erlang OTP team, wrote a blog post about using ETS tables for distributed counters. - https://github.com/erlang/otp/pull/4719 (https://github.com/erlang/otp/pull/4719) – OTP 24.1 gets better float to string support 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://twitter.com/chris_mccord/status/1428821074553315332 (https://twitter.com/chris_mccord/status/1428821074553315332) – Chris McCord announced he joined Fly.io - https://github.com/phoenixframework/phoenix/blob/master/CHANGELOG.md#changelog-for-v16 (https://github.com/phoenixframework/phoenix/blob/master/CHANGELOG.md#changelog-for-v16) – Phoenix 1.6 changelog - https://github.com/phoenixframework/phoenixliveview (https://github.com/phoenixframework/phoenix_live_view) – Phoenix LiveView 0.16 released - https://github.com/surface-ui/surface (https://github.com/surface-ui/surface) - https://twitter.com/MarlusSaraiva (https://twitter.com/MarlusSaraiva) - https://github.com/surface-ui/surface_catalogue (https://github.com/surface-ui/surface_catalogue) - https://dashbit.co/blog/a-new-authentication-solution-for-phoenix (https://dashbit.co/blog/a-new-authentication-solution-for-phoenix) - https://github.com/heartcombo/devise (https://github.com/heartcombo/devise) - https://github.com/swoosh/swoosh (https://github.com/swoosh/swoosh) - https://esbuild.github.io/ (https://esbuild.github.io/) Guest Information - https://twitter.com/chris_mccord (https://twitter.com/chris_mccord) – on Twitter - https://github.com/chrismccord (https://github.com/chrismccord) – on Github - http://chrismccord.com/ (http://chrismccord.com/) – Blog - https://twitter.com/flydotio (https://twitter.com/flydotio) – Fly.io on Twitter Find us online - Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir) - Email the show - show@thinkingelixir.com (mailto:show@thinkingelixir.com) - Mark Ericksen - @brainlid (https://twitter.com/brainlid) - David Bernheisel - @bernheisel (https://twitter.com/bernheisel) - Cade Ward - @cadebward (https://twitter.com/cadebward)
Today we are joined by the Vice President of Engineering at Corvus Insurance, Erik Person! Erik continues our journey into the magic of the BEAM, our season-long theme for the Elixir Wizards Podcast, and we get to hear all about Erik's path in programming, his relationship with Elixir, and his utilization of the BEAM. Growing up in a family involved in computer science, and an early affinity for technology made the choice of what to study at college a straightforward one for Erik. He tells us about his life during and after those school years, touching on his first job and the important milestones leading up to his current position at Corvus. We talk about his early feelings for Elixir and why it appealed to him almost immediately before discussing different languages on the BEAM and his love of types! Our guest also shares some of the bigger challenges he has encountered working in Elixir and touches on the issue of scaling effectively. In this episode, we also air a mini-feature with SmartLogic's very own Stephanie Vizzi, talking about her work at the company, relationship with Elixir, and more! So for all this, plus a lot in between, be sure to tune in! Key Points From This Episode: Erik's family ties to computer science and his path leading into programming. The first job that Erik landed in programming and his current role at Corvus Insurance. The BEAM at Corvus and the general architecture of the company's technology. Erik's first encounters and learnings with Elixir and the questions it answered for him immediately. The learning curve for languages on The BEAM; Erik's own journey to understanding. Erik's preference for types and his wish for their inclusion on Elixir! Lisp on The BEAM; Erik unpacks his perspectives and the blog post he wrote on the subject. Getting to grips with abstract forms and how these terms operate in Erlang and Elixir. The challenges that Erik experienced parsing and manipulating the code in Elixir. Erik weighs in on BEAM magic; appreciating the magic that is possible with Elixir and Elm. Perspectives on scaling on Elm and Elixir as an application grows rapidly. How Erik and his team typically use contexts and service-oriented architecture. Challenges with compile times during the process of scaling of the application. Excitement about the progressive steps in the data science component of Corvus. How Erik applied his skills to his passion for playing blackjack by creating a card-counting application. The remote meeting hardware device that Erik built as a pandemic side-project! This week's community mini-feature! Looking at how Stephanie Vizzi got into and uses Elixir. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Erik Person on LinkedIn — https://www.linkedin.com/in/erik-person-a9368bb VirtualBox — https://www.virtualbox.org/ Tunnelblick — https://tunnelblick.net/ Corvus Insurance — https://www.corvusinsurance.com/ Corvus Job Openings — https://boards.greenhouse.io/corvusinsurance/ Clojure — https://clojure.org/ Saša Jurić — https://github.com/sasa1977 LFE — https://lfe.io/ Elm — https://elm-lang.org/ Robert Virding — https://codesync.global/speaker/robert-virding/ The Erlang Rationale — https://elixirforum.com/t/the-erlang-rationale-by-robert-virding-pdf/35313 Paul Graham — http://www.paulgraham.com/ Hackers and Painters — https://www.amazon.com/Hackers-Painters-Big-Ideas-Computer/dp/1449389554 Myers Briggs — https://www.myersbriggs.org/my-mbti-personality-type/mbti-basics/ Chris McCord — http://chrismccord.com/ Mix Xref — https://hexdocs.pm/mix/Mix.Tasks.Xref.html Gleam — https://gleam.run/ Leex — http://erlang.org/doc/man/leex.html GNU Bison - The Yacc-compatible Parser Generator — https://www.gnu.org/software/bison/manual/ YACC — https://www.geeksforgeeks.org/introduction-to-yacc/ Stephanie Vizzi on LinkedIn — https://www.linkedin.com/in/stephanie-vizzi-b1158996 Special Guests: Erik Person and Stephanie Vizzi.
Building a successful development company requires having a leader with technical know-how and excellent management skills. Today we speak with SmartLogic President and Founder Yair Flicker about his company’s origin story, evolution, and their Elixir adoption process. Early in the episode, we talk about Yair’s first jobs before diving into how he founded SmartLogic. An important transition point, we then chat about how he moved from writing code to running a business. Reflecting on his tech background, Yair opens up about how he learned to code before he shares insights into the languages that his company programs in, how they discovered Elixir, and how they integrated it into their practice. In a discussion that’s sure to resonate with startup managers, Yair unpacks what he does to grow as a manager, along with best practices for companies looking to adopt Elixir. We ask Yair about the benefits of coding in Elixir, how SmartLogic has retained its top employees, why he prioritizes employee happiness, and the role that company values play in strengthening SmartLogic. After hearing about Yair’s vision for the future, we jump into our mini-segment where we interview Jake Johnson, the Director of Software Engineering at TaxJar. For more on building strong companies and advice on adopting Elixir, be sure to tune in and benefit from our conversations with Yair and Jake. Key Points From This Episode: SmartLogic Founder Yair Flicker talks about his first job. Yair shares details about SmartLogic’s humble origins. Early challenges SmarLogic faced and Yair’s move from coding to running a business. We ask Yair about how he learned to code. SmartLogic’s coding evolution and how they discovered Elixir. The Maker vs. Manager distinction; what Yair did to grow as a manager. Exploring the benefits of adopting Elixir. Yair’s advice for companies wanting to adopt Elixir. Why Elixir allows for more scalability than many other languages. How SmartLogic has been able to retain some of its top employees. The link between having happy employees and happy clients. How Yair lives his company’s values. Yair shares his recipe for creating productive meetings. Hear about Yair’s vision for SmartLogic’s future. For our mini-feature segment, we chat with Jake Johnson from TaxJar. Why TaxJar adopted Elixir and details on Jake’s background. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Elixir Wizards Email — podcast@smartlogic.io Yair Flicker on LinkedIn — https://www.linkedin.com/in/yflicker/ Yair Flicker on Twitter — https://twitter.com/yflicker Jake Johnson on LinkedIn — https://www.linkedin.com/in/jakej/ TaxJar — https://www.taxjar.com/ Music and Arts — https://www.musicarts.com/ Johns Hopkins University — https://www.jhu.edu/ Hackers — https://www.imdb.com/title/tt0113243/ National Conference of Synagogue Youth — https://ncsy.org/ Stanley Black & Decker — https://www.stanleyblackanddecker.com/ Reddit — https://reddit.com/ Discord — https://discord.com/ Instagram — https://www.instagram.com Amazon Web Services — https://aws.amazon.com/ Sales Tax for Developers — https://salestax.dev Backstreet Boys — https://linktr.ee/backstreetboys Special Guests: Sundi Myint and Yair Flicker.
Welcome back to Elixir Wizards, season five, episode one! The theme for this season is ‘Adopting Elixir’, and for today’s show the team at Elixir Outlaws play host! Chris Keathley, Amos King, and Anna Neyzberg give the Elixir Wizards a chance to talk about what they love about Elixir, how they learned it, and some of their experiences using it at SmartLogic! We kick off the conversation with some memories of college and the different degrees everybody did, how these experiences fit into programming and the different paths that Justus, Eric, and Sundi took into the world of Elixir. From there, we dive into some of the amazing features about Elixir, highlighting pattern matching, readability, and how easy it is to think about how to write solutions to problems using it. Our conversation moves onto the topic of serving clients with Elixir, and here we consider the risk of basing a consultancy on one technology, as well as how open clients are to their needs being met with this young but powerful language. We also talk about training staff and convincing teams to adopt Elixir, covering themes of barriers to entry, the job market, and using the Elixir community as a resource. For a fun conversation about Elixir where our hosts take the mic as guests, be sure to tune in today. Key Points From This Episode: Introducing this season’s topic and today’s plan where the hosts become guests. How Justus, Eric and Sundi got introduced to Elixir and their respective journeys using it. Everybody discusses their forays into programming and compares their different degrees. Hustles Justus did at college to get tuition cheaper for his friends and him. ‘Staking a consultancy on a tech’; how SmartLogic adopted Elixir initially. How the first few clients SmartLogic served with Elixir felt about the language being used. Sundi’s onboarding experience at CAVA and how she got introduced to Elixir. How Justus discovered the beauty of Elixir after he began to understand pattern matching. Sundi’s thoughts about hidden functionality in JavaScript code versus Elixir which reads better. Whether using Elixir to solve problems feels easy due to familiarity or its inherent characteristics. Conventions SmartLogic is implementing regarding using Elixir to build projects. The lack of introductory resources for learning Elixir and the team’s attempts at making some. The value of getting involved in your community for learning a new technology. Find out the value of investing in staff training for companies who want to switch to Elixir. A new wall between Dev and Ops in the form of Kubernetes. How to get your co-workers to learn Elixir if you are passionate about it. Growth at SmartLogic, new hires, and what they specialize in. The job landscape in 2020 and how this relates to having Elixir under your belt. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Chris Keathley on Twitter — https://twitter.com/chriskeathley Amos King on Twitter — https://twitter.com/adkron Anna Neyzberg on Twitter — https://twitter.com/aneyzb Sundi Myint on Twitter — https://twitter.com/sundikhin Justus Eapen — https://twitter.com/JustusEapen Eric Oestrich on Twitter — https://twitter.com/ericoestrich CAVA — https://cava.com/ Pavlok — https://pavlok.com/ Johnny Boursiquot — https://www.jboursiquot.com/ ElixirBridge — http://elixirbridge.org/ Matt Mills on GitHub — https://github.com/photomattmills Brooklyn Zelenca on Functional Programming — https://smartlogic.io/podcast/elixir-wizards/s3e9-zelenka/ Bleacher Report — https://bleacherreport.com/ LiveView by Bruce Tate — https://pragprog.com/titles/passlive/programmer-passport-liveview/ Special Guests: Amos King, Anna Neyzberg, Chris Keathley, and Sundi Myint.
According to an ancient myth, the world rests on the back of a turtle. And what does that turtle stand on? Another turtle. It turns out that it’s turtles all the way down. Miki Rezentes, today’s guest, believes that all software rests on the back of APIs. Similar to the myth, it’s APIs all the way down. We open our conversation by discussing how homeschooling her children did more to prepare Miki for a software career than anything else she’s encountered. Miki shares highlights from her talk, ‘APIs All the Way Down’. This set up this episode’s key theme, that the tech industry is too concerned with how its software interacts to focus on how the people in its organizations communicate — their ‘human APIs.’ Following this, we ask Miki how she learns people’s APIs and we talk about the benefits of observation and mirroring. Tracking her career, we touch on how Miki transitioned from a homemaker to a developer before diving into her recent work at the data science platform Mode. She provides unique insights into how she views architecture and design and why the concept of domain-driven design doesn’t go far enough. We chat about how you can see your team as customers to promote domain-driven design and then drill into what she does to create a ‘shared pool of knowledge’ with her team. As Miki explains, ‘people problems’ are more difficult than technical ones and developers often make mistakes by not first developing common understanding. Especially when this relates to expectations within a company. Near the end of the episode, we explore what leaders can do to maintain productivity when growing their teams. Tune in to hear what you can do to deepen your team’s pool of understanding and improve the quality of your communication. Note: this episode was recorded in late July when Miki was working at Mode; she is now a Senior Software Engineer at Frame.io (https://frame.io). Key Points From This Episode: Why homeschooling her kids better prepared Miki for software development than anything else. How people within an organization express themselves through individual APIs. Understanding that people come from different backgrounds which influence their API. The ‘shared pool of knowledge’ and figuring out how to communicate with people. Miki’s journey from homemaker to becoming a software engineer. How nobody really knows what they’re doing. Security as a trade-off, privacy, and the power of two-factor authentication. Hear about Miki’s work at the data science platform Mode. What Miki enjoys most about working in Elixir and what she uses it for. How Miki sees architecture and the differences between architecture and design. Domain-driven design and the differences between data models and software. Treating your team ‘Agilely’ and seeing them as your customers. Miki’s process of developing a shared pool of understanding before hammering out the end-to-end components. Why ‘people problems’ are much more difficult than development problems. How tech companies misdiagnose ‘people problems’ as bad design. Conway’s Law and how code production reflects an organization’s structure. The importance of setting expectations to maintain productivity as a team grows in size. The danger of the Peter principle; when people are promoted to their level of incompetency. Links Mentioned in Today’s Episode: Miki Rezentes LinkedIn —https://www.linkedin.com/in/miki-rezentes-823ba02a/ Miki Rezentes GitHub — https://github.com/mrezentes Miki Rezentes Twitter — https://twitter.com/mikirez Mode — https://mode.com/ SmartLogic — https://smartlogic.io/ Elixir Wizards Survey — smr.tl/podcastsurvey Manning Publications — https://www.manning.com/ ‘APIs All the Way Down’ — https://www.youtube.com/watch?v=hBpbEsAG4es Turtles all the way down — https://en.wikipedia.org/wiki/Turtlesallthewaydown Crucial Conversations — https://www.amazon.com/Crucial-Conversations-Talking-Stakes-Second/dp/1469266822 Thomas Edison State University — https://www.tesu.edu/academics/online-degrees Xkcd — https://xkcd.com/ Toshiba Global Commerce Systems — https://commerce.toshiba.com/ Kroger — https://www.kroger.com/ CA Technologies — https://www.ca.com/ Jira — https://www.atlassian.com/software/jira ICFP 2020 — https://icfp20.sigplan.org/ James Edward Gray II — https://github.com/JEG2 Helix Data Engine - Mode — https://mode.com/helix/ Practical Object-Oriented Design in Ruby — https://www.amazon.com/Practical-Object-Oriented-Design-Ruby-Addison-Wesley/dp/0321721330 Tanium — https://www.tanium.com/ Poodr — https://www.poodr.com/ Gödel, Escher, Bach — https://en.wikipedia.org/wiki/G%C3%B6del,Escher,Bach D'Aulaires' Book of Greek Myths — https://www.amazon.com/DAulaires-Greek-Myths-Ingri-dAulaire/dp/0440406943 The Mythical Man-Month — https://en.wikipedia.org/wiki/TheMythicalMan-Month Applying Conway's Law to improve your software development — https://www.thoughtworks.com/insights/blog/applying-conways-law-improve-your-software-development Peter Principle — https://en.wikipedia.org/wiki/Peter_principle Special Guest: Miki Rezentes.
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/wiltonquinn ‘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/phoenixliveview 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/debuggerchapter.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 — @SundiKhin Special Guests: Dan Lindeman, Japa Swadia, Jeffrey Utter, Luciano Ramalho, Melvin Cedeno, and Quinn Wilton.
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/EricOestrich Special Guest: Greg Mefford.
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.
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/chrismccord DockYard — https://dockyard.com/ Dave’s Site — https://www.davesite.com/ Hacking with PHP — http://www.hackingwithphp.com/ Phoenix LiveView — https://hexdocs.pm/phoenixliveview/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/phxgenauth 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/phoenixpubsub 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.
Today’s guest is Mohd Maqbool Alam, a software developer and Elixir fan from Delhi. He enjoys learning about programming language theory, distributed systems, Cloud Native technologies, and open source. As he is working towards building an Elixir community in Delhi, we caught up with him to find out how he came to be part of the Elixir world, and what drew him to programming in the first place. We also discuss Maqbool’s favorite Elixir resources and how Elixir has changed the way he thinks about architecture applications, as well as his opinions on microservices, APIs, and static typing. We talk about the real-world consequences of programming, using Neil Ferguson’s pandemic simulation model as an example, and Maqbool shares his favorite RPC (when we actually meant to ask him his favorite RFC)! The episode concludes with Pattern Matching with Todd. In this edition, he discusses Kubernetes and Beam with Principal Software Architect Cory O’Daniel. Key Points From This Episode: Maqbool tells us a bit about himself and how he came to be part of the Elixir community. What enticed Maqbool to programming. Maqbool’s favorite resources from Elixir. How Elixir has changed the way Maqbool thinks about architecting applications. Maqbool’s ‘aha’ moment in distributed programming and how he got into pattern matching. Phoenix Live Dashboard and why Maqbool and the team are excited about it. How Maqbool approaches the design process when building an application from scratch. The tools and methods Maqbool uses when designing information architecture and APIs. Maqbool’s opinions on microservices, Kubernetes, and Amazon Lambda. Protocols and non-standard protocols. Neil Ferguson’s pandemic simulation model using undocumented C-code. How we should think about the real world consequences of high-stakes programming. Maqbool’s opinion on static typing. Macbool’s favorite RPC and RFC. Pattern Matching with Todd Resudek, discussing Kubernetes and Beam with Cory O’Daniel. Links Mentioned in Today’s Episode: Justus Eapen on LinkedIn — https://www.linkedin.com/in/justuseapen/ Justus Eapen on Twitter — https://twitter.com/justuseapen Eric Oestrich — https://oestrich.org/ Eric Oestrich on Twitter — https://twitter.com/ericoestrich Eric Oestrich on GitHub — https://github.com/oestrich Mohd Maqbool Alam on Twitter – https://twitter.com/Maqboolism Elixir Forum – https://elixirforum.com/ Elixir in Action – https://www.amazon.com/Elixir-Action-Sa%C5%A1a-Juri-cacute/dp/161729201X Phoenix Live Dashboard – https://github.com/phoenixframework/phoenixlivedashboard Absinthe – https://github.com/absinthe-graphql/absinthe Kubeless – https://kubeless.io/ Kubernetes — https://kubernetes.io/ Amazon Lambda – https://aws.amazon.com/lambda/ Groxio – https://grox.io/ Todd Resudek on Twitter — https://twitter.com/sprsmpl Cory O’Daniel on Twitter – https://twitter.com/coryodaniel Ziggy O’Doodle on Instagram – https://www.instagram.com/ziggy.odoodle/ SmartLogic — https://smartlogic.io/ Special Guests: Cory O'Daniel and Mohd Maqbool Alam.
As our first trilogy comes to a close, and we embark on the next one, we’re doing what all great trilogies do: Upending everything that made the initial one great and starting afresh. We have taken on board some excellent listener feedback to keep this the highest quality Elixir related podcast. So, for this launchisode, rather than doing a trailer, we are diving in headfirst with a full episode on system and application architecture, this season’s theme, with Justus Eapen, Dan Ivovich, and Eric Oestrich. We kick off the show by getting to know Dan and Eric a bit better. This season, as per listener requests, we will spend more time on our guests' personal lives. We learn about Dan and Eric’s time at SmartLogic, their experience working with Elixir, and their approaches to learning it. From there, we move onto tackling clients’ projects. We discuss the importance of letting ideas flow free as well as how to break projects down into manageable sized segments to work on. Following this, we touch on flexible architecture. As the world changes, sometimes at a pace faster than we anticipate, it is more important than ever to design systems that we can iterate on. Then, we discuss the future of applications and architecture and the exciting possibilities in-store. The show rounds off with our new segment, Pattern Matching with Todd, where our friend Todd Resudek gets to know someone in the community a bit better. Today, he talks with Connor Rigby of Binary Noggin, finding out more about his programing journey, his favorite music and movies, and his WiFi meshing project. We're so excited for this season, and we hope you join us on the journey. Tune in today! Key Points From This Episode: Dan’s background and how he came to be Director of Development Operations. How Eric started at SmartLogic and what his journey at the company has been like. Learn what convinced Dan to go all-in on Elixir and make the move from Rails Some of the educational materials and tools Dan and Eric used to learn Elixir. Dan’s preferred style of design and why he enjoys TDD. Why we think that Cucumber falls short and chose to move away from it. Find out what we think domain-driven design is. How Dan and Eric approach deconstructing clients’ projects. Pre-coding: Why it’s best to do free-form planning, with no constraints. Insights into the broad-reaching term of ‘API’ and what we mean by it. SOAP and REST APIs: What they are and the differences between them. How Dan, Eric, and Justus’s thinking about designing and application architecture has evolved. Object-oriented programming versus functional: Our take on the age-old debate. Is this finally the year that we get to kill micro-services? The relationship between team size and micro-services and some other constraints. What the future has in store for applications and architecting. Pattern-matching with Todd: Five questions to get to know Connor Rigby a bit better. Links Mentioned in Today’s Episode: Justus Eapen on Twitter — https://twitter.com/justuseapen Dan Ivovich on Twitter — https://twitter.com/danivovich Eric Oestrich on Twitter — https://twitter.com/ericoestrich Kalevala on GitHub — https://github.com/oestrich/kalevala Valve — https://www.valvesoftware.com/en/ Ecto — https://hexdocs.pm/ecto/Ecto.html Phoenix Elixir books — https://pragprog.com/book/phoenix14/programming-phoenix-1-4 Ruby on Rails — https://rubyonrails.org/ Designing for Scalability with Erlang — http://shop.oreilly.com/product/0636920024149.do Mike Amundsen on O’Reily Media — https://www.oreilly.com/pub/au/1192 Designing Elixir Systems With OTP — https://www.amazon.com/Designing-Elixir-Systems-OTP-Self-healing/dp/1680506617 Cucumber — https://cucumber.io/ Visual Studio Code — https://code.visualstudio.com/ SOAP vs REST APIs — https://www.soapui.org/learn/api/soap-vs-rest-api/ RESTFest — https://www.restfest.org/ ExVenture — https://exventure.org/ Kubernetes — https://kubernetes.io/ Phoenix — https://phoenixframework.org/ Nerves Project — https://www.nerves-project.org/ Todd Resudek on Twitter — https://twitter.com/sprsmpl Binary Noggin — https://binarynoggin.com/ Connor Rigby on GitHub — https://github.com/ConnorRigby The Big Lebowski — https://www.imdb.com/title/tt0118715/ Aesop Rock on Twitter — https://twitter.com/AesopRockWins All That Remains on Twitter — https://twitter.com/ATRhq Korn — https://www.kornofficial.com/ Eric Meadows-Jönsson on Twitter — https://twitter.com/emjii Donnie Darko — https://www.imdb.com/title/tt0246578/ Richard Kelly — https://www.imdb.com/name/nm0446819/ Frank Hunleth on Twitter — https://twitter.com/fhunleth SmartLogic — https://smartlogic.io/ Special Guests: Connor Rigby and Dan Ivovich.
Today on the show, we’re joined by Mike Binns and Alex Garibay of DockYard. In this episode, Mike and Alex share their journeys of how they came to work at DockYard and give us a view into DockYard’s hiring and training processes, systems, and philosophies. Here they share what they enjoy most about working at DockYard and their emphasis on being supported in your continual growth as an employee and human being. Key Points from This Episode: Find out how Mike and Alex both got their jobs at DockYard in 2016. Working for a fully remote company: Mike and Alex share their experiences. The amount of languages used at DockYard and what the day-to-day looks like. React VS Ember: Find out DockYard’s opinion on the debate between the two. How to know whether you should be using JavaScript or Live View on your projects. The importance of inclusion and empowerment in the onboarding process at DockYard. How to support and train new employees in “soft” skills, such as communication. Personal strategies Mike and Alex use to help “soften the blow” of feedback and criticism. Discover what DockYard does to support the learning growth of their employees. Learn more about DockYard Friday and the exciting projects that have emerged from it. Helpful resources for learning Elixir and how to remain a curious learner as a developer. Find out the top skills that make a great engineering manager at DockYard today. Links Mentioned in Today’s Episode: Mike Binns on Twitter — https://twitter.com/1stAvenger Mike Binns on LinkedIn — https://www.linkedin.com/in/mikebinns Alex Garibay — https://alexgaribay.com/ Alex Garibay on Twitter — https://twitter.com/AlexGaribay Alex Garibay on LinkedIn — https://www.linkedin.com/in/alexandergaribay/ DockYard — https://DockYard.com/ SmartLogic — https://smartlogic.io/ RailsConf — https://railsconf.com/ Chris McCord — http://chrismccord.com/ Ember — https://emberjs.com/ Live View — https://support.google.com/maps/thread/11554255?hl=en Elixir in Action — https://www.amazon.com/Elixir-Action-Sa%C5%A1a-Juri-cacute/dp/1617295027 Elixir Conf 2014 Keynote by Dave Thomas — https://www.youtube.com/watch?v=5hDVftaPQwY Sarah Drasner — https://sarahdrasnerdesign.com/ Lonestar Elixir — https://lonestarelixir.com/ Programming Phoenix — https://www.amazon.com/Programming-Phoenix-Productive-Reliable-Fast/dp/1680501453 Jason Goldberger — https://twitter.com/jsonlouis Special Guests: Alex Garibay and Mike Binns.
On today's show, we are joined by Dan Ivovich from our team here at SmartLogic! Dan is the Director of Development Operations and has already been a guest and cohost a few times on the show. Today we are talking about hiring and training and his experience with these tasks at the company and especially concerning Elixir. We discuss the challenges Dan has faced in recruiting and the ways in which SmartLogic has lined up resumes and possible candidates through events and meetups. Dan explains some of the difficulties that are common for programmers transitioning into Elixir and how the company approaches the tasks of onboarding and ongoing support. We also get into Dan's favorite resources and tools for staying abreast of Elixir and his recommendations for practices to learn fast as a newcomer before he explains how he thinks about continual learning and expanding his own skillset. The conversation finishes with some thoughts and reflections on functional programming from our guest, so make sure to tune in for all of that and more! Key Points From This Episode: Dan's role at SmartLogic and how he leads the team. Recruiting new employees; collecting resumes and attending events. Challenges posed by recruiting good Elixir programmers and who to look for. Sticking points for people transitioning into Elixir from other languages. The stack at SmartLogic and the number of projects based in Elixir. Onboarding at the company; skills that are transferable to Elixir. Professional development and ongoing support for team members. Dan's favorite tools and resources for learning Elixir. Continual learning and Dan's strategies for growing his skillset. A simple definition of functional programming and Dan's early experiences with it. Links Mentioned in Today’s Episode: SmartLogic — https://smartlogic.io/ Dan Ivovich — https://www.danivovich.com/ Dan Ivovich on Twitter — https://twitter.com/danivovich ElixirConf — https://elixirconf.com/events Java — https://www.java.com/ Ruby — https://www.ruby-lang.org/ Python — https://www.python.org/ Rails — https://rubyonrails.org/ Rust — https://www.rust-lang.org/ GO — https://golang.org/ Twitch — https://www.twitch.tv/ Bruce Tate — https://codesync.global/speaker/bruce-tate/ Scala — https://www.scala-lang.org/ Special Guest: Dan Ivovich.
On today’s show, we welcome Justin Schneck and Frank Hunleth, luminaries from the Nerves team! We take a dive into the world of Nerves with them, covering themes of performance, problem-solving, transitioning to hardware, and breakthroughs in the field. We begin with a conversation on how Elixir handles performance issues on the range of devices they support and Frank gets into how the team solved an early boot time discrepancy between a PC and a Raspberry Pi board. Other big themes for today are ironing out the kinks in the system registry model and merging Erlang and into hard real-time. After squeezing some information out of the guys about their use of ugly code hacks we get into some visionary decisions as well as things the team wished they could have done differently at Elixir (see the release of the new networking stack). Finally, we end off with what Frank and Justin are excited about as far as developments in the Nerves community, so be sure to plug into this one! **Key Points From This Episode: What Justin did in Tokyo, from soaking in hot springs to debugging in Kanji. An explanation of The Erlang Ecosystem Foundation, an embedded systems working group. The use of the VintageNet library for setting up multi-hold nerve networks. How Elixir handles performance issues on the range of devices they support. A breakdown of troubleshooting processes as far as acceleration with FPGAs. Issues with dependencies that occur when starting a network node on a Nerves device. How Elixir is trying to evolve past the system registry model. Identifying the challenge of reconfiguring early boot time which Elixir is facing. How Elixir solved a load time discrepancy between a PC and the Raspberry Pi board. Which situations require hardware when Elixir is too slow, such as video encoding. Japanese research into GPU, FPGA and SIMD optimization involving wrapping code blocks. Merging Erlang which is soft real-time into hard real-time. Examples of ugly but fast code hacks in Elixir. Hacks and the pitfalls of system registry such as returning to a prompt when an app crashes. Things Elixir would have done differently in working with Nerves if could they rewind time. Why releasing a new networking stack means Elixir could have done things differently. Lessons Justin and Frank learned moving from OTP to functional programming at Elixir. Exciting new developments and releases in the Nerves community. Links Mentioned in Today’s Episode: Nerves Project — https://nerves-project.org/ SmartLogic — https://smartlogic.io/ ElixirConf US — https://elixirconf.com/events The Erlang Ecosystem Foundation — https://erlef.org/ GRiSP — https://www.grisp.org/ Vintage Net — https://github.com/nerves-networking/vintage_net Joe Armstrong — https://joearms.github.io/ Erlang — https://www.erlang.org/ Linux — https://www.linux.org/ Special Guest: Frank Hunleth.
On this episode of Elixir Mix the panelists interview Eric Oestrich, one of the regular panelists for the show. Eric is a developer at SmartLogic where he works with Elixir and recently has been working with deployments. He has a project called Grapevine which is similar to steam but for text games. Mark opens up the discussion by asking Eric to talk about his game ExVenture which is a MUD game. MUD stands for multi user dungeon and ExVenture is a multi user version of a text adventure game from 1978 called Dungeon. He shares more details of the game and how it’s played. Erit explains that Grapevine was spawned from ExVenture and Mark asks him to expound more on Grapevine. ExVenture is open source and it is an application that is currently running in production. This provides opportunity for those not interested in making or playing a MUD to get involved and work on a project. Eric also goes into detail about the livestreaming he does and how to get involved. Since the project is open source, Eric is able to do development live, on screen and this allows the viewer to see the development process first hand and watch Eric work through challenges in the code. The topic then shifts to some of the features that are in Grapevine. Eric details some of the OTP style concepts used, the types of servers used and how they’re used, and how telnet sessions are maintained for connecting. The Elixir Mix panelists also discuss how this application is deployed. The application is on DigitalOcean with 2 dedicated cores and he uses Docker to build the releases. Eric also explains how he uses scripting with his releases and how his deployments work. The panelists also discuss how Eric is using Docker for releases but not on the server and why he’s doing deployments the way he is. The last topic covered by the elixir experts is statistics. They cover the metrics section in Grapevine, how he uses Telemetry events, and other methods he uses to gather metrics Panelists Mark Ericksen Josh Adams Erik Oestrich Sponsors Sentry | Use code “devchat” for two months free on Sentry’s small plan. ElixirCasts | Get 10% off with the promo code "elixirmix" Links SmartLogic Phoenix Erlang MUD Grapevine ExVenture Telemetry SmartlogicTv Twitch SmartlogicTv Youtube Local Clusters with epmd by Erik Oestrich EPMD man page Hello, production Grapevine Stats Grapevine Metrics Github Eric Oestrich Twitter Eric Oestrich Grapevine Eric Oestrich Github Docker DigitalOcean Picks Josh Adams Radiohead Glastonbury Festival Linux of 2000 article Mark Ericksen TheOatmeal Comic: Running Eric Oestrich Squabble Playing the violin and cello
On this episode of Elixir Mix the panelists interview Eric Oestrich, one of the regular panelists for the show. Eric is a developer at SmartLogic where he works with Elixir and recently has been working with deployments. He has a project called Grapevine which is similar to steam but for text games. Mark opens up the discussion by asking Eric to talk about his game ExVenture which is a MUD game. MUD stands for multi user dungeon and ExVenture is a multi user version of a text adventure game from 1978 called Dungeon. He shares more details of the game and how it’s played. Erit explains that Grapevine was spawned from ExVenture and Mark asks him to expound more on Grapevine. ExVenture is open source and it is an application that is currently running in production. This provides opportunity for those not interested in making or playing a MUD to get involved and work on a project. Eric also goes into detail about the livestreaming he does and how to get involved. Since the project is open source, Eric is able to do development live, on screen and this allows the viewer to see the development process first hand and watch Eric work through challenges in the code. The topic then shifts to some of the features that are in Grapevine. Eric details some of the OTP style concepts used, the types of servers used and how they’re used, and how telnet sessions are maintained for connecting. The Elixir Mix panelists also discuss how this application is deployed. The application is on DigitalOcean with 2 dedicated cores and he uses Docker to build the releases. Eric also explains how he uses scripting with his releases and how his deployments work. The panelists also discuss how Eric is using Docker for releases but not on the server and why he’s doing deployments the way he is. The last topic covered by the elixir experts is statistics. They cover the metrics section in Grapevine, how he uses Telemetry events, and other methods he uses to gather metrics Panelists Mark Ericksen Josh Adams Erik Oestrich Sponsors Sentry | Use code “devchat” for two months free on Sentry’s small plan. ElixirCasts | Get 10% off with the promo code "elixirmix" Links SmartLogic Phoenix Erlang MUD Grapevine ExVenture Telemetry SmartlogicTv Twitch SmartlogicTv Youtube Local Clusters with epmd by Erik Oestrich EPMD man page Hello, production Grapevine Stats Grapevine Metrics Github Eric Oestrich Twitter Eric Oestrich Grapevine Eric Oestrich Github Docker DigitalOcean Picks Josh Adams Radiohead Glastonbury Festival Linux of 2000 article Mark Ericksen TheOatmeal Comic: Running Eric Oestrich Squabble Playing the violin and cello
This season on Smart Software Season 2, we are focused on the inner workings of Elixir and the inner workings of popular Elixir libraries, or Elixir internals. Today, I have the pleasure of interviewing my colleague, Eric Oestrich who's responsible for the wildly successful Elixir MUD framework ExVenture. ExVenture - https://exventure.org/ MUDs - https://en.wikipedia.org/wiki/MUD Ecto - https://github.com/elixir-ecto/ecto Eric's Going Multi-Node presentation at ElixirConf - https://www.youtube.com/watch?v=lCUKQnkjajo The Big Elixir - https://www.thebigelixir.com/ Eric's Prometheus presentation at Lonestar Elixir - https://www.youtube.com/watch?v=ETUD9SaRCjY Prometheus - https://prometheus.io/ Go - https://golang.org/ Celluloid - https://celluloid.io/ Phoenix - https://phoenixframework.org/ Grapevine - https://grapevine.haus/ Gossip - https://mudcoders.com/gossip-the-mud-chat-network-3156cf24edf/ Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8)
Today on the show we get stuck into the inner workings of Hex 1.0 and are happy to be joined by returning guest, Todd Resudek. As you might already know, Todd is the Senior Software Engineer at Weedmaps, a regular speaker on the conference scene, and one of the three core team members at Hex. With the total downloads sitting at 641 million, the Hex community is growing rapidly and shows no signs of slowing down. In this episode, we discover what makes the Hex packages some of the most popular packages out there today, as well as the new and improved features currently in the pipeline. In addition, we find out how Todd first got involved with the Hex team and how the team makes decisions and problem solves. Key Points From This Episode: Transferring a new library into an old ecosystem. Todd’s challenges learning Elixir and Hex. Learn more about the functions of Alphabetify. An introduction to the uses of ETS storage. Contributing to Open Source while working at Weedmaps. Discover how Todd got involved with the Hex team. Learn more about the different faces of Hex. Find out how decisions are made within the Hex team. Just how busy is the Hex community right now? The top five underground features of Hex. Discover the latest features now available on Hex. Find out what new Hex features are in the pipeline. And much more! Links Mentioned in Today’s Episode: Todd Resudek — https://www.linkedin.com/in/toddresudek/ Weedmaps — https://weedmaps.com/ Hex — https://hex.pm/ rebar3 — https://www.rebar3.org/ Alphabetify — https://hex.pm/packages/alphabetify ETS — https://elixirschool.com/en/lessons/specifics/ets/ Elixir Mix Podcast — https://devchat.tv/elixir-mix/ Voitek — https://voitekk.com/ Erlef Erlang Ecosystem Foundation — https://erlef.org/ Crates — https://crates.io/crates/hex Smart Software with SmartLogic — https://podcast.smartlogic.io/ Nerves MeetUp on Twitter — https://twitter.com/nervesmeetup The Big Elixir — https://www.thebigelixir.com/ Special Guest: Todd Resudek.
Welcome back to the SmartLogic Podcast where we talk about the latest developments and best practices in the web and mobile software industry. In continuing with our theme of Elixir Internals, we’re having a conversation about the inner workings of one of the most popular Elixir libraries, Credo, and we are joined by the author René Föhring. René shares the story of how he was introduced to Elixir while doing his PhD and looking for a new programming language and then shares the philosophy and inspiration Credo was developed on. Wanting Credo to be a less rule-based, authoritative code analysis tool and more user friendly, René focused on creating it to act as a type of digital mentor to the many developers out there who do not have a human mentor. He also shares about some of the launching hiccups, what he would have done differently had he been given another opportunity and some of the most important lessons that he has learned working in the open source community. Be sure to join us for all the inside info! Key Points from This Episode: More about René’s job as head of product development at 5 Minds and what they do. What he does in his free time: open source maintenance and conference speaking. How he got started with Elixir and wanting to learn a new programming language. What Credo is all about, why you’d want to use it and what makes it different. The inspiration behind writing Credo and wanting a more positive, less dogmatic tool. Starting off building on Dogma but then pivoting and going in an independent direction. The hiccups René experienced when first releasing Credo and what he’d do differently. The different checks in Credo and how they function and respond to issues. How Elixir 1.6 impacted the development of Credo. What’s new with the Credo 1.1 release? René’s experience working with open source and the first library he contributed to. Important lessons he has learned by being part of the open source community. And much more! Links Mentioned in Today’s Episode: Elixir — https://elixir-lang.org/ Credo — http://credo-ci.org/ René Föhring on Twitter — https://twitter.com/rrrene?lang=en 5 Minds IT – Solutions — https://www.5minds.de/ GitHub — https://github.com/ Ruby — https://www.ruby-lang.org/en/ Go — https://golang.org/ Cplusplus — http://www.cplusplus.com/ StyleCop — https://github.com/StyleCop/StyleCop Dogma — https://github.com/lpil/dogma Hex — https://hex.pm/ Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8) Special Guest: René Föhring.
Today on the show we continue our series on the inner workings of several different Elixir libraries and are happy to be joined by Meryl Dakin, Software Engineer at the Flatiron School and author of Token Alchemist. In this episode, we discover how Meryl got started with Elixir and what the process was like for her transitioning from Ruby to Elixir. We learn more about the internal functions of Token Alchemist within the school context and discuss the unique opportunities Meryl has discovered in Elixir, as well as the trickier language features that programmers are likely to experience in their learning process. Meryl also shares the challenges that Token Alchemist attempts to overcome – delving deeper into LTI, the Learn.co platform, OAuth and JSON. For all this and more, be sure to click play! Key Points From This Episode: Discover why Meryl first got started with Elixir. Learn more about the Flatiron Bootcamp for coders. Meryl’s experience in transitioning from Ruby to Elixir. The opportunities for concurrency and fault tolerance in Elixir. Discover the top three tricky language features in Elixir. The benefits of going back to the basics of Elixir. Find out the problems that Token Alchemist attempts to solve. Meryl explains LTI and the Learn.co platform for students. Learn more about custom parameters in Token Alchemist. The process of learning OAuth in Token Alchemist. What to consider when using LTI in Elixir. The benefits of resource link history ID’s in the LTI spec. Opportunities for you with Token Alchemist. And much more! Links Mentioned in Today’s Episode: We Work — https://www.wework.com/ Flatiron School — https://flatironschool.com/ Elixir — https://elixir-lang.org/ Ruby — https://www.ruby-lang.org/en/ Learn.co — https://learn.co/ Meryl on LinkedIn — https://www.linkedin.com/in/meryldakin/ Meryl on Twitter — https://twitter.com/meryldakin Meryl on GitHub — https://github.com/meryldakin Token Alchemist on GitHub — https://github.com/meryldakin/token_alchemist Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8) Special Guest: Meryl Dakin.
Welcome back to show everyone and today in our exploration of Elixir libraries we are talking to Paul Schoenfelder! He is here to unpack Distillery, his own creation from the world of Elixir and tell us about how it works. We also discuss how Paul made the transition from bigger corporations into the startup world, his early experiences of different coding languages and the initial steps he took in writing Distillery. Paul is very honest about the unclear future of the library and he shares his hopes for it for the short term as well as clarifying its key concepts and functions. He gives great advice and directions for learning more about the resource and how you can help him and his projects out if you use them. For all this and then some, be sure to join us today for the show! Key Points From This Episode: * Paul's work background, language history and the last few years working Elixir. * The first library that Paul contributed to and created on his own! * What brought about the creation of Distillery. * Clarifying releases, compiling, generating, deployment and more. * Where to learn more and find out details about the library. * The first steps Paul took when writing this latest version of the Distillery. * Looking to the future of Distillery and its current best use cases. * Hot upgrades and who they can be useful to when it comes to Elixir. * Let Paul know if you are using or want to contribute to a project of his! * And much more! Links Mentioned in Today’s Episode: Smartlogic — https://www.smartlogic.io/ Paul Schoenfelder — https://github.com/bitwalker Bitwalker — http://bitwalker.org/ Distillery — https://hex.pm/packages/distillery DockYard — https://dockyard.com/ Erlang — https://www.erlang.org/ Phoenix — https://phoenixframework.org/ Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8) Special Guest: Paul Schoenfelder.
Today on the show we continue our series on the inner workings and various libraries of Elixir and are very happy to welcome Bryan Joseph of Revelry to talk about his very own ElixirScript. ElixirScript is essentially an Elixir to JavaScript compiler, allowing users to run Elixir online more easily. We ask Bryan what inspired this project and about some of the major challenges that have faced it. We also talk about the role of his company, Revelry in his career and work in open source. Bryan tells us about his very own conference, The Big Elixir and why you should be traveling to New Orleans to check it out! Other topics covered include the architecture of ElixirScript, binary pattern matching, Bryan's other experiences of libraries and his hopes for ElixirScript's future. For all this and then some, be sure to listen in today! Key Points From This Episode: Some background on Bryan, his work and how he got started with Elixir. What is ElixirScript? What does it do? How Brian got the idea! ElixirScript's architecture; the inner workings of the compiler. The major problems and challenges that face this task with JavaScript. Step one in the process; the conversion of concepts. Binary pattern matching and the implementation of strings. The things Bryan would do differently looking back on the product. Bryan's other experiences of libraries, contributions and fixes. Marketing, posting and getting the word out on ElixirScript. The current state of the project and hopes for the future. A little bit about The Big Elixir and what sets it apart from other conferences. And much more! Links Mentioned in Today’s Episode: Smartlogic — https://www.smartlogic.io/ ElixirScript — https://elixirscript.github.io/ Bryan Joseph — https://github.com/bryanjos Revelry — https://revelry.co/ The Big Elixir— https://www.thebigelixir.com/ Metaprogramming Elixir — https://www.amazon.com/Metaprogramming-Elixir-Write-Less-Code/dp/1680500414 Chris McCord — http://chrismccord.com/ Erlang — https://www.erlang.org/ ElixirCon — https://www.elixirlabs.net/events/elixircon-2018 Lonestar Elixir — https://www.lonestarelixir.com/ Operation Spark — https://operationspark.org/ Flatiron — https://flatironschool.com/ Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8) Special Guest: Bryan Joseph.
Hey everybody and welcome back to Season 2 of the podcast! This season we will be talking about Elixir internals, libraries and the inner workings of the language. In our first episode we are very happy to be joined by Brooklyn Zelenka to start off our journey on the subject with an exploration of her very own Witchcraft. In this episode we talk to Brooklyn about her history with Elixir, how she got started and what attracts her to it. Brooklyn explains the influence that open source philosophy has had on her career in developing and from there she gives a pretty comprehensive introduction to what Witchcraft is, expanding its key concepts. Although this is quite a high level discussion about Elixir and Witchcraft, we are confident that with Brooklyn's expert help even our most uninitiated listener can get some benefit from our conversation. We also talk about type systems, property-based checking and Dialyzer, so for all of this and more make sure to join us as we kick things off for Season 2! Key Points From This Episode: A quick introduction to Brooklyn, where she works and how she got started with Elixir. The influence of open source and library contributions on Brooklyn's development. Getting to grips with Witchcraft; defining monads and functors. Why some of these scary terms do not need to frighten you. A few little things that differentiate Witchcraft and some surprising elements. The convenient guarantees that Witchcraft provides around your data structure. Why there is no type system baked into Elixir; overheads, inputs and outputs. Property-based checking and compile times in Witchcraft. Merging of Elixir and Dialyzer; benefits and problems. Getting in touch with Brooklyn and getting involved with Witchcraft and Elixir. And much more! Links Mentioned in Today’s Episode: Smartlogic — https://www.smartlogic.io/ Brooklyn Zelenka — https://github.com/expede Brooklyn Zelenka on Twitter — https://twitter.com/expede Brooklyn Zelenka Email — hello@brooklynzelenka.com Fission — https://fission.codes/ Elixir — https://elixir-lang.org/ Witchcraft — https://hex.pm/packages/witchcraft Dialyzer — https://github.com/jeremyjh/dialyxir Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8) Special Guest: Brooklyn Zelenka.
With this season over, we bring Dan Ivovich back to talk about what we learned. Dan Ivovich - Director of Development Operations @ SmartLogic 00:43 - Why are you using Elixir in production? 01:20 - Advantages / disadvantages of Elixir 02:38 - How do you deploy? 03:48 - Zero downtime deploys 05:40 - Clustering 06:56 - Elixir App performance 09:00 - Background task processing 10:36 - Common Libraries 14:40 - 3rd Party Services 16:16 - Do you have a story where Elixir saved the day in production? 17:56 - OTP features 18:31 - Tip to developers Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8) Special Guest: Dan Ivovich.
We talk with Jeffrey Matthias from Community about their current and past Elixir projects and how they are deployed. Jeffrey Matthias - Community (https://www.community.com/) Find Jeffrey elsewhere online: http://github.com/idlehands https://twitter.com/idlehands 0:47 - Give us a quick overview of the Elixir projects you have in production. 3:29 - Why are you using Elixir in production? 6:04 - What are some of the high level advantages / disadvantages of Elixir, from your perspective? 10:14 - What do you use to host your Elixir app? Linode, AWS, DO Heroku Enmesos mesos How do you deploy your application? Ansible Deploy scripts Distillery 14:19 - Are you able to get zero downtime deploys? If so, how? 17:06 - Do you cluster the application? If so, how? 22:53 - How does your Elixir App perform compared to others in your environment? Response time Throughput Jobs/hr 25:01 - How are you solving background task processing? 29:17 - What libraries are you using? Phoenix 33:53 - Third party apps 37:28 - Do you have a story where Elixir saved the day in production? 40:42 - If you could give one tip to developers out there who are or may soon be running Elixir in production, what would it be? Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8) Special Guest: Jeffrey Matthias.
We talk with Jay Ashe from Cava about their current and past Elixir projects and how they are deployed. Jay Ashe - Cava (https://cava.com/) Find Jay elsewhere online: https://twitter.com/jgashe 0:40 - Give us a quick overview of the Elixir projects you have in production. CAVA is a fast-casual mediterranean restaurant chain with 75 stores across the US. Elixir and phoenix power CAVA’s online ordering platform (order.cava.com and the CAVA app). We’ve got a REST (and websockets) api sitting behind react and our mobile apps, and we use phoenix templates for some of our back of house systems. 1:11 - Why are you using Elixir in production? We have from the start! The application was originally implemented by Chris Bell and his team at madebymany. Chris, by the way, has a fantastic talk from ElixirConf 2016 that goes into our architecture and how we use elixir and OTP constructs to model our business logic. Chris will occasionally talk about the CAVA project on his Elixir podcast, ElixirTalk. Chris’ Talk - https://www.youtube.com/watch?v=fkDhU-2NWJ8 (https://www.youtube.com/watch?v=fkDhU-2NWJ8) 1:58 - What are some of the high level advantages / disadvantages of Elixir, from your perspective? Advantages: Elixir and Phoenix gives you rails-esque productivity/developer experience that scales. I think phoenix channels are a great example of this. Build a channel with complex real-time functionality and let it scale effortlessly. Disadvantages: Hiring and onboarding, depending on your mindset, can be difficult. If you’re used to hiring for experience in your stack, its just going to be more difficult. Lately we’ve started doing one-hour weekly knowledge shares that cover elixir basics and are closely tied to our usage of them. So, here’s a test case, and here are all of the test helpers that we have set up that will help you write that test. We also just sent a new Elixir dev to lonestar elixir 3:59 - What do you use to host your Elixir app? Heroku How do you deploy your application? Heroku-buildpack-elixir https://github.com/HashNuke/heroku-buildpack-elixir (https://github.com/HashNuke/heroku-buildpack-elixir) 4:44 - Are you able to get zero downtime deploys? - As close as possible! We get that out of the box with heroku. When we deploy, heroku won’t point traffic to the new dyno until the app is healthy. We make extensive use of Phoenix channels over websockets, and our clients will reconnect automatically and transparently. 5:10 - Do you cluster the application? Nope. 5:52 - How does your Elixir App perform compared to others in your environment? I can’t really talk about numbers here, but Elixir is not at all our bottleneck. We don’t have other production applications 6:25 - How are you solving background task processing? Quantum for cron jobs, genservers for everything else. We’re running a single elixir application that handles all synchronous and async processing 7:07 - What libraries are you using? Phoenix Phoenix_swagger for API documentation that integrates with controller tests https://github.com/xerions/phoenix_swagger (https://github.com/xerions/phoenix_swagger) Ex_rated for rate limiting calls to our integrations https://github.com/grempe/ex_rated (https://github.com/grempe/ex_rated) Timex and calendar for datetime support with timezones https://github.com/bitwalker/timex (https://github.com/bitwalker/timex) A combination of httpotion and httpoison for HTTP clients, but im interested in trying Mint https://github.com/ericmj/mint (https://github.com/ericmj/mint)https://github.com/appcues/mojito (https://github.com/appcues/mojito) Bamboo for transactional emails, like order confirmations etc https://github.com/thoughtbot/bamboo (https://github.com/thoughtbot/bamboo) 8:59 - 3rd Party Services (i.e. Email, Payment Processing, etc) Sendgrid for email, Google for geocoding, slack for some internal alerting of application health, LevelUp for payments. https://www.thelevelup.com/ (https://www.thelevelup.com/) 10:07 - Do you have a story where Elixir saved the day in production? Yes and no. So I could tell this story by explaining the issue we saw and the underlying cause at the same time, but I think it would be more fun to tell it like our team experienced it. One day at lunch our application started going down. Lots of 500 errors. Red lights flashing. Panic ensuing. Lunch is our busiest time of day, so 1) we thought it was load related and 2) we really needed to fix it None of our traditional resources (database, cpu, memory) were constrained and our integrations that were synchronous were fine. Our logs were littered with errors from an analytics integration that ran asynchronously on genservers, but it didn’t seem related because we could see the error logs at times when our application was otherwise healthy. The team that used the analytics didn’t have a pressing need for them, and we deprioritized fixing the issue because the bug we were working on was so much more important (that’s foreshadowing). I spent a little time looking at websockets, but I was easily able to match the load of the websocket portion of our application on my local machine with no degradations in performance (thanks, phoenix), so that was out. At this point the issue was going on every day at lunch and I was getting annoyed at seeing the logs from the analytics integration when debugging, so I spent like 15 minutes finding and fixing the issue (a bad API key, basically) Voila, issue gone. Time to grab some lunch. We spent a while coming up with an explanation for this. Eventually we learned about max_restarts on a supervisor. By default, if a process crashes 3 times in 5 seconds, the process won’t be restarted again. So if another process (like the one handling a web request) tries to call that process that wasn’t restarted, the caller would crash, and we’d start to get 500 errors, customers couldn’t log in, mass confusion. So there are a few takeaways from this story: For a while, elixir saved the day in production. - A supervision tree prevented failures from the analytics process from affecting customers, until the scale of our failures exceeded the max_restart level. - Our supervision tree needed some love though, clearly. - Monitor your resources. CPU is a resource, but calls to another API are also a resource and can get unhealthy too. 15:00 - Are you using any cool OTP features? GenServers, definitely. There’s lots we can do asynchronously especially in terms of our integrations. One process per store is a cool model that scales well and keeps issues isolated to a single store. 15:50 - If you could give one tip to developers out there who are or may soon be running Elixir in production, what would it be? If you’re on a small team, Heroku or a similar provider might give you a lot of value in terms of infrastructure you can set up and forget. Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8) Special Guest: Jay Ashe.
We talk with Frank Hunleth from the Nerves core team about their current and past Elixir projects and how they are deployed. Frank Hunleth - Nerves (https://nerves-project.org/) Find Frank elsewhere online: https://twitter.com/fhunleth https://github.com/fhunleth 0:53 Frank intro 2:02 Give us a quick overview of the Elixir projects you have in production. 4:25 Why are you using Elixir in production? 8:00 What are some of the high level advantages / disadvantages of Elixir, from your perspective? 9:25 What hardware do you deploy to? 12:05 How do you get code to hardware after deployment? 13:47 How do you secure the code? 18:12 Do you cluster? If so, how? How does your Elixir App perform compared to others in your environment? 22:45 How does Elixir compare to other languages? 26:15 More information about Nerves Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8) Special Guest: Frank Hunleth.
We talk with Mark Ericksen from Elixir Mix about their current and past Elixir projects and how they are deployed. Mark Ericksen - Elixir Mix (https://devchat.tv/elixir-mix/) Find Mark elsewhere online: https://twitter.com/brainlid https://brainlid.org/ 00:32 Intro 0:58 Mark intro Developing a long time. C#, then Rails. Webforms were terrible. Rails is “Wow, this is how web development should be… I moved across the country to work with this technology” The Rails Community is strong. Dave Thomas got Mark into Elixir 2:48 What Elixir projects do you have in production? A Rails app and a number of Elixir Micro-liths 4:29 Why do you use Elixir 6:45 Trends in moving from Ruby and Rails to Elixir Ruby Syntax Pattern Matching Concurrency primitives Fault Tolerance and a functional paradigm Erlang/OTP 6:48 Comparing Elixir community to Ruby community to C# community 8:27 Any disadvantages to using Elixir? Building releases. Configuring releases. mix.release 10:13 Where are you hosting these bad boys? AWS Kubernetes in Production. So Fresh. Docker and Distillery 2.0 Releases Yaml files and Bash Scripts Makefiles 10:53 What else are you using besides docker 12:36 Helm and Ksonnet. 13:55 Deploys 14:39 Clustering 17:50 How do your Elixir apps compare to the Ruby apps? Big Elixir Apps 20:00 How Mark handles background jobs Easy to write yourself with BEAM primitives 21:27 Libraries - Quantum, Bamboo, exmachina, prometheusex via Eric’s influence 23:29 Third party integrations. Major ones were easy. Banks were bad. Literally had to FTP files. Had to use java to write xml spreadsheets. The horror. 25:26 Has Elixir ever saved the day for you in Production? 29:42: Cool OTP features 30:57 Tips to developers 35:36 Where to find Mark Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8) Special Guest: Mark Ericksen.
We talk with Brooklyn Zelenka from SPADE Co. about their current and past Elixir projects and how they are deployed. Brooklyn Zelenka - SPADE Co. (https://spade.builders/) Find Brooklyn elsewhere online: https://twitter.com/expede https://github.com/expede 1:08 - Brooklyn’s Background Brooklyn's background and experience with Elixir is deep. Huge open source contributor. Got started in Elixir just after Phoenix got to 1.0. 1:53 - Worked on several Elixir projects in production. 2:43 - Why she got into Elixir. - Real Time - More performant than Rails. - Great documentation - Industrial-grade 4:38 - When you wouldn't use Elixir. Easy to get stakeholder buy-in. Just point to WhatsApp. Elixir is made for 2019 CLI tools Repl-driven development TDD tools built in by default All the best practices we have today are built in. 7:14 - Where has Brooklyn hosted her apps? Heroku for POC's. AWS for production. Dockerized because "kubernetes is the new hotness" 9:40 - Do you do any clustering? Load balanced above. AWS load balancing is very standard. They're well understood and have a nice developer experience. 10:29 Are you able to get any zero downtime deploys? Zero downtime deploys. Awesome but impractical. Rolling deploys are easier and usually more appropriate. Some requirements make it valuable. Erlang error states. Exceptional. Allows you to build for the happy path. Don't worry about error handling all the time. Witchcraft and dark magic. Monads. Poke around the standard library. 12:50 - How does Elixir compare to Rails in terms of response times, and other aspects? 15:32 - What libraries do you use and what have you built? 22:41 - Any cool features of OTP you are using? 25:36 - One tip to developers new to Elixir Build up a peer-to-peer cli chat from scratch in one GenServer. Find her at @expede everywhere on the internet. Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8) Special Guest: Brooklyn Zelenka.
Sponsors Sentry use the code “devchat” for $100 credit Triplebyte CacheFly Panel Josh Adams Mark Ericksen Guest: Eric Oestrich Episode Summary In this episode of Elixir Mix, Mark Ericksen and Josh Adams chat with guest, Eric Oestrich, a developer at SmartLogic and creator of ExVenture and Grapevine, two open source Elixir applications centered around text based games. Eric gives updates on ExVenture and Grapevine. Mark and Josh both have referenced ExVenture before, for using different ideas. They mention Prometheus and Grafana, two monitoring platforms that work well with Elixir applications. Eric also describes how Grapevine and ExVenture interact to help gamers get profiled with their achievements. Eric shares his experiences getting ExVenture set up with a continuous integration (CI) server. Panelists agree having side projects help developers try out new technology without deadline pressure. Eric does live development every Monday at 12:00 pm EST on smartlogictv. Eric and Mark both share their experiences with live coding. Josh mentions an article he liked on live coding: “Lessons from my first year of live coding on Twitch” by Suz Hinton. Eric talks about what he has been working on outside of ExVenture and Grapevine. They briefly compare ease of shelling out in Python, Elixir and Ruby. SmartLogic now has a podcast called “Smart Software with SmartLogic” and Mark was a guest on one of the episodes “Elixir in Production”. Links http://erlang.org/doc/man/sys.html#get_state-1 http://oestrich.org/ http://blog.oestrich.org/ https://twitter.com/ericoestrich https://www.smartlogic.com/ https://exventure.org/ https://grapevine.haus/ https://blog.oestrich.org/2019/01/exventure-updates https://prometheus.io/ https://grafana.com/ https://travis-ci.org/ https://semaphoreci.com/ https://jenkins.io/ https://twitter.com/alicegoldfuss/status/1098604563664420865 https://circleci.com/ https://about.gitlab.com/ https://github.com/Trevoke/dwarlixir https://www.twitch.tv/smartlogictv Lessons from my first year of live coding on Twitch by Suz Hinton https://obsproject.com/ https://github.com/alco/porcelain http://bert-rpc.org/ https://github.com/mojombo/bertrpc https://podcast.smartlogic.io/ https://github.com/oestrich/ex_venture/ https://www.clustertruck.com/ https://www.facebook.com/Elixir-Mix https://twitter.com/elixir_mix Picks Josh Adams: https://github.com/beerriot/goma Mark Ericksen: http://blog.plataformatec.com.br/2019/02/announcing-broadway/ Eric Oestrich: http://www.restfest.org/
Sponsors Sentry use the code “devchat” for $100 credit Triplebyte CacheFly Panel Josh Adams Mark Ericksen Guest: Eric Oestrich Episode Summary In this episode of Elixir Mix, Mark Ericksen and Josh Adams chat with guest, Eric Oestrich, a developer at SmartLogic and creator of ExVenture and Grapevine, two open source Elixir applications centered around text based games. Eric gives updates on ExVenture and Grapevine. Mark and Josh both have referenced ExVenture before, for using different ideas. They mention Prometheus and Grafana, two monitoring platforms that work well with Elixir applications. Eric also describes how Grapevine and ExVenture interact to help gamers get profiled with their achievements. Eric shares his experiences getting ExVenture set up with a continuous integration (CI) server. Panelists agree having side projects help developers try out new technology without deadline pressure. Eric does live development every Monday at 12:00 pm EST on smartlogictv. Eric and Mark both share their experiences with live coding. Josh mentions an article he liked on live coding: “Lessons from my first year of live coding on Twitch” by Suz Hinton. Eric talks about what he has been working on outside of ExVenture and Grapevine. They briefly compare ease of shelling out in Python, Elixir and Ruby. SmartLogic now has a podcast called “Smart Software with SmartLogic” and Mark was a guest on one of the episodes “Elixir in Production”. Links http://erlang.org/doc/man/sys.html#get_state-1 http://oestrich.org/ http://blog.oestrich.org/ https://twitter.com/ericoestrich https://www.smartlogic.com/ https://exventure.org/ https://grapevine.haus/ https://blog.oestrich.org/2019/01/exventure-updates https://prometheus.io/ https://grafana.com/ https://travis-ci.org/ https://semaphoreci.com/ https://jenkins.io/ https://twitter.com/alicegoldfuss/status/1098604563664420865 https://circleci.com/ https://about.gitlab.com/ https://github.com/Trevoke/dwarlixir https://www.twitch.tv/smartlogictv Lessons from my first year of live coding on Twitch by Suz Hinton https://obsproject.com/ https://github.com/alco/porcelain http://bert-rpc.org/ https://github.com/mojombo/bertrpc https://podcast.smartlogic.io/ https://github.com/oestrich/ex_venture/ https://www.clustertruck.com/ https://www.facebook.com/Elixir-Mix https://twitter.com/elixir_mix Picks Josh Adams: https://github.com/beerriot/goma Mark Ericksen: http://blog.plataformatec.com.br/2019/02/announcing-broadway/ Eric Oestrich: http://www.restfest.org/
We talk with Todd Resudek from Weedmaps about their current Elixir projects and how they are deployed. Todd Resudek - Weedmaps (https://weedmaps.com/) Find Todd elsewhere online: https://twitter.com/sprsmpl https://github.com/supersimple 00:00 - Intro 01:06 - Tom introduces himself 02:54 - What is Weedmaps? 04:33 - Overview of the Elixir projects you have in production. 06:25 - Why are you using Elixir in production? 07:21 - Advantages / disadvantages of Elixir 10:37 - What do you use to host your Elixir app? 10:50 - How do you deploy your application? 11:22 - Are you able to get zero downtime deploys? 12:00 - Do you cluster the application? 13:00 - How does your Elixir App perform compared to others in your environment? 14:15 - How are you solving background task processing? 16:40 - What libraries are you using? 21:09 - 3rd Party Services 23:56 - Do you have a story where Elixir saved the day in production? 24:22 - Are you using any cool OTP features? 24:39 - Tip to developers 25:12 - Where you can find him 25:32 - Outro Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8) Special Guest: Todd Resudek.
We sat down with numerous developers, including José Valim and Chris McCord, during the Saturday lunch at Lonestar ElixirConf 2019 (https://lonestarelixir.com/2019/). Hear what they had to say about the state of Elixir! Guests: José Valim - Creator of Elixir (https://elixir-lang.org/) Chris McCord - Creator of Phoenix (https://phoenixframework.org/) Paul Schoenfelder - Creator of Distillery (https://github.com/bitwalker/distillery), Timex (https://github.com/bitwalker/timex), Libcluster (https://github.com/bitwalker/libcluster), and many others Chris Keathley - Host of Elixir Outlaws (https://elixiroutlaws.com/), developer at Bleacher Report (https://bleacherreport.com/) Amos King - Host of Elixir Outlaws (https://elixiroutlaws.com/) Jim Freeze - Organizer of ElixirConf (https://elixirconf.com/), ElixirConf EU (http://www.elixirconf.eu/), and others Susumu Yamazaki - Creator of Hastega (https://github.com/zeam-vm/hastega) Brian Cardarella - CEO of Dockyard (https://dockyard.com/) Osa Gaius - Engineer at Mailchimp (https://mailchimp.com/) Spectating: Bruce Tate and Ben Marx 00:00 - Intro 01:47 - LoneStar begins 02:03 - Panelists introduce themselves 09:15 - Where is Elixir going? 10:14 - Releases 19:04 - The issue with hype 26:30 - Osa Intro 29:00 - Define lists 40:00 - How can Elixir displace Java? Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8)
We talk with Ryan Billingsley from ClusterTruck about their current Elixir projects and how they are deployed. Ryan Billingsley - ClusterTruck (https://www.clustertruck.com/) Find Ryan elsewhere online: https://twitter.com/ryanbillingsley https://horriblenight.com/ 00:00 - Fade In 00:50 - Ryan introduces us to ClusterTruck. 02:00 - How did Ryan get into Elixir? 03:12 - Where does the name ClusterTruck come from? 04:17 - Tell us about the projects you have in production. 05:50 - Why are you using Elixir in these projects. 08:11 - Disadvantages of using Elixir 09:22 - Comparing Elixir with Ruby, Node, Go. 11:38 - Where is ClusterTruck hosting their applications? 15:03 - Kubernetes? 16:03 - Zero Downtime Deployments? 16:42 - Do you do any clustering? 18:06 - How does Elixir perform compared to other project environments you’ve worked in? 19:52 - How are you solving background task processing? 21:09 - Other libraries? 23:34 - Other third party integrations? 25:46 - Is there a time Elixir has saved the day in Production? 27:47 - Cool OTP Features! 29:45 - Tips to devs thinking about running Elixir in Production. 31:17 - Outro Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8) Special Guest: Ryan Billingsley.
We talk with developers from the team here at SmartLogic about our current practices on deploying Elixir and Phoenix in production. Dan Ivovich - Director of Development Operations @ SmartLogic Learn more about how SmartLogic uses Phoenix and Elixir. (https://smartlogic.io/phoenix-and-elixir) 00:00 - Fade In 00:30 - Introductions to Eric, Dan and SmartLogic Dan Ivovich - Director of Development Operations @ SmartLogic Eric Oestrich - Developer, Elixir Lead @ SmartLogic Justus Eapen - Full stack developer @ SmartLogic Introduced to Elixir by an old colleague. 1:20 - What Elixir projects do you have in production? Several client projects in production. Several Mobile Apps with APIs powered by Phoenix and Elixir. Baltimore Water Taxi. A digital marketplace. And more! 1:57 - Advantages and disadvantages to using Elixir. We made the switch when a colleague was stoked about Functional Programming and introduced us to Elixir. We were won over by the performance and rich feature sets, OTP, etc. 2:43 - Where are we hosting our Elixir Apps? Heroku AWS Linode Digital Ocean 6:20Deployment process, tools, scripting Ansible - for underlying VPS’s, servers, and more recently deployment itself. (Similar to Capistrano). Distillery Mix.release 7:18 - Zero Downtime Deployments Old school load balancers and rolling restarts 7:46 - What are the performance metrics like? Comparatively. Ruby ends up with memory leaks. That doesn’t happen with Elixir. Memory utilization is flat and low no matter what. “Phenomenal response times” 8:54 - How does Eric think about clustered applications in Elixir? Going Multi Node (https://www.youtube.com/watch?v=lCUKQnkjajo (https://www.youtube.com/watch?v=lCUKQnkjajo)) Pg2 (http://erlang.org/doc/man/pg2.html) - process groups Mnesia (http://erlang.org/doc/man/mnesia.html) distributed database (beware!) “Just sending messages to pids because Erlang is great” Swarm (https://github.com/bitwalker/swarm) / Horde (https://github.com/derekkraan/horde) 12:40 - How do we handle background tasks? Started with verk (https://github.com/edgurgel/verk) Recently becoming more comfortable with spinning up GenServers (https://hexdocs.pm/elixir/GenServer.html) “The language itself is built to be concurrent.” 15:06 What libraries are we using in prod? First thing: You don’t need a whole lot because the language is so well designed. Phoenix (https://phoenixframework.org/) - web framework Ecto (https://hexdocs.pm/ecto/Ecto.html) - sort of an ORM Distillery (https://github.com/bitwalker/distillery) - for releases Bamboo (https://github.com/thoughtbot/bamboo) - for sending emails Quantum (https://github.com/c-rack/quantum-elixir) - for task scheduling Timex (https://github.com/bitwalker/timex) - for dates and times, and timezones Cachex (https://github.com/whitfin/cachex) - for caching 18:20- What third party integrations have we attempted Stripe Square Twilio Mindbody Always building our own clients. Using HTTPoison (https://github.com/edgurgel/httpoison) 19:58Has Elixir ever saved the day in production? It’s saved many days by PREVENTING ISSUES. Systems are architected for reliability and fault-tolerance. 21:48 - Where do supervision trees come from? What is OTP? OTP is an Erlang standard lib Includes supervision trees, genservers, ETS, and a lot of stuff we don’t even know about! gen_tcp (http://erlang.org/doc/man/gen_tcp.html) Mnesia dets (http://erlang.org/doc/man/dets.html) 23:43- Tips for devs considering running elixir in production. Jump in and read the docs Understand how systems boot, distillery releases, config providers, etc. “Good server monitoring hygiene” “DIVE IN!” 19:54 Outro Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8) Special Guest: Dan Ivovich.
Welcome to the first season of Smart Software with SmartLogic. We'll be interviewing several companies about how they use Elixir in Production this season. In this preview episode, we introduce ourselves and some of the topics we’ll be covering. Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8)
In this episode of the Startup Soirée Podcast, Pat talks with LeAnne Match of SmartLogic.
In this episode of the Startup Soirée Podcast I speak with Yair Flicker from Smartlogic. Great conversation I think you will all enjoy. A little more about Yair....Yair Flicker is the President of SmartLogic, a consulting company that builds custom web and mobile-based software. Yair's approach to business and life is to always find the simplest way to generate the best results, which serves SmartLogic well as they convert client ideas into robust, fully-featured applications. Guided by this emphasis on simplicity, SmartLogic's agile process is perfect for funded startups and other clients that need to develop web/mobile-based products that quickly adapt to the unpredictable needs of their clients and users. SUBSCRIBE to the Startup Soirée Podcast Yair has been featured in publications such as Baltimore Business Journal, Baltimore Sun, Fortune Magazine, SmartCEO and various other local publications. Yair received BS/MSE degrees in Computer Science from Johns Hopkins University. Outside of business, Yair leads a very active lifestyle. Current activities include traveling (5 continents in the past year), running, biking, squash, and piano. Yair is also the treasurer of Bikemore—Baltimore's bicycling advocacy organization.Connect with Yair on LinkedIn, Instagram, Twitter, and Swarm (yflicker).Facebook: https://www.facebook.com/smartlogic Twitter: https://twitter.com/smartlogicEmail: yair@smartlogic.ioWebsite: http://smartlogic.io/LinkedIn: SmartLogicSubscribe to the startup soirée podcast below: