Listen "92: Temple with Mitchell Hanberg"
Episode Synopsis
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 (http://podcast.thinkingelixir.com/92)
Elixir Community News
- https://twitter.com/josevalim/status/1506248906979659782 (https://twitter.com/josevalim/status/1506248906979659782) – José shared his personal definition of a reduction as "energy".
- https://twitter.com/thibaut_barrere/status/1501909747854942212 (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 (https://dashbit.co/blog/rustler-precompiled) – Rustler Precompiled project was announced on the Dashbit blog by Philip Sampaio
- https://twitter.com/nervesproject/status/1504821571524964357 (https://twitter.com/nervesproject/status/1504821571524964357) – Lots of update Nerves releases on Hex
- https://snyk.io/blog/peacenotwar-malicious-npm-node-ipc-package-vulnerability/ (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 (https://twitter.com/ThinkingElixir) or email at [email protected] (mailto:[email protected])
Discussion Resources
- https://github.com/mhanberg/temple (https://github.com/mhanberg/temple)
- https://github.com/mhanberg/tableau (https://github.com/mhanberg/tableau)
- https://github.com/mhanberg/blog/tree/mh/tableau (https://github.com/mhanberg/blog/tree/mh/tableau)
- https://github.com/elixir-wallaby/wallaby (https://github.com/elixir-wallaby/wallaby)
- https://twitter.com/elixir_wallaby (https://twitter.com/elixir_wallaby)
- https://www.selenium.dev/documentation/webdriver/ (https://www.selenium.dev/documentation/webdriver/)
- https://github.com/markaby/markaby (https://github.com/markaby/markaby)
- https://crystal-lang.org/ (https://crystal-lang.org/)
- https://luckyframework.org/ (https://luckyframework.org/)
- https://laravel.com/ (https://laravel.com/)
- https://laravel.com/docs/9.x/blade (https://laravel.com/docs/9.x/blade)
- https://github.com/elixir-lsp/elixir_sense (https://github.com/elixir-lsp/elixir_sense)
- https://surface-ui.org/template_syntax (https://surface-ui.org/template_syntax)
- https://surface-ui.org/ (https://surface-ui.org/)
- https://teamcapybara.github.io/capybara/ (https://teamcapybara.github.io/capybara/)
- https://hexdocs.pm/hound/readme.html (https://hexdocs.pm/hound/readme.html)
- https://www.selenium.dev/ (https://www.selenium.dev/)
- https://keathley.io/blog/concurrent-feature-testing-with-wallaby.html (https://keathley.io/blog/concurrent-feature-testing-with-wallaby.html)
- https://github.com/elixir-wallaby/wallaby/discussions (https://github.com/elixir-wallaby/wallaby/discussions)
- https://github.com/puppeteer/puppeteer (https://github.com/puppeteer/puppeteer)
Guest Information
- https://twitter.com/mitchhanberg (https://twitter.com/mitchhanberg) – on Twitter
- https://github.com/mhanberg/ (https://github.com/mhanberg/) – on Github
- https://www.mitchellhanberg.com (https://www.mitchellhanberg.com) – Blog
Find us online
- Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir)
- Email the show - [email protected] (mailto:[email protected])
- Mark Ericksen - @brainlid (https://twitter.com/brainlid)
- David Bernheisel - @bernheisel (https://twitter.com/bernheisel)
- Cade Ward - @cadebward (https://twitter.com/cadebward)
Show Notes online - http://podcast.thinkingelixir.com/92 (http://podcast.thinkingelixir.com/92)
Elixir Community News
- https://twitter.com/josevalim/status/1506248906979659782 (https://twitter.com/josevalim/status/1506248906979659782) – José shared his personal definition of a reduction as "energy".
- https://twitter.com/thibaut_barrere/status/1501909747854942212 (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 (https://dashbit.co/blog/rustler-precompiled) – Rustler Precompiled project was announced on the Dashbit blog by Philip Sampaio
- https://twitter.com/nervesproject/status/1504821571524964357 (https://twitter.com/nervesproject/status/1504821571524964357) – Lots of update Nerves releases on Hex
- https://snyk.io/blog/peacenotwar-malicious-npm-node-ipc-package-vulnerability/ (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 (https://twitter.com/ThinkingElixir) or email at [email protected] (mailto:[email protected])
Discussion Resources
- https://github.com/mhanberg/temple (https://github.com/mhanberg/temple)
- https://github.com/mhanberg/tableau (https://github.com/mhanberg/tableau)
- https://github.com/mhanberg/blog/tree/mh/tableau (https://github.com/mhanberg/blog/tree/mh/tableau)
- https://github.com/elixir-wallaby/wallaby (https://github.com/elixir-wallaby/wallaby)
- https://twitter.com/elixir_wallaby (https://twitter.com/elixir_wallaby)
- https://www.selenium.dev/documentation/webdriver/ (https://www.selenium.dev/documentation/webdriver/)
- https://github.com/markaby/markaby (https://github.com/markaby/markaby)
- https://crystal-lang.org/ (https://crystal-lang.org/)
- https://luckyframework.org/ (https://luckyframework.org/)
- https://laravel.com/ (https://laravel.com/)
- https://laravel.com/docs/9.x/blade (https://laravel.com/docs/9.x/blade)
- https://github.com/elixir-lsp/elixir_sense (https://github.com/elixir-lsp/elixir_sense)
- https://surface-ui.org/template_syntax (https://surface-ui.org/template_syntax)
- https://surface-ui.org/ (https://surface-ui.org/)
- https://teamcapybara.github.io/capybara/ (https://teamcapybara.github.io/capybara/)
- https://hexdocs.pm/hound/readme.html (https://hexdocs.pm/hound/readme.html)
- https://www.selenium.dev/ (https://www.selenium.dev/)
- https://keathley.io/blog/concurrent-feature-testing-with-wallaby.html (https://keathley.io/blog/concurrent-feature-testing-with-wallaby.html)
- https://github.com/elixir-wallaby/wallaby/discussions (https://github.com/elixir-wallaby/wallaby/discussions)
- https://github.com/puppeteer/puppeteer (https://github.com/puppeteer/puppeteer)
Guest Information
- https://twitter.com/mitchhanberg (https://twitter.com/mitchhanberg) – on Twitter
- https://github.com/mhanberg/ (https://github.com/mhanberg/) – on Github
- https://www.mitchellhanberg.com (https://www.mitchellhanberg.com) – Blog
Find us online
- Message the show - @ThinkingElixir (https://twitter.com/ThinkingElixir)
- Email the show - [email protected] (mailto:[email protected])
- Mark Ericksen - @brainlid (https://twitter.com/brainlid)
- David Bernheisel - @bernheisel (https://twitter.com/bernheisel)
- Cade Ward - @cadebward (https://twitter.com/cadebward)
More episodes of the podcast Thinking Elixir Podcast
283: Erlang Turns 27 and React at Risk
16/12/2025
282: Type Systems and View Transitions
09/12/2025
281: Planning for the Unexpected
02/12/2025
280: Dark Matter Developers
25/11/2025
279: Hot Code Upgrades and Hotter AI Takes
18/11/2025
278: WAL-ing Through Database Changes
11/11/2025
277: Searching Across the Hexiverse
04/11/2025
276: Elixir v1.19 Types and Speed
28/10/2025
275: From Slop to Success?
21/10/2025
274: Protocols, Permissions, and Performance
14/10/2025
ZARZA We are Zarza, the prestigious firm behind major projects in information technology.