<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>DEV Community: Mazen Alotaibi</title>
    <description>The latest articles on DEV Community by Mazen Alotaibi (@ma7dev).</description>
    <link>https://dev.to/ma7dev</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F5484%2F16d7240b-35c8-425e-bb46-57fa35926c40.jpg</url>
      <title>DEV Community: Mazen Alotaibi</title>
      <link>https://dev.to/ma7dev</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/ma7dev"/>
    <language>en</language>
    <item>
      <title>Join These 4 Must-Join Discord Servers for ML Enthusiasts! 🚀</title>
      <dc:creator>Mazen Alotaibi</dc:creator>
      <pubDate>Mon, 15 Jul 2024 05:34:37 +0000</pubDate>
      <link>https://dev.to/ma7dev/join-these-4-must-join-discord-servers-for-ml-enthusiasts-4j83</link>
      <guid>https://dev.to/ma7dev/join-these-4-must-join-discord-servers-for-ml-enthusiasts-4j83</guid>
      <description>&lt;p&gt;If you're diving into the world of machine learning or looking to deepen your knowledge, joining a Discord server can be a fantastic way to connect with like-minded individuals, learn from experts, and participate in community projects. Here are some top Discord communities that every ML enthusiast should consider joining!&lt;/p&gt;

&lt;h2&gt;
  
  
  📖 Yannic Kilcher's Discord Server
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;📅 &lt;strong&gt;What's Inside:&lt;/strong&gt; Regular Paper Reading Meetings discussing the latest research papers, community-maintained open-source projects like HomebrewNLP, and funny ML-related memes&lt;/li&gt;
&lt;li&gt;🧑‍🏫 &lt;strong&gt;Created by:&lt;/strong&gt; &lt;a href="https://x.com/ykilcher" rel="noopener noreferrer"&gt;Yannic Kilcher&lt;/a&gt;, who makes videos about machine learning papers and other ML-related content.&lt;/li&gt;
&lt;li&gt;🔗 &lt;a href="https://ykilcher.com/discord" rel="noopener noreferrer"&gt;Join here!&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5gqf88rx692krryih9v8.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F5gqf88rx692krryih9v8.png" alt="Screenshot for Yannic Kilcher's Discord Server" width="800" height="931"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  👾 CUDA MODE
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;🏎️ &lt;strong&gt;What's Inside:&lt;/strong&gt; For those who want to push GPUs to their limits using CUDA. Includes rich lectures and guest speaker sessions.&lt;/li&gt;
&lt;li&gt;🎥 &lt;strong&gt;Media:&lt;/strong&gt; Check out their &lt;a href="https://www.youtube.com/@CUDAMODE" rel="noopener noreferrer"&gt;YouTube channel&lt;/a&gt; for more in-depth sessions.&lt;/li&gt;
&lt;li&gt;🧑‍🏫 &lt;strong&gt;Created by:&lt;/strong&gt; &lt;a href="https://x.com/marksaroufim" rel="noopener noreferrer"&gt;Mark Saroufim&lt;/a&gt; And &lt;a href="https://x.com/neurosp1ke" rel="noopener noreferrer"&gt;Andreas Köpf&lt;/a&gt;. Mark is part of the PyTorch team at Meta and wrote a lot of amazing articles, such as &lt;a href="https://marksaroufim.substack.com/p/machine-learning-the-great-stagnation" rel="noopener noreferrer"&gt;Machine Learning: The Great Stagnation&lt;/a&gt; and &lt;a href="https://marksaroufim.substack.com/p/working-class-deep-learner" rel="noopener noreferrer"&gt;Working Class Deep Learner&lt;/a&gt;!&lt;/li&gt;
&lt;li&gt;🔗 &lt;a href="https://discord.gg/cudamode" rel="noopener noreferrer"&gt;Join here!&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx1d5ly0lgbfm4tryd4lv.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fx1d5ly0lgbfm4tryd4lv.png" alt="Screenshot for CUDA MODE Discord Server" width="800" height="917"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🛠️ MLOps (@chipro)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;🤖 &lt;strong&gt;What's Inside:&lt;/strong&gt; Focus on MLOps, Machine Learning Engineering, and ML deployment. Features weekly reading groups and project-based presentations.&lt;/li&gt;
&lt;li&gt;🎥 &lt;strong&gt;Media:&lt;/strong&gt; Dive deeper by following their &lt;a href="https://www.youtube.com/@mlopslearners" rel="noopener noreferrer"&gt;YouTube channel&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;🧑‍🏫 &lt;strong&gt;Created by:&lt;/strong&gt; &lt;a href="https://x.com/chipro" rel="noopener noreferrer"&gt;Chip Huyen&lt;/a&gt;, who is the author of &lt;a href="https://www.amazon.com/Designing-Machine-Learning-Systems-Production-Ready/dp/1098107969?&amp;amp;_encoding=UTF8&amp;amp;tag=chiphuyen-20&amp;amp;linkCode=ur2&amp;amp;linkId=0a1dbab0e76f5996e29e1a97d45f14a5&amp;amp;camp=1789&amp;amp;creative=9325" rel="noopener noreferrer"&gt;Designing Machine Learning Systems (O’Reilly 2022)&lt;/a&gt; and published other amazing content!&lt;/li&gt;
&lt;li&gt;🔗 &lt;a href="https://discord.gg/gZWuvyAtNB" rel="noopener noreferrer"&gt;Join here!&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fogfxgpibdnv80pqmj70u.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fogfxgpibdnv80pqmj70u.png" alt="Screenshot for MLOps (@chipro) Discord Server" width="800" height="914"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  🔥 PyTorch Community (unofficial)
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;📚 &lt;strong&gt;What's Inside:&lt;/strong&gt; Perfect for PyTorch users seeking help, contributing to projects, and learning from each other. &lt;/li&gt;
&lt;li&gt;📝 &lt;strong&gt;Highlight:&lt;/strong&gt; Help-forum channel where users can ask questions and get help from the community.&lt;/li&gt;
&lt;li&gt;🌐 &lt;strong&gt;Extras:&lt;/strong&gt; PyTorch-focused contribution channels for feedback on contributing to PyTorch repos on GitHub, and study-group channels to form study groups.&lt;/li&gt;
&lt;li&gt;🧑‍🏫 &lt;strong&gt;Managed by:&lt;/strong&gt; &lt;a href="https://x.com/ma7dev" rel="noopener noreferrer"&gt;Mazen Alotaibi&lt;/a&gt; (Me!)&lt;/li&gt;
&lt;li&gt;🔗 &lt;a href="https://discord.gg/ZHjAwJY8Nn" rel="noopener noreferrer"&gt;Join here!&lt;/a&gt;
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwh51v6l47hyujkg6dxvh.png" class="article-body-image-wrapper"&gt;&lt;img src="https://media.dev.to/cdn-cgi/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwh51v6l47hyujkg6dxvh.png" alt="Screenshot for PyTorch Community (unofficial) Discord Server" width="800" height="930"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Connecting with others can accelerate your learning and expose you to new perspectives in the ever-evolving field of machine learning. Join these communities and start engaging today! 🌟&lt;/p&gt;




