Thinking Elixir Podcast

ThinkingElixir.com
undefined
May 17, 2022 • 44min

99: Slipstream and Tree-Sitter with Michael Davis

Michael Davis explains Slipstream, a Phoenix channels websocket client library that enables Elixir applications to become a client of a Phoenix channel on another server. Out of this work, an underlying websocket library was created built on mint, which has now officially become part of the mint project. We talk about other libraries in the same space and why Slipstream was created. Michael was also involved in the recent Tree-Sitter Elixir work that Github celebrated and he shares some insight into that work as well! Show Notes online - http://podcast.thinkingelixir.com/99 Elixir Community News https://twitter.com/remote_ruby/status/1522546728922226691 – José Valim was a guest on the Remote Ruby podcast talking about his history as a Rails core contributor and the creation of Elixir. https://share.transistor.fm/s/7dc8e2e3 – Remote Ruby podcast https://github.com/kipcole9/image – New image-processing library called Image that leverages libvips though NIF bindings. https://github.com/libvips/libvips https://github.com/lucasvegi/Elixir-Code-Smells – Elixir Code Smells project https://github.com/lucasvegi/Elixir-Code-Smells/blob/main/code_smells.livemd – Elixir Code Smells Livebook notebook https://litestream.io/ – Litestream project for SQLite replication https://fly.io/blog/all-in-on-sqlite-litestream/ – Ben Johnson joined Fly.io and will continue work on Litestream David's wife had a baby girl! Congrats! Now has 2 kids. Next episode is 100 and will be the final visit José Valim in our series. Also covers future development. Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com Discussion Resources https://github.com/NFIBrokerage/slipstream – Slipstream Phoenix channels websocket client library https://github.com/NFIBrokerage/mint_web_socket – Separate library that uses Mint and supports websockets. https://github.com/NFIBrokerage/slipstream/blob/main/guides/implementation.md https://github.com/Azolo/websockex – Pure Elixir websockets implemented as a special OTP process https://github.com/ninenines/gun – Popular Erlang HTTP/WebSocket client library from the same group of dependencies as cowboy, the underlying HTTP/WebSocket server for Phoenix https://github.com/jeremyong/websocket_client – WebSocket client that underlies phoneix_client and phoenix_gen_socket_client. Appears to be inactive and it no longer compiles on OTP25. https://hex.pm/packages/phoenix_channel_client – Retired library by Justin Schneck https://hex.pm/packages/phoenix_client – by Justin Schneck “Elixir Phoenix Client for Channels” https://github.com/J0/phoenix_gen_socket_client – Another Phoenix Channel client https://elixirforum.com/t/slipstream-a-slick-elixir-websocket-client-for-phoenix-channels/37456 – ElixirForum post on Slipstream https://github.com/nerves-hub/nerves_hub_link – A more prominent dependent of Slipstream. Slipstream is used as the default communication system for embedded devices to talk to the nerves hub (which provides firmware updates) https://twitter.com/whatyouhide/status/1521381183229210624 – mint_web_socket was just moved under the elixir-mint organization https://twitter.com/josevalim/status/1521390714025758720 – Jose Valim recently credited NFIBrokerage for bringing even more contributions to the Elixir community https://helix-editor.com/ https://clojure.org/ https://github.com/NFIBrokerage https://www.eventstore.com/eventstoredb https://github.com/elixir-mint/mint https://github.com/elixir-lang/gen_stage https://grpc.io/ https://github.com/tree-sitter/tree-sitter https://github.com/elixir-lang/tree-sitter-elixir https://elixir-lang.org/tree-sitter-elixir/ https://github.com/jonatanklosko – Jonatan Kłosko did the majority of the work on the Elixir Tree-Sitter library https://github.com/gleam-lang/tree-sitter-gleam/ https://github.com/ninenines/gun https://github.com/Azolo/websockex https://hex.pm/packages/phoenix_client https://github.com/nerves-hub/nerves_hub_link https://en.wikipedia.org/wiki/HTTP/2 https://github.com/NFIBrokerage/spear Guest Information https://github.com/the-mikedavis – on Github https://github.com/NFIBrokerage – Work Github organization Find us online Message the show - @ThinkingElixir Email the show - show@thinkingelixir.com Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!
undefined
May 10, 2022 • 47min

