Skip to content

Commit

Permalink
deploy: ebe660c
Browse files Browse the repository at this point in the history
  • Loading branch information
danivovich committed Dec 14, 2023
1 parent 2417310 commit b4f01b5
Show file tree
Hide file tree
Showing 7 changed files with 427 additions and 25 deletions.
8 changes: 8 additions & 0 deletions podcast/elixir-wizards/index.html
Original file line number Diff line number Diff line change
Expand Up @@ -131,6 +131,14 @@ <h2>Season Eleven: Branching Out from Elixir</h2>
<div class="container">
<div class="podcast-horizontal__article-wrap">

<article class="podcast-horizontal__article">
<div class="podcast-horizontal__article-img"><img src="https://assets.fireside.fm/file/fireside-images/podcasts/images/0/03a50f66-dc5e-4da4-ab6e-31895b6d4c9e/episodes/2/20be544f-afde-4f0a-9219-d89869ae1cda/cover.jpg" alt="Episode Cover" /></div>
<div class="podcast-horizontal__article-text">
<p><a href="/podcast/elixir-wizards/s11-e09-static-code-analyzer-elixir-credo-ruby-rubocop">Static Code Analysis in Elixir vs. Ruby with René Föhring & Marc-André Lafortune</a><br />
December 14, 2023</p>
</div>
</article>

<article class="podcast-horizontal__article">
<div class="podcast-horizontal__article-img"><img src="https://assets.fireside.fm/file/fireside-images/podcasts/images/0/03a50f66-dc5e-4da4-ab6e-31895b6d4c9e/episodes/9/9a040776-e4b5-46a1-bedb-c2aaaa7fa246/cover.jpg" alt="Episode Cover" /></div>
<div class="podcast-horizontal__article-text">
Expand Down
138 changes: 135 additions & 3 deletions podcast/elixir-wizards/rss/index.xml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
<generator>SmartLogic Podcasts</generator>
<title>Elixir Wizards</title>
<link>https://smartlogic.io/podcast/elixir-wizards</link>
<pubDate>Thu, 07 Dec 2023 12:00:04 -0000</pubDate>
<pubDate>Thu, 14 Dec 2023 12:00:03 -0000</pubDate>
<description>Elixir Wizards is an interview-style podcast for anyone interested in functional programming and the Elixir Programming Language. Hosted by SmartLogic engineers and Elixirists Owen Bickford, Dan Ivovich, and Sundi Myint, this show features in-depth discussions with some of the brightest minds in the industry, discussing training and documentation in Phoenix LiveView, the evolution of programming languages, Erlang VM, and more.
In the current season, we're branching out from Elixir to compare notes with thought leaders and software engineers from programming languages like JavaScript, Ruby on Rails, Go, Scala, Java, and more. Each episode will take a deep dive into a topic from Machine Learning and AI, to ECS and game development, to education and community.
Learn more about how SmartLogic uses Phoenix and Elixir. (https://smartlogic.io/phoenix-and-elixir?utm_source=podcast)
Expand Down Expand Up @@ -108,6 +108,138 @@ Learn more about how SmartLogic uses Phoenix and Elixir. (https://smr.tl/2Hyslu8
]]></itunes:summary>
</item>

