Skip to content

Commit

Permalink
Update podcast files
Browse files Browse the repository at this point in the history
  • Loading branch information
SmartLogic Podcasts committed Dec 14, 2023
1 parent 7479e36 commit ebe660c
Show file tree
Hide file tree
Showing 5 changed files with 502 additions and 25 deletions.
174 changes: 166 additions & 8 deletions _data/elixir_wizards_episodes.yml
Original file line number Diff line number Diff line change
Expand Up @@ -104,6 +104,165 @@
some of the topics we’ll be covering.</p>\n\n<p>Learn more about how SmartLogic
uses <a href=\"https://smr.tl/2Hyslu8\" rel=\"nofollow\">Phoenix and Elixir.</a></p>\n
\ "
- title: Static Code Analysis in Elixir vs. Ruby with René Föhring & Marc-André Lafortune
slug: s11-e09-static-code-analyzer-elixir-credo-ruby-rubocop
link: https://smartlogic.io/podcast/elixir-wizards/s11-e09-static-code-analyzer-elixir-credo-ruby-rubocop
guid: 20be544f-afde-4f0a-9219-d89869ae1cda
pubDate: Thu, 14 Dec 2023 07:00:00 -0500
pubDateFriendly: December 14, 2023
description: "In this episode of Elixir Wizards, hosts Owen and Dan are joined by
René Föhring, creator of Credo for Elixir, and Marc-André LaFortune, head maintainer
of the RuboCop AST library for Ruby. They compare static code analysis in Ruby
versus Elixir. \nThe conversation explores the intricacies and challenges inherent
in static code analysis across object-oriented and functional programming paradigms,
highlighting the unique characteristics of both Ruby and Elixir. Key topics of
discussion include the ways these tools can enhance coding styles and empower
developers, the delicate balance between providing guidance and enforcing rules,
and the evolving future of code analysis in these languages.\nTopics discussed
in this episode:\nThe differences and applications between static and dynamic
analysis\nHow Credo aims to offer flexible and educational guidance for Elixir
developers\nThe complexities of method identification in Ruby and its impact on
static analysis\nChallenges posed by macros and dynamic code modification during
compilation in Elixir\nReducing false positives in code analysis tools to minimize
developer frustration\nPromoting uniform coding practices through analysis tools\nThe
significance of using analysis tools with clear, specific objectives\nHow coding
standards can refine and improve coding styles over time\nBuilding analysis tools
and checks through an understanding of Abstract Syntax Trees (ASTs)\nPotential
advancements in the analysis of Phoenix templates and HTML in Elixir\nContrasting
approaches to managing code and comments in Elixir and Ruby ASTs\nThe fine line
between providing helpful guidance and imposing stylistic preferences\nHeuristics
in static analysis highlight inconsistencies without mandating style\nThe potential
for more straightforward pattern matching in ASTs with future updates\nThe importance
of a gradual implementation of tool updates to maintain backward compatibility\nCreating
tools that support and empower developers, rather than hinder them\nHow static
analysis contributes to cleaner, more maintainable codebases\nPotential future
developments in the field of static code analysis\nPractical applications of using
linters like Credo and RuboCop in software development\nLinks mentioned in this
episode:\nCredo https://github.com/rrrene/credo\nhttps://hexdocs.pm/credo/overview.html\nDogma:
A code style linter for Elixir https://github.com/lpil/dogma \nhttps://github.com/rubocop/rubocop
\nRuboCop's AST extensions and NodePattern functionality https://github.com/rubocop/rubocop-ast
\nhttps://github.com/whitequark/parser\nhttps://hex.pm/packages?search=credo&sort=recentdownloads\nhttps://github.com/doorgan/sourceror\nhttps://github.com/rrrene/credo/blob/master/lib/credo/check/readability/largenumbers.ex
Special Guests: Marc-André Lafortune and René Föhring.\n"
author: SmartLogic LLC
embedUrl: https://fireside.fm/player/v2/IAs5ixts+02RabiBs
enclosure:
url: https://aphid.fireside.fm/d/1437767933/03a50f66-dc5e-4da4-ab6e-31895b6d4c9e/20be544f-afde-4f0a-9219-d89869ae1cda.mp3
length: '89275713'
type: audio/mpeg
itunes:
episodeType: full
season: '11'
author: SmartLogic LLC
subtitle: 'In this episode of Elixir Wizards, hosts Owen and Dan are joined by
René Föhring, creator of Credo for Elixir, and Marc-André LaFortune, head maintainer
of the RuboCop AST library for Ruby. They compare static code analysis in Ruby
versus Elixir. '
duration: '46:02'
explicit: 'no'
keywords: static code analysis, Ruby programming, Elixir programming, object-oriented
programming, functional programming, software development, coding styles, developer
tools, programming paradigms, Ruby vs Elixir, code analysis tools, programming
languages, software engineering, code quality, source code analysis, dynamic
analysis, method identification, code modification, coding practices, analysis
tools, coding standards, Abstract Syntax Trees, AST, Phoenix templates, HTML
analysis, heuristics in programming, pattern matching, tool updates, maintainable
codebases, static analysis development, linters, Credo linter, RuboCop linter,
software development trends, programming best practices, code analysis techniques,
code management, programming heuristics, programming tools, codebase improvement,
future of code analysis, practical linter applications, Elixir language, Ruby
language, developer resources, programming insights, tech podcasts, software
podcasts, programming discussions, coding debates, developer community, tech
community, programming education, software development education, Elixir community,
Ruby community, coding efficiency, programming efficiency, code analysis benefits,
tech podcast, developer podcast, Elixir podcast, Ruby podcast, programming talk,
coding talk, tech talk, developer talk, Elixir talk, Ruby talk, programming
tips, coding tips, tech tips, developer tips, Elixir tips, Ruby tips
image: https://assets.fireside.fm/file/fireside-images/podcasts/images/0/03a50f66-dc5e-4da4-ab6e-31895b6d4c9e/episodes/2/20be544f-afde-4f0a-9219-d89869ae1cda/cover.jpg
summary: "\n <p>In this episode of Elixir Wizards, hosts Owen and Dan are
joined by René Föhring, creator of Credo for Elixir, and Marc-André LaFortune,
head maintainer of the RuboCop AST library for Ruby. They compare static code
analysis in Ruby versus Elixir. </p>\n\n<p>The conversation explores the intricacies
and challenges inherent in static code analysis across object-oriented and functional
programming paradigms, highlighting the unique characteristics of both Ruby
and Elixir. Key topics of discussion include the ways these tools can enhance
coding styles and empower developers, the delicate balance between providing
guidance and enforcing rules, and the evolving future of code analysis in these
languages.</p>\n\n<h3>Topics discussed in this episode:</h3>\n\n<ul>\n<li>The
differences and applications between static and dynamic analysis</li>\n<li>How
Credo aims to offer flexible and educational guidance for Elixir developers</li>\n<li>The
complexities of method identification in Ruby and its impact on static analysis</li>\n<li>Challenges
posed by macros and dynamic code modification during compilation in Elixir</li>\n<li>Reducing
false positives in code analysis tools to minimize developer frustration</li>\n<li>Promoting
uniform coding practices through analysis tools</li>\n<li>The significance of
using analysis tools with clear, specific objectives</li>\n<li>How coding standards
can refine and improve coding styles over time</li>\n<li>Building analysis tools
and checks through an understanding of Abstract Syntax Trees (ASTs)</li>\n<li>Potential
advancements in the analysis of Phoenix templates and HTML in Elixir</li>\n<li>Contrasting
approaches to managing code and comments in Elixir and Ruby ASTs</li>\n<li>The
fine line between providing helpful guidance and imposing stylistic preferences</li>\n<li>Heuristics
in static analysis highlight inconsistencies without mandating style</li>\n<li>The
potential for more straightforward pattern matching in ASTs with future updates</li>\n<li>The
importance of a gradual implementation of tool updates to maintain backward
compatibility</li>\n<li>Creating tools that support and empower developers,
rather than hinder them</li>\n<li>How static analysis contributes to cleaner,
more maintainable codebases</li>\n<li>Potential future developments in the field
of static code analysis</li>\n<li>Practical applications of using linters like
Credo and RuboCop in software development</li>\n</ul>\n\n<h3>Links mentioned
in this episode:</h3>\n\n<p>Credo <a href=\"https://github.com/rrrene/credo\"
rel=\"nofollow\">https://github.com/rrrene/credo</a><br>\n<a href=\"https://hexdocs.pm/credo/overview.html\"
rel=\"nofollow\">https://hexdocs.pm/credo/overview.html</a><br>\nDogma: A code
style linter for Elixir <a href=\"https://github.com/lpil/dogma\" rel=\"nofollow\">https://github.com/lpil/dogma</a>
<br>\n<a href=\"https://github.com/rubocop/rubocop\" rel=\"nofollow\">https://github.com/rubocop/rubocop</a>
<br>\nRuboCop&#39;s AST extensions and NodePattern functionality <a href=\"https://github.com/rubocop/rubocop-ast\"
rel=\"nofollow\">https://github.com/rubocop/rubocop-ast</a> <br>\n<a href=\"https://github.com/whitequark/parser\"
rel=\"nofollow\">https://github.com/whitequark/parser</a><br>\n<a href=\"https://hex.pm/packages?search=credo&sort=recent_downloads\"
rel=\"nofollow\">https://hex.pm/packages?search=credo&amp;sort=recent_downloads</a><br>\n<a
href=\"https://github.com/doorgan/sourceror\" rel=\"nofollow\">https://github.com/doorgan/sourceror</a><br>\n<a
href=\"https://github.com/rrrene/credo/blob/master/lib/credo/check/readability/large_numbers.ex\"
rel=\"nofollow\">https://github.com/rrrene/credo/blob/master/lib/credo/check/readability/large_numbers.ex</a></p><p>Special
Guests: Marc-André Lafortune and René Föhring.</p>\n "
contentEncoded: "\n <p>In this episode of Elixir Wizards, hosts Owen and
Dan are joined by René Föhring, creator of Credo for Elixir, and Marc-André LaFortune,
head maintainer of the RuboCop AST library for Ruby. They compare static code
analysis in Ruby versus Elixir. </p>\n\n<p>The conversation explores the intricacies
and challenges inherent in static code analysis across object-oriented and functional
programming paradigms, highlighting the unique characteristics of both Ruby and
Elixir. Key topics of discussion include the ways these tools can enhance coding
styles and empower developers, the delicate balance between providing guidance
and enforcing rules, and the evolving future of code analysis in these languages.</p>\n\n<h3>Topics
discussed in this episode:</h3>\n\n<ul>\n<li>The differences and applications
between static and dynamic analysis</li>\n<li>How Credo aims to offer flexible
and educational guidance for Elixir developers</li>\n<li>The complexities of method
identification in Ruby and its impact on static analysis</li>\n<li>Challenges
posed by macros and dynamic code modification during compilation in Elixir</li>\n<li>Reducing
false positives in code analysis tools to minimize developer frustration</li>\n<li>Promoting
uniform coding practices through analysis tools</li>\n<li>The significance of
using analysis tools with clear, specific objectives</li>\n<li>How coding standards
can refine and improve coding styles over time</li>\n<li>Building analysis tools
and checks through an understanding of Abstract Syntax Trees (ASTs)</li>\n<li>Potential
advancements in the analysis of Phoenix templates and HTML in Elixir</li>\n<li>Contrasting
approaches to managing code and comments in Elixir and Ruby ASTs</li>\n<li>The
fine line between providing helpful guidance and imposing stylistic preferences</li>\n<li>Heuristics
in static analysis highlight inconsistencies without mandating style</li>\n<li>The
potential for more straightforward pattern matching in ASTs with future updates</li>\n<li>The
importance of a gradual implementation of tool updates to maintain backward compatibility</li>\n<li>Creating
tools that support and empower developers, rather than hinder them</li>\n<li>How
static analysis contributes to cleaner, more maintainable codebases</li>\n<li>Potential
future developments in the field of static code analysis</li>\n<li>Practical applications
of using linters like Credo and RuboCop in software development</li>\n</ul>\n\n<h3>Links
mentioned in this episode:</h3>\n\n<p>Credo <a href=\"https://github.com/rrrene/credo\"
rel=\"nofollow\">https://github.com/rrrene/credo</a><br>\n<a href=\"https://hexdocs.pm/credo/overview.html\"
rel=\"nofollow\">https://hexdocs.pm/credo/overview.html</a><br>\nDogma: A code
style linter for Elixir <a href=\"https://github.com/lpil/dogma\" rel=\"nofollow\">https://github.com/lpil/dogma</a>
<br>\n<a href=\"https://github.com/rubocop/rubocop\" rel=\"nofollow\">https://github.com/rubocop/rubocop</a>
<br>\nRuboCop&#39;s AST extensions and NodePattern functionality <a href=\"https://github.com/rubocop/rubocop-ast\"
rel=\"nofollow\">https://github.com/rubocop/rubocop-ast</a> <br>\n<a href=\"https://github.com/whitequark/parser\"
rel=\"nofollow\">https://github.com/whitequark/parser</a><br>\n<a href=\"https://hex.pm/packages?search=credo&sort=recent_downloads\"
rel=\"nofollow\">https://hex.pm/packages?search=credo&amp;sort=recent_downloads</a><br>\n<a
href=\"https://github.com/doorgan/sourceror\" rel=\"nofollow\">https://github.com/doorgan/sourceror</a><br>\n<a
href=\"https://github.com/rrrene/credo/blob/master/lib/credo/check/readability/large_numbers.ex\"
rel=\"nofollow\">https://github.com/rrrene/credo/blob/master/lib/credo/check/readability/large_numbers.ex</a></p><p>Special
Guests: Marc-André Lafortune and René Föhring.</p>\n "
- title: 'Web Development Frameworks: Elixir and Phoenix vs. Ruby on Rails with Owen
Bickford & Dan Ivovich'
slug: s11-e08-web-development-frameworks-elixir-phoenix-ruby-rails
Expand Down Expand Up @@ -220,8 +379,8 @@
on coding styles</li>\n<li>Real-world project examples and refactoring approaches</li>\n<li>Deployment
and dev ops differences</li>\n<li>Popularity and adoption curves of both frameworks</li>\n<li>Ongoing
research into improving Phoenix and Rails</li>\n</ul>\n\n<h3>Links Mentioned
in this Episode:</h3>\n\n<p><a href=\"https://smartlogic.io/\" rel=\"nofollow\">SmartLogic.io</a><br>\nDan’s
LinkedIn<a href=\"https://www.linkedin.com/in/divovich/\" rel=\"nofollow\"></a><br>\n<a
in this Episode:</h3>\n\n<p><a href=\"https://smartlogic.io/\" rel=\"nofollow\">SmartLogic.io</a><br>\n<a
href=\"https://www.linkedin.com/in/divovich/\" rel=\"nofollow\">Dan’s LinkedIn</a><br>\n<a
href=\"https://www.linkedin.com/in/owen-bickford-8b6b1523a/\" rel=\"nofollow\">Owen’s
LinkedIn</a><br>\nRuby <a href=\"https://www.ruby-lang.org/en/\" rel=\"nofollow\">https://www.ruby-lang.org/en/</a>
<br>\nRails <a href=\"https://rubyonrails.org/\" rel=\"nofollow\">https://rubyonrails.org/</a><br>\n<a
Expand Down Expand Up @@ -278,12 +437,11 @@
examples and refactoring approaches</li>\n<li>Deployment and dev ops differences</li>\n<li>Popularity
and adoption curves of both frameworks</li>\n<li>Ongoing research into improving
Phoenix and Rails</li>\n</ul>\n\n<h3>Links Mentioned in this Episode:</h3>\n\n<p><a
href=\"https://smartlogic.io/\" rel=\"nofollow\">SmartLogic.io</a><br>\nDan’s
LinkedIn<a href=\"https://www.linkedin.com/in/divovich/\" rel=\"nofollow\"></a><br>\n<a
href=\"https://www.linkedin.com/in/owen-bickford-8b6b1523a/\" rel=\"nofollow\">Owen’s
LinkedIn</a><br>\nRuby <a href=\"https://www.ruby-lang.org/en/\" rel=\"nofollow\">https://www.ruby-lang.org/en/</a>
<br>\nRails <a href=\"https://rubyonrails.org/\" rel=\"nofollow\">https://rubyonrails.org/</a><br>\n<a
href=\"https://www.overdrive.com/media/56304/sams-teach-yourself-ruby-in-21-days\"
href=\"https://smartlogic.io/\" rel=\"nofollow\">SmartLogic.io</a><br>\n<a href=\"https://www.linkedin.com/in/divovich/\"
rel=\"nofollow\">Dan’s LinkedIn</a><br>\n<a href=\"https://www.linkedin.com/in/owen-bickford-8b6b1523a/\"
rel=\"nofollow\">Owen’s LinkedIn</a><br>\nRuby <a href=\"https://www.ruby-lang.org/en/\"
rel=\"nofollow\">https://www.ruby-lang.org/en/</a> <br>\nRails <a href=\"https://rubyonrails.org/\"
rel=\"nofollow\">https://rubyonrails.org/</a><br>\n<a href=\"https://www.overdrive.com/media/56304/sams-teach-yourself-ruby-in-21-days\"
rel=\"nofollow\">Sams Teach Yourself Ruby in 21 Days </a><br>\n<a href=\"https://www.thriftbooks.com/w/learn-ruby-in-7-days---color-print---ruby-tutorial-for-guaranteed-quick-learning-ruby-guide-with-many-practical-examples-this-ruby-programming-book--to-build-real-life-software-projects/18539364/#edition=19727339&idiq=25678249\"
rel=\"nofollow\">Learn Ruby in 7 Days</a><br>\n<a href=\"https://www.thriftbooks.com/w/build-your-own-ruby-on-rails-web-applications_patrick-lenz/725256/item/2315989/?utm_source=google&utm_medium=cpc&utm_campaign=low_vol_backlist_standard_shopping_customer_acquisition&utm_adgroup=&utm_term=&utm_content=593118743925&gad_source=1&gclid=CjwKCAiA1MCrBhAoEiwAC2d64aQyFawuU3znN0VFgGyjR0I-0vrXlseIvht0QPOqx4DjKjdpgjCMZhoC6PcQAvD_BwE#idiq=2315989&edition=3380836\"
rel=\"nofollow\">Build Your Own Ruby on Rails Web Applications</a><br>\nDjango
Expand Down
Loading

0 comments on commit ebe660c

Please sign in to comment.