98: Elixir in the iOS App Store with Dominic Letz

Dominic Letz did something I thought was impossible. He got an Elixir application packaged up, approved, and available through the Apple App Store on iOS devices. The application runs Elixir on the device, creates a web view, and hosts Phoenix LiveView pages. They went further and created a bridge to integrate with more of the platform specific features of the device. Is Android your preferred platform? They have it running there as well and in the Google Play Store. We talk about how it works, challenges overcome, and where it is now. They also created several Github projects that show how to do this yourself to create a cross-platform desktop application and apps for Apple and Android mobile devices. Very cool! They want your help to make it even better. Show Notes online - http://podcast.thinkingelixir.com/98 Elixir Community News https://twitter.com/whatyouhide/status/1521381183229210624 – Mint now has an official WebSocket client https://github.com/elixir-mint/mint_web_socket https://github.com/NFIBrokerage https://github.com/NFIBrokerage/slipstream https://twitter.com/josevalim/status/1519377962063249409 – José Valim announced Dashbit is sponsoring part-time development of sonic_pi for the next 6 months https://sonic-pi.net/ – Sonic Pi website https://github.com/sonic-pi-net/sonic-pi – Sonic Pi project https://github.blog/2022-04-29-bringing-code-navigation-to-communities/ – Github gave Elixir another shout-out in a recent blog post “Bringing code navigation to communities”. https://twitter.com/josevalim/status/1519630932583632897 – The Nx project reaches two major milestones at the same time. https://github.com/elixir-nx/nx https://hex.pm/packages/exla – EXLA package now on Hex.pm https://hex.pm/packages/torchx – Torchx package now on Hex.pm https://twitter.com/robertoaloi/status/1520395745064542209 – WhatsApp's Erlang implementation of the Raft consensus algorithm is now open source https://github.com/WhatsApp/waraft – WARaft is a Raft library in Erlang by WhatsApp. It provides an Erlang implementation to obtain consensus among replicated state machines. Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com Discussion Resources https://apps.apple.com/us/app/diode-drive/id1605222443 – Diode Drive iOS app https://play.google.com/store/apps/details?id=io.diode.drive – Google Play listing https://github.com/elixir-desktop/desktop https://github.com/elixir-desktop/ios-example-app – iOS example app https://github.com/elixir-desktop/android-example-app – Android example app https://github.com/elixir-desktop/runtimes – Prepared runtimes for android and iOS devices. https://github.com/elixir-desktop/bridge – Used by “desktop” - does native integrations https://podcast.thinkingelixir.com/69 – Previous interview - episode 69 https://diode.io/diode%20drive/self-custody-for-data-22032/ – Why you should care about Self-Custody for data now https://github.com/couchbaselabs/iErl14 https://podcast.thinkingelixir.com/81 – Elixir in a Burrito with Quinn and Digit https://www.wxwidgets.org/ Guest Information https://twitter.com/DominicLetz – on Twitter https://github.com/dominicletz/ – on Github https://diode.io/ – Diode.io website https://github.com/diodechain – Diode Github organization Elixir Slack's desktop channel Find us online Message the show - @ThinkingElixir Email the show - show@thinkingelixir.com Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!
undefined
May 3, 2022 • 49min

97: Avro and Elixir with Dave Lucia