<item>
<title>Static Code Analysis in Elixir vs. Ruby with René Föhring &amp; Marc-André Lafortune</title>
<link>https://smartlogic.io/podcast/elixir-wizards/s11-e09-static-code-analyzer-elixir-credo-ruby-rubocop</link>
<guid isPermaLink="false">20be544f-afde-4f0a-9219-d89869ae1cda</guid>
<pubDate>Thu, 14 Dec 2023 07:00:00 -0500</pubDate>
<author>SmartLogic LLC</author>
<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</itunes:episodeType>
<itunes:season>11</itunes:season>
<itunes:author>SmartLogic LLC</itunes:author>
<itunes: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. </itunes:subtitle>
<itunes:duration>46:02</itunes:duration>
<itunes:explicit>no</itunes:explicit>
<itunes:image href="https://assets.fireside.fm/file/fireside-images/podcasts/images/0/03a50f66-dc5e-4da4-ab6e-31895b6d4c9e/episodes/2/20be544f-afde-4f0a-9219-d89869ae1cda/cover.jpg" />
<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.
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.
Topics discussed in this episode:
The differences and applications between static and dynamic analysis
How Credo aims to offer flexible and educational guidance for Elixir developers
The complexities of method identification in Ruby and its impact on static analysis
Challenges posed by macros and dynamic code modification during compilation in Elixir
Reducing false positives in code analysis tools to minimize developer frustration
Promoting uniform coding practices through analysis tools
The significance of using analysis tools with clear, specific objectives
How coding standards can refine and improve coding styles over time
Building analysis tools and checks through an understanding of Abstract Syntax Trees (ASTs)
Potential advancements in the analysis of Phoenix templates and HTML in Elixir
Contrasting approaches to managing code and comments in Elixir and Ruby ASTs
The fine line between providing helpful guidance and imposing stylistic preferences
Heuristics in static analysis highlight inconsistencies without mandating style
The potential for more straightforward pattern matching in ASTs with future updates
The importance of a gradual implementation of tool updates to maintain backward compatibility
Creating tools that support and empower developers, rather than hinder them
How static analysis contributes to cleaner, more maintainable codebases
Potential future developments in the field of static code analysis
Practical applications of using linters like Credo and RuboCop in software development
Links mentioned in this episode:
Credo https://github.com/rrrene/credo
https://hexdocs.pm/credo/overview.html
Dogma: A code style linter for Elixir https://github.com/lpil/dogma
https://github.com/rubocop/rubocop
RuboCop's AST extensions and NodePattern functionality https://github.com/rubocop/rubocop-ast
https://github.com/whitequark/parser
https://hex.pm/packages?search=credo&amp;sort=recentdownloads
https://github.com/doorgan/sourceror
https://github.com/rrrene/credo/blob/master/lib/credo/check/readability/largenumbers.ex Special Guests: Marc-André Lafortune and René Föhring.
</description>
<itunes: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</itunes:keywords>
<content:encoded><![CDATA[
<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>

<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>

<h3>Topics discussed in this episode:</h3>

<ul>
<li>The differences and applications between static and dynamic analysis</li>
<li>How Credo aims to offer flexible and educational guidance for Elixir developers</li>
<li>The complexities of method identification in Ruby and its impact on static analysis</li>
<li>Challenges posed by macros and dynamic code modification during compilation in Elixir</li>
<li>Reducing false positives in code analysis tools to minimize developer frustration</li>
<li>Promoting uniform coding practices through analysis tools</li>
<li>The significance of using analysis tools with clear, specific objectives</li>
<li>How coding standards can refine and improve coding styles over time</li>
<li>Building analysis tools and checks through an understanding of Abstract Syntax Trees (ASTs)</li>
<li>Potential advancements in the analysis of Phoenix templates and HTML in Elixir</li>
<li>Contrasting approaches to managing code and comments in Elixir and Ruby ASTs</li>
<li>The fine line between providing helpful guidance and imposing stylistic preferences</li>
<li>Heuristics in static analysis highlight inconsistencies without mandating style</li>
<li>The potential for more straightforward pattern matching in ASTs with future updates</li>
<li>The importance of a gradual implementation of tool updates to maintain backward compatibility</li>
<li>Creating tools that support and empower developers, rather than hinder them</li>
<li>How static analysis contributes to cleaner, more maintainable codebases</li>
<li>Potential future developments in the field of static code analysis</li>
<li>Practical applications of using linters like Credo and RuboCop in software development</li>
</ul>

<h3>Links mentioned in this episode:</h3>

<p>Credo <a href="https://github.com/rrrene/credo" rel="nofollow">https://github.com/rrrene/credo</a><br>
<a href="https://hexdocs.pm/credo/overview.html" rel="nofollow">https://hexdocs.pm/credo/overview.html</a><br>
Dogma: A code style linter for Elixir <a href="https://github.com/lpil/dogma" rel="nofollow">https://github.com/lpil/dogma</a> <br>
<a href="https://github.com/rubocop/rubocop" rel="nofollow">https://github.com/rubocop/rubocop</a> <br>
RuboCop&#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>
<a href="https://github.com/whitequark/parser" rel="nofollow">https://github.com/whitequark/parser</a><br>
<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>
<a href="https://github.com/doorgan/sourceror" rel="nofollow">https://github.com/doorgan/sourceror</a><br>
<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>
]]></content:encoded>
<itunes:summary><![CDATA[
<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>

<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>

<h3>Topics discussed in this episode:</h3>

<ul>
<li>The differences and applications between static and dynamic analysis</li>
<li>How Credo aims to offer flexible and educational guidance for Elixir developers</li>
<li>The complexities of method identification in Ruby and its impact on static analysis</li>
<li>Challenges posed by macros and dynamic code modification during compilation in Elixir</li>
<li>Reducing false positives in code analysis tools to minimize developer frustration</li>
<li>Promoting uniform coding practices through analysis tools</li>
<li>The significance of using analysis tools with clear, specific objectives</li>
<li>How coding standards can refine and improve coding styles over time</li>
<li>Building analysis tools and checks through an understanding of Abstract Syntax Trees (ASTs)</li>
<li>Potential advancements in the analysis of Phoenix templates and HTML in Elixir</li>
<li>Contrasting approaches to managing code and comments in Elixir and Ruby ASTs</li>
<li>The fine line between providing helpful guidance and imposing stylistic preferences</li>
<li>Heuristics in static analysis highlight inconsistencies without mandating style</li>
<li>The potential for more straightforward pattern matching in ASTs with future updates</li>
<li>The importance of a gradual implementation of tool updates to maintain backward compatibility</li>
<li>Creating tools that support and empower developers, rather than hinder them</li>
<li>How static analysis contributes to cleaner, more maintainable codebases</li>
<li>Potential future developments in the field of static code analysis</li>
<li>Practical applications of using linters like Credo and RuboCop in software development</li>
</ul>

<h3>Links mentioned in this episode:</h3>

<p>Credo <a href="https://github.com/rrrene/credo" rel="nofollow">https://github.com/rrrene/credo</a><br>
<a href="https://hexdocs.pm/credo/overview.html" rel="nofollow">https://hexdocs.pm/credo/overview.html</a><br>
Dogma: A code style linter for Elixir <a href="https://github.com/lpil/dogma" rel="nofollow">https://github.com/lpil/dogma</a> <br>
<a href="https://github.com/rubocop/rubocop" rel="nofollow">https://github.com/rubocop/rubocop</a> <br>
RuboCop&#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>
<a href="https://github.com/whitequark/parser" rel="nofollow">https://github.com/whitequark/parser</a><br>
<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>
<a href="https://github.com/doorgan/sourceror" rel="nofollow">https://github.com/doorgan/sourceror</a><br>
<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>
]]></itunes:summary>
</item>