&lt;p&gt;If you enjoyed reading this article, check my other articles at &lt;a href="https://ma7.dev/blog" rel="noopener noreferrer"&gt;ma7.dev/blog&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>machinelearning</category>
      <category>deeplearning</category>
      <category>pytorch</category>
    </item>
    <item>
      <title>Resolving Module Version Chaos: Locking Down Dependencies in Python Projects with Poetry</title>
      <dc:creator>Mazen Alotaibi</dc:creator>
      <pubDate>Sat, 13 Jul 2024 14:35:49 +0000</pubDate>
      <link>https://dev.to/ma7dev/resolving-module-version-chaos-locking-down-dependencies-in-python-projects-with-poetry-4mlf</link>
      <guid>https://dev.to/ma7dev/resolving-module-version-chaos-locking-down-dependencies-in-python-projects-with-poetry-4mlf</guid>
      <description>&lt;p&gt;Hey there! 👋 I've got a nifty trick to share about managing Python dependencies, especially when they're not version-locked. Let me walk you through how I tackled it using &lt;strong&gt;Poetry&lt;/strong&gt;.&lt;/p&gt;

&lt;h2&gt;
  
  
  Problem 🤔
&lt;/h2&gt;

&lt;p&gt;Ever faced a &lt;code&gt;requirements.txt&lt;/code&gt; that looks like this?&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;tqdm
matplotlib
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;No version numbers can be a recipe for chaos during builds or at runtime due to inconsistencies. I needed to lock these dependencies to specific versions to keep things smooth and reliable, like this:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;tqdm==4.64.0
matplotlib==3.5.3
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h2&gt;
  
  
  Solution ✨
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Why Poetry?
&lt;/h3&gt;