Dave Lucia released version 2.0 of AvroEx, an Elixir library for working with Avro protocols and schemas. To understand Avro, we need an overview of the whole Kafka-centric flow! He gives us a taste of the Enterprise soup of JVM tools used for populating data lakes, all for the business benefit of data analysis and machine learning. We may work on Elixir systems that are tasked with hooking into this other Enterprise-y world and getting an overview of the pieces and awareness of the tools available can really help out! Dave also shares his goal of creating a new Markdown parser for Elixir and updates us on the next chapter of his professional journey. Show Notes online - http://podcast.thinkingelixir.com/97 Elixir Community News https://twitter.com/wojtekmach/status/1516533938977705990 – Wojtek Mach shared some additional reasons for using NIFs to work with Rust or Zig that aren't performance related. https://twitter.com/atyborska93/status/1516773412848422919 – Angelika Tyborska shared that the Elixir track on Exercism.io got two new fun practice exercises http://exercism.org/tracks/elixir/exercises/killer-sudoku-helper – Exercism.io Elixir puzzle - Killer Sudoku Helper https://exercism.org/tracks/elixir/exercises/state-of-tic-tac-toe – Exercism.io Elixir puzzle - State of Tic Tac Toe https://gleam.run/news/v0.21-introducing-the-gleam-language-server/ – Gleam now has a language server https://twitter.com/cigrainger/status/1518896955921154048 – Nx Explorer project reaches a new milestone and was released to Hex. https://hexdocs.pm/explorer/exploring_explorer.html – Includes a “Ten Minutes to Explorer” Livebook guide https://twitter.com/MozillaHubs/status/1516469058849312768 – Mozilla hiring for a Senior Elixir Engineer to help work on their Hubs Team to help build open social spaces for the web. https://hubs.mozilla.com/ https://github.com/mozilla/hubs https://github.com/mozilla/reticulum https://elixir-lang.org/blog/2021/06/02/social-virtual-spaces-with-elixir-at-mozilla – Elixir blog post from a year ago about the Mozilla Hubs Elixir project. https://github.com/elixir-makeup/makeup_diff – Parker Selbert created makeup_diff for displaying diff markup in ExDocs https://www.erlang.org/blog/type-based-optimizations-in-the-jit/ – Blog post on the Erlang blog looked interesting. About OTP 25 type optimizations for the JIT compiler. https://codesync.global/conferences/code-beam-sto-2022/#schedule – CodeBeam in Stockholm Sweden speaker lineup and schedule are out. https://www.empex.co/mtn – Empex MTN in Salt Lake City on May 6 https://www.elixirconf.eu/ – ElixirConf EU in London on June 9-10 https://elixirconf.com/events – ElixirConf US in Colorado on August 30-Sep2 Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com Discussion Resources https://davelucia.com/blog/avro-2.0 https://github.com/beam-community/avro_ex https://avro.apache.org/ https://kafka.apache.org/ https://podcast.thinkingelixir.com/75 – Previous discussion https://www.bloomberg.com/professional/solution/bloomberg-terminal/ https://theoutline.com/ https://elm-lang.org/ https://developers.google.com/protocol-buffers/ https://thrift.apache.org/ https://github.com/klarna/erlavro https://databricks.com/ https://spark.apache.org/ https://en.wikipedia.org/wiki/Extract,_transform,_load https://databricks.com/glossary/what-is-parquet https://www.snowflake.com/workloads/data-lake/ https://github.com/beam-community https://github.com/doomspork https://github.com/surface-ui/surface https://github.com/pragdave/earmark https://github.com/pragdave https://github.com/davydog187/marx https://www.youtube.com/watch?v=dmBdFh5N1g4 – Migrating from Kafka to RabbitMQ at SimpleBet - Why and How https://twitter.com/davydog187/status/1512393866653011968 – Announced leaving SimpleBet and co-founding something new. https://twitter.com/davydog187/status/1512393877575110668 – Co-Founding Bitfo as the CTO. https://www.bitfo.com/ https://ethereumprice.org/ https://www.bitcoinprice.com/ https://defirate.com/ Guest Information https://twitter.com/davydog187 – on Twitter https://github.com/davydog187/ – on Github https://davelucia.com – Blog Find us online Message the show - @ThinkingElixir Email the show - show@thinkingelixir.com Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!
undefined
Apr 26, 2022 • 1h 18min

96: Reviewing Elixir with José Valim - Part 4