<item>
<title>Web Development Frameworks: Elixir and Phoenix vs. Ruby on Rails with Owen Bickford &amp; Dan Ivovich</title>
<link>https://smartlogic.io/podcast/elixir-wizards/s11-e08-web-development-frameworks-elixir-phoenix-ruby-rails</link>
Expand Down Expand Up @@ -207,7 +339,7 @@ RSpec https://rspec.info/
<h3>Links Mentioned in this Episode:</h3>

<p><a href="https://smartlogic.io/" rel="nofollow">SmartLogic.io</a><br>
Dan’s LinkedIn<a href="https://www.linkedin.com/in/divovich/" rel="nofollow"></a><br>
<a href="https://www.linkedin.com/in/divovich/" rel="nofollow">Dan’s LinkedIn</a><br>
<a href="https://www.linkedin.com/in/owen-bickford-8b6b1523a/" rel="nofollow">Owen’s LinkedIn</a><br>
Ruby <a href="https://www.ruby-lang.org/en/" rel="nofollow">https://www.ruby-lang.org/en/</a> <br>
Rails <a href="https://rubyonrails.org/" rel="nofollow">https://rubyonrails.org/</a><br>
Expand Down Expand Up @@ -265,7 +397,7 @@ RSpec <a href="https://rspec.info/" rel="nofollow">https://rspec.info/</a></p>
<h3>Links Mentioned in this Episode:</h3>

<p><a href="https://smartlogic.io/" rel="nofollow">SmartLogic.io</a><br>
Dan’s LinkedIn<a href="https://www.linkedin.com/in/divovich/" rel="nofollow"></a><br>
<a href="https://www.linkedin.com/in/divovich/" rel="nofollow">Dan’s LinkedIn</a><br>
<a href="https://www.linkedin.com/in/owen-bickford-8b6b1523a/" rel="nofollow">Owen’s LinkedIn</a><br>
Ruby <a href="https://www.ruby-lang.org/en/" rel="nofollow">https://www.ruby-lang.org/en/</a> <br>
Rails <a href="https://rubyonrails.org/" rel="nofollow">https://rubyonrails.org/</a><br>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -160,7 +160,7 @@ <h3>Topics discussed in this episode:</h3>
<h3>Links Mentioned in this Episode:</h3>

<p><a href="https://smartlogic.io/" rel="nofollow">SmartLogic.io</a><br>
Dan’s LinkedIn<a href="https://www.linkedin.com/in/divovich/" rel="nofollow"></a><br>
<a href="https://www.linkedin.com/in/divovich/" rel="nofollow">Dan’s LinkedIn</a><br>
<a href="https://www.linkedin.com/in/owen-bickford-8b6b1523a/" rel="nofollow">Owen’s LinkedIn</a><br>
Ruby <a href="https://www.ruby-lang.org/en/" rel="nofollow">https://www.ruby-lang.org/en/</a> <br>
Rails <a href="https://rubyonrails.org/" rel="nofollow">https://rubyonrails.org/</a><br>
Expand Down
Loading

0 comments on commit b4f01b5

Please sign in to comment.