&lt;p&gt;I chose &lt;strong&gt;Poetry&lt;/strong&gt; because it's like the npm of the Python world—it respects semantic versioning and creates a lock file so every install is consistent. No more "works on my machine" issues!&lt;/p&gt;

&lt;h3&gt;
  
  
  Step-by-Step Guide
&lt;/h3&gt;

&lt;h4&gt;
  
  
  1) &lt;strong&gt;Install Poetry:&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   curl &lt;span class="nt"&gt;-sSL&lt;/span&gt; https://install.python-poetry.org | python3 -
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  2) &lt;strong&gt;Grab a simple &lt;code&gt;pyproject.toml&lt;/code&gt; template:&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   wget https://gist.githubusercontent.com/ma7dev/7298ffc4409032edd4d18a57b4c38f3a/raw/1c32efcbde31aaf896c6d47b32dac19ed44d14a4/pyproject.toml
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  3) &lt;strong&gt;Install those unversioned dependencies:&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="nb"&gt;cat &lt;/span&gt;requirements.txt | xargs poetry add
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  4) &lt;strong&gt;Export the installed dependencies in a more structured format:&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   poetry &lt;span class="nb"&gt;export&lt;/span&gt; &lt;span class="nt"&gt;-f&lt;/span&gt; requirements.txt &lt;span class="nt"&gt;--output&lt;/span&gt; long_requirements.txt &lt;span class="nt"&gt;--without-hashes&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h4&gt;
  
  
  5) &lt;strong&gt;Clean up the exported file:&lt;/strong&gt;
&lt;/h4&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;   &lt;span class="c"&gt;# Strip unwanted python version constraints&lt;/span&gt;
   &lt;span class="nb"&gt;cat &lt;/span&gt;long_requirements.txt | &lt;span class="nb"&gt;cut&lt;/span&gt; &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s2"&gt;";"&lt;/span&gt; &lt;span class="nt"&gt;-f&lt;/span&gt; 1 &lt;span class="o"&gt;&amp;gt;&lt;/span&gt; with_dep_requirements.txt
   &lt;span class="c"&gt;# Filter out extraneous dependencies&lt;/span&gt;
   &lt;span class="nb"&gt;cat &lt;/span&gt;requirements.txt | &lt;span class="k"&gt;while &lt;/span&gt;&lt;span class="nb"&gt;read &lt;/span&gt;line   &lt;span class="k"&gt;do &lt;/span&gt;&lt;span class="nb"&gt;echo&lt;/span&gt; &lt;span class="si"&gt;$(&lt;/span&gt;&lt;span class="nb"&gt;grep&lt;/span&gt; &lt;span class="nt"&gt;-n&lt;/span&gt; &lt;span class="nv"&gt;$line&lt;/span&gt;&lt;span class="s1"&gt;'=='&lt;/span&gt; with_dep_requirements.txt | &lt;span class="nb"&gt;cut&lt;/span&gt; &lt;span class="nt"&gt;-d&lt;/span&gt; &lt;span class="s2"&gt;":"&lt;/span&gt; &lt;span class="nt"&gt;-f&lt;/span&gt; 2&lt;span class="si"&gt;)&lt;/span&gt; &lt;span class="o"&gt;&amp;gt;&amp;gt;&lt;/span&gt; final_requirements.txt &lt;span class="k"&gt;done&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Result 🚀
&lt;/h3&gt;

&lt;p&gt;Here’s what you end up with, all dependencies neatly versioned (&lt;code&gt;final_requirements.txt&lt;/code&gt;):&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;tqdm==4.64.0
matplotlib==3.5.3
... (rest of your dependencies)
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;This setup ensures that all packages are locked to specific versions, making your project stable and reproducible wherever it goes. 🌐&lt;/p&gt;




&lt;p&gt;If you enjoyed reading this article, check my other articles on &lt;a href="https://ma7.dev/blog" rel="noopener noreferrer"&gt;ma7.dev/blog&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>python</category>
      <category>pip</category>
      <category>poetry</category>
      <category>bash</category>
    </item>
  </channel>
</rss>