José Valim returns for part 4 in our 5 part series as we count down to the 10 year anniversary of the Elixir project we know and love! In Part 4, we talk through the Elixir releases of 1.10, 1.11, and 1.12. We go deeper on the philosophy of “explicit vs implicit” and how that informs many design decisions about the language. We learn about how Elixir and Erlang loggers were unified, how matching on map keys in guards enabled receives block enhancements, how common date sorting bugs were solved with Enum.sort improvements (that you should really listen to), the improvements to application config, how exceptions work in Erlang and Elixir and much more! A packed episode! Show Notes online - http://podcast.thinkingelixir.com/96 Elixir Community News https://github.com/livebook-dev/livebook/pull/1115 – Livebook adds “Code Focus Mode” making it easier to focus on the code cells. https://github.com/livebook-dev/livebook/discussions – Livebook project announced and opened a Github Discussions section to the project. https://github.com/phoenixframework/phoenix_live_dashboard/pull/367 – Full screen mode contribution added to Phoenix LiveDashboard project. https://podcast.thinkingelixir.com/92 – Mitch Hanberg talked with us previously about Temple https://github.com/mhanberg/eex_compiler_visualizer – Mitch Hanberg created an “EEX Compiler Visualizer” project. https://twitter.com/mitchellh/status/1515369637726224385?s=12&t=so7B66NTrJKPwDWLqMxpJA – The Zig language reached the milestone of being self-hosted https://github.com/ziglang/zig/pull/11442 – Zig being self-hosted means the compiler is capable of building itself. Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com Discussion Resources https://github.com/elixir-lang/elixir/blob/v1.10/CHANGELOG.md – Elixir 1.10 changelog https://elixirforum.com/t/discussion-incorporating-erlang-otp-21-map-guards-in-elixir/14816 – Incorporating Erlang/OTP 21 map guards in Elixir https://github.com/elixir-lang/elixir/blob/v1.11/CHANGELOG.md – Elixir 1.11 changelog https://github.com/elixir-lang/elixir/blob/v1.12/CHANGELOG.md – Elixir 1.12 changelog https://www.erlang.org/eeps/eep-0054.html – EEP 54 - Provide more information about errors https://github.com/sasa1977/boundary https://hexdocs.pm/elixir/Enum.html#sort/2-sorting-structs – Improvements to sort-based APIs in Enum - Enum.sort(dates, Date) https://hexdocs.pm/elixir/Calendar.html#strftime/3 https://github.com/elixir-nx/nx https://livebook.dev/ https://hexdocs.pm/mix/Mix.html#install/2 CMD+\ or CTRL+\ https://github.com/doawoo/teex https://hexdocs.pm/elixir/Kernel.html https://hexdocs.pm/elixir/Kernel.html#then/2 https://hexdocs.pm/elixir/Kernel.html#tap/2 https://hexdocs.pm/elixir/Range.html https://hexdocs.pm/elixir/Range.html#disjoint?/2 https://github.com/elixir-lang/elixir/blob/a64d42f5d3cb6c32752af9d3312897e8cd5bb7ec/lib/elixir/lib/range.ex#L249-L251 https://math.stackexchange.com/questions/1656120/formula-to-find-the-first-intersection-of-two-arithmetic-progressions Guest Information https://twitter.com/josevalim – on Twitter https://github.com/josevalim – on Github https://dashbit.co/ – Dashbit website and blog https://erlef.org/news/ – The Erlang Ecosystem Foundation news Find us online Message the show - @ThinkingElixir Email the show - show@thinkingelixir.com Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!
undefined
Apr 19, 2022 • 39min

95: Rustler Precompiled with Philip Sampaio

The recent announcement of Rustler Precompiled prompted a lot of interest and questions. We talk with Philip Sampaio to understand what he created and what problem it helps solve. The project helps lower the bar for using Rust libraries for NIFs in Elixir making it possible to see more libraries using Rustler in the future. He explains what prompted the work initially and how projects can benefit from it. We discuss what it means for internal company projects and especially for libraries. He explains how the project addresses the many architecture and platform combinations too. We end with learning about his sample CI project that shows us how to set up our own CI systems to use it. Show Notes online - http://podcast.thinkingelixir.com/95 Elixir Community News https://github.com/phoenixframework/phoenix/pull/4742 – Phoenix presence client https://twitter.com/elixirphoenix/status/1511393478873427982 – Twitter thread discussing the Phoenix presence client https://hexdocs.pm/phoenix_live_view/changelog.html#0-17-8-2022-04-06 – LiveView 0.17.8 released. Includes the HEEx template formatter https://hexdocs.pm/phoenix_live_view/Phoenix.LiveView.HTMLFormatter.html – Docs on how to set it up Issues discussing VS Code problems https://github.com/elixir-lsp/vscode-elixir-ls/issues/242 https://github.com/elixir-lsp/vscode-elixir-ls/issues/241 https://github.com/DockYard/flame_on – flame_on library updated https://dockyard.com/blog/2022/02/22/profiling-elixir-applications-with-flame-graphs-and-flame-on – Original flame_on announcement post for more info https://twitter.com/sorentwo/status/1513630468490645509 – Oban adds “inline mode” to make testing more straightforward https://www.mitchellhanberg.com/how-eex-turns-your-template-into-html/ – Mitchell Hanberg wrote an article about how EEx works https://podcast.thinkingelixir.com/92 – Previous interview with Mitchell Hanberg https://exercism.org/tracks/elixir/exercises/take-a-number-deluxe – Exercism.io GenServer learning exercise was added. https://twitter.com/atyborska93/status/1513807461043552256 – Angelika shares about the Exercism.io update https://twitter.com/whatyouhide/status/1512100896653590535 – Andrea Leopardi is working at Apple now on their Environment team. https://www.apple.com/environment/ – More about the Apple Environment team https://www.youtube.com/watch?v=R7t7zca8SyM – “Elixir in 100 seconds” video Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com Discussion Resources https://dashbit.co/blog/rustler-precompiled https://twitter.com/philipsampaio/status/1503809314489831441 https://github.com/philss/rustler_precompiled https://github.com/philss/rustler_precompilation_example https://github.com/philss/floki https://github.com/rusterlium/rustler https://github.com/servo/html5ever https://github.com/elixir-nx/nx https://hex.pm/packages?search=depends%3Ahexpm%3Arustler&sort=total_downloads – Current Hex packages using rustler https://github.com/elixir-nx/nx/tree/main/nx#readme https://elixir-nx.github.io/explorer/Explorer.DataFrame.html https://www.pola.rs/ https://github.com/discord/sorted_set_nif https://ziglang.org/ https://github.com/ityonemo/zigler https://github.com/philss/rustler_precompiled/blob/main/PRECOMPILATION_GUIDE.md https://github.com/philss/rustler_precompilation_example Guest Information https://twitter.com/philipsampaio – on Twitter https://github.com/philss/ – on Github https://dashbit.co/blog – Dashbit blog where he writes https://phils.dev – Personal blog Find us online Message the show - @ThinkingElixir Email the show - show@thinkingelixir.com Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!
undefined
Apr 12, 2022 • 1h

94: Benchee and OpenSource with Tobias Pfeiffer

We talk with Tobias Pfeiffer about his popular performance benchmarking tool Benchee. We learn about why he created it, what's special about it, and the big features in the latest release. It was 2 years between this release and the previous one. Tobi talks openly about the technical challenges that compounded with personal challenges, feelings of obligation, anxiety, and the drive for perfection. As developers, many of us struggle with these same issues and it helps just hearing that we're not alone. Show Notes online - http://podcast.thinkingelixir.com/94 Elixir Community News https://www.devsforukraine.io/ – Devs for Ukraine online conference, April 25-26 https://github.com/sorentwo/oban/pull/677 – Oban library putting effort into documentation guides. Testing is the first out. https://medium.com/membraneframework/introducing-auto-demands-release-of-membrane-v0-9-0-c0213d8efa51 – Membrane Framework release v0.9.0 was announced https://podcast.thinkingelixir.com/43 – Previous show covering more about Membrane https://supabase.com/blog/2022/03/30/supabase-enterprise#elixir-livebooks – Supabase announced Livebooks for Supabase https://github.com/supabase/livebooks https://podcast.thinkingelixir.com/73 – Previous show with Paul Copplestone about Supabase Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com Discussion Resources https://github.com/bencheeorg/benchee https://pragtob.wordpress.com/2022/03/08/benchee-1-1-0-released-why-did-it-take-so-long/ http://www.pragtob.info/ https://github.com/PragTob?tab=repositories – List of current github repositories https://remote.com/ https://nextjs.org/ – NextJS is react https://spawnfest.org/ https://github.com/github/scientist – Scientist ruby gem https://github.com/cwbriones/scientist – Elixir port of the library [Application Performance Monitoring (APM)](Application Performance Monitoring (APM)) https://en.wikipedia.org/wiki/Garbage_collection_(computer_science) https://www.youtube.com/watch?v=aqLujfzvUgM – Devon Estes - Digging through the garbage https://github.com/OvermindDL1 https://github.com/whatyouhide/stream_data https://www.rug-b.de/ https://github.com/bencheeorg/benchee/issues/313 – Benchee Mac issue https://www.shopify.com/ https://rubygems.org/gems/simplecov https://github.com/alco/benchfella https://rubygems.org/gems/benchmark-ips https://github.com/bencheeorg/benchee#hooks-setup-teardown-etc Guest Information https://twitter.com/PragTob – on Twitter https://github.com/PragTob/ – on Github http://www.pragtob.info/ – Blog https://pragtob.wordpress.com/ – Blog Find us online Message the show - @ThinkingElixir Email the show - show@thinkingelixir.com Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!
undefined
Apr 5, 2022 • 53min

93: Preventing Service Abuse with Michael Lubas

We talk with Michael Lubas about steps we can take to protect our Phoenix applications from common automated bot attacks. We cover API abuse to send email spam, carding attacks, and credential stuffing. We learn how Michael started paraxial.io which aims to specifically serve the Elixir community and more! Show Notes online - http://podcast.thinkingelixir.com/93 Elixir Community News https://erlef.org/blog/eef/election-2022-results – Erlang Ecosystem Foundation board election voting results https://erlef.org/blog/eef/election-2022 – Previous election notice and explanations https://hexdocs.pm/ex_doc/changelog.html – ExDoc v0.28.3 was released https://twitter.com/josevalim/status/1508528099973120004 – Call to help move ExDoc away from webpack to esbuild https://twitter.com/dominicletz/status/1506675402059792388 – iOS app store now has an Elixir application deployed in it! https://podcast.thinkingelixir.com/69 – Previous interview with Dominic Letz about doing Elixir on the desktop and mobile. https://www.erlang.org/news/155 – Erlang 25.0 rc-2 was released and requesting feedback https://twitter.com/josevalim/status/1507443537851392007 – Jose Valim's experience compiling Elixir from scratch on Apple's new MacStudio M1 Max Conference reminders https://www.empex.co/mtn – Empex MTN in Salt Lake City on May 6 https://codesync.global/conferences/code-beam-sto-2022/ – CodeBEAM in Stockholm on May 19-20 https://www.elixirconf.eu/ – ElixirConf EU in London on June 9-10 https://elixirconf.com/events – ElixirConf US in Colorado on August 30-Sep2 https://github.com/lucasvegi/Elixir-Code-Smells – Elixir Code Smells - public project https://fly.io/phoenix-files/safe-ecto-migrations/ – Safe Ecto Migrations https://twitter.com/TylerAYoung/status/1508413319178297352 – Today I Learned about doctests and importing Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com Discussion Resources https://www.paraxial.io/blog/throttle-requests https://github.com/michalmuskala/plug_attack https://owasp.org/Top10/ https://github.com/magento/magento2/issues/28614 – What is a carding attack? https://owasp.org/www-project-automated-threats-to-web-applications/ http://paraxial.io/ https://frame.io/ https://news.adobe.com/news/news-details/2021/Adobe-Completes-Acquisition-of-Frame.io/default.aspx https://www.metasploit.com/ https://www.crunchbase.com/ https://owasp.org/www-community/attacks/Credential_stuffing https://en.wikipedia.org/wiki/Web_application_firewall Guest Information https://twitter.com/paraxialio – on Twitter https://github.com/paraxialio/ – on Github https://paraxial.io/ – Website sales@paraxial.io Find us online Message the show - @ThinkingElixir Email the show - show@thinkingelixir.com Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!
undefined
Mar 29, 2022 • 48min

92: Temple with Mitchell Hanberg

We talk with Mitchell Hanberg and learn about why he created the alternate Phoenix templating language called “Temple”. He explains how Temple works, some of its unique benefits and where he's going with it in the future. Mitchell also took over maintenance of the testing project Wallaby from Chris Keathley. We revisit what Wallaby is and the special place it can have when building automated full system tests for our projects. Show Notes online - http://podcast.thinkingelixir.com/92 Elixir Community News https://twitter.com/josevalim/status/1506248906979659782 – José shared his personal definition of a reduction as "energy". https://twitter.com/thibaut_barrere/status/1501909747854942212 – PSA for people whose app fails to start on port 5000 when running on the new macOS. https://dashbit.co/blog/rustler-precompiled – Rustler Precompiled project was announced on the Dashbit blog by Philip Sampaio https://twitter.com/nervesproject/status/1504821571524964357 – Lots of update Nerves releases on Hex https://snyk.io/blog/peacenotwar-malicious-npm-node-ipc-package-vulnerability/ – A popular NPM package was maliciously updated by the maintainer as an act of protest. Impacted Vue.js projects. Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com Discussion Resources https://github.com/mhanberg/temple https://github.com/mhanberg/tableau https://github.com/mhanberg/blog/tree/mh/tableau https://github.com/elixir-wallaby/wallaby https://twitter.com/elixir_wallaby https://www.selenium.dev/documentation/webdriver/ https://github.com/markaby/markaby https://crystal-lang.org/ https://luckyframework.org/ https://laravel.com/ https://laravel.com/docs/9.x/blade https://github.com/elixir-lsp/elixir_sense https://surface-ui.org/template_syntax https://surface-ui.org/ https://teamcapybara.github.io/capybara/ https://hexdocs.pm/hound/readme.html https://www.selenium.dev/ https://keathley.io/blog/concurrent-feature-testing-with-wallaby.html https://github.com/elixir-wallaby/wallaby/discussions https://github.com/puppeteer/puppeteer Guest Information https://twitter.com/mitchhanberg – on Twitter https://github.com/mhanberg/ – on Github https://www.mitchellhanberg.com – Blog Find us online Message the show - @ThinkingElixir Email the show - show@thinkingelixir.com Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!
undefined
Mar 22, 2022 • 59min

91: Reviewing Elixir with José Valim - Part 3

José Valim returns to continue with part 3 of our 5 part series as we count down to the 10 year anniversary of the Elixir project we know and love. In Part 3, we talk through the Elixir releases of 1.7, 1.8, and 1.9. We talk about the unification efforts between Elixir and Erlang. These came through changes to error stacktraces, how documentation is stored, a unified logger, and more. We learn how features like Mix.target made a big difference for the Nerves project. We also hear the call for contributors to help bring a few remaining date/time features to Elixir. The big feature in Elixir 1.9 was the addition of deployment releases and the early efforts at managing config for releases. We thought this would be a short episode but found there was a lot to talk about and learn! Show Notes online - http://podcast.thinkingelixir.com/91 Elixir Community News https://github.com/bencheeorg/benchee – Benchee 1.1.0 release https://pragtob.wordpress.com/2022/03/08/benchee-1-1-0-released-why-did-it-take-so-long/ – Blog post on Benchee release and why the release took so long https://twitter.com/josevalim/status/1501482561511510018 – ExDoc gets a new minor feature that lets us syntax highlight HEEx templates https://elixirpatterns.dev/ – “Elixir Patterns” book is being pre-launched by the authors, Alex Koutmos and Hugo Baraúna. https://davelucia.com/blog/avro-2.0 – AvroEx 2.0 released https://www.functionalconf.com/ – Functional Conference 2022 - Asia's Premier Functional Programming Conference Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com Discussion Resources https://podcast.thinkingelixir.com/82 – Part 1 https://podcast.thinkingelixir.com/87 – Part 2 https://github.com/elixir-lang/elixir/blob/v1.7/CHANGELOG.md – Elixir changelog for v1.7 https://www.erlang.org/eeps/eep-0048 – EEP 48 https://hexdocs.pm/nx/Nx.html https://github.com/elixir-lang/elixir/blob/v1.8/CHANGELOG.md – Elixir changelog for v1.8 https://hexdocs.pm/elixir/Kernel.html#guards – Elixir docs on guards “dunder“ = a Double Underscore https://hexdocs.pm/elixir/Protocol.html#derive/3 – Protocol derive https://hexdocs.pm/elixir/Inspect.html#module-deriving – Deriving for inspect https://github.com/elixir-lang/elixir/blob/v1.9/CHANGELOG.md – Elixir changelog for v1.9 https://hexdocs.pm/ecto/Ecto.Schema.html#field/3-options https://hex.pm/packages/date_time_parser https://github.com/bitwalker/distillery – Mix package used for releases before it was built into Elixir. Guest Information https://twitter.com/josevalim – on Twitter https://github.com/josevalim – on Github https://dashbit.co/ – Dashbit website and blog https://erlef.org/news/ – The Erlang Ecosystem Foundation news Find us online Message the show - @ThinkingElixir Email the show - show@thinkingelixir.com Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!
undefined
Mar 15, 2022 • 42min

90: Elixir Cards with Tetiana Dushenkivska

We talk with Tetiana Dushenkivska, the creator of Elixir Cards, a series of Elixir flashcards with multiple ways to use them. We talk about why she created the cards, how they helped her, and how others have used them. We talk about learning models and the importance of repetition for memorizing things. Tetiana shares how LiveView is used in the creation of the cards and more! David shares how he used the cards for fun drills at meetups and Tetiana fondly recalls a tournament held at a previous Elixir conf. She also shares what she's working on now for a future online learning system. Show Notes online - http://podcast.thinkingelixir.com/90 Elixir Community News https://lu.ma/elixir-social – Elixir lunch is now Elixir social https://twitter.com/josevalim/status/1499132873114361872 – The Phoenix HEEX template formatter now merged in to LiveView https://twitter.com/nivenhuh/status/1483895710932078593 – Apple was hiring for an Elixir developer to join their Environment team. Position is closed, but an insight to Elixir usage at the company. https://www.apple.com/environment/ – Apple environment initiative https://twitter.com/emjii/status/1500574395936485384 – Performance work continues for Apple's M1 chips and Elixir. This tweet is about slow package unpacking during mix deps.get https://github.com/akoutmos/prom_ex/pull/122 – Alex Koutmos shared that PromEx now allows you to bundle Grafana's Agent so you can push metrics to Prometheus. https://fly.io/blog/intro-to-accessibility/ – An intro to Accessibility on the web. LiveBeats will continue to get enhancements so we can see an example. https://twitter.com/fhunleth/status/1500521232965451776 – Frank Hunleth tuning Nerves for the new Grisp 2 board. Can get pre-built binaries to play with. https://www.grisp.org/ – Grisp 2 is a hardware device built with Elixir and Erlang in mind https://github.com/erlang/otp/pull/4750#issuecomment-823816722 – Correction about constant time and :crypto.hash_equals Do you have some Elixir news to share? Tell us at @ThinkingElixir or email at show@thinkingelixir.com Discussion Resources https://twitter.com/elixircards – Elixir Cards Twitter account https://twitter.com/gitcards – Git Cards Twitter account https://www.elixircards.co.uk/ – Website for sales/marketing of Elixir Cards https://gitflashcards.com/ – Git cards website https://pragprog.com/titles/elixir16/programming-elixir-1-6/ https://hexdocs.pm/elixir/Enum.html https://www.eng.auburn.edu/current-students/documents/forgetting-curve.pdf https://kapeli.com/dash – Dash tool on MacOS for combined documentation searching https://zealdocs.org/ – Zeal is a Dash-like tool that is OpenSource and cross platform for Linux and Windows. https://xkcd.com/1168/ – Comic about remembering Tar commands sales@cleverbunny.io Guest Information https://twitter.com/Tetiana12345678 – on Twitter https://github.com/tetiana12345678 – on Github sales@cleverbunny.io Find us online Message the show - @ThinkingElixir Email the show - show@thinkingelixir.com Mark Ericksen - @brainlid David Bernheisel - @bernheisel Cade Ward - @cadebward Sponsored By:Fly.io: Fly.io is a great place to deploy your next Phoenix application! Check them out!

The AI-powered Podcast Player

Save insights by tapping your headphones, chat with episodes, discover the best highlights - and more!
App store bannerPlay store banner
Get the app