<?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>Forem: Eszter Vezden</title>
    <description>The latest articles on Forem by Eszter Vezden (@vezdeneszter).</description>
    <link>https://forem.com/vezdeneszter</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%2F1121473%2Ff281ab88-e188-4b60-adb3-5708cf1caa74.jpg</url>
      <title>Forem: Eszter Vezden</title>
      <link>https://forem.com/vezdeneszter</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/vezdeneszter"/>
    <language>en</language>
    <item>
      <title>A New Community about Developer tools and DevOps</title>
      <dc:creator>Eszter Vezden</dc:creator>
      <pubDate>Wed, 01 Nov 2023 10:49:48 +0000</pubDate>
      <link>https://forem.com/vezdeneszter/a-new-community-about-developer-tools-and-devops-33cc</link>
      <guid>https://forem.com/vezdeneszter/a-new-community-about-developer-tools-and-devops-33cc</guid>
      <description>&lt;p&gt;Are you an embedded developer or DevOps working for an embedded software company?&lt;/p&gt;

&lt;p&gt;Join our &lt;strong&gt;XM community&lt;/strong&gt; on &lt;strong&gt;Discord&lt;/strong&gt;! It's the hub for all things embedded development tools and embedded DevOps, where experts and enthusiasts unite.&lt;/p&gt;

&lt;p&gt;💡 Discover the latest trends, share your insights, and network with like-minded professionals. Together, we're shaping the future of software development.&lt;/p&gt;

&lt;p&gt;🚀 Join XM today and let's build a stronger, smarter community! 👥&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Discord invite&lt;/strong&gt;: &lt;a href="https://discord.com/invite/Nv6hSzXruK"&gt;https://discord.com/invite/Nv6hSzXruK&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devops</category>
      <category>community</category>
      <category>tooling</category>
      <category>opensource</category>
    </item>
    <item>
      <title>Calling All Python Enthusiasts: Join Us in Contributing to Our Open-Source Project!</title>
      <dc:creator>Eszter Vezden</dc:creator>
      <pubDate>Fri, 20 Oct 2023 13:59:41 +0000</pubDate>
      <link>https://forem.com/axem/calling-all-python-enthusiasts-join-us-in-contributing-to-our-open-source-project-2igf</link>
      <guid>https://forem.com/axem/calling-all-python-enthusiasts-join-us-in-contributing-to-our-open-source-project-2igf</guid>
      <description>&lt;p&gt;Are you passionate about &lt;strong&gt;Python&lt;/strong&gt; and &lt;strong&gt;open-source development&lt;/strong&gt;? We're thrilled to invite you to contribute to our Python open-source project!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Hacktoberfest 2023&lt;/strong&gt; is officially underway, and our open-source tool, DEM is part of this fantastic event. 🚀&lt;/p&gt;

&lt;p&gt;The DEM is a command line tool that provides an easy, reproducible, and scalable way to set up Development Environments for embedded software development.&lt;/p&gt;

&lt;p&gt;Learn more about DEM &lt;a href="https://axemsolutions.io/dem_doc/"&gt;HERE&lt;/a&gt;.&lt;br&gt;
Check out our &lt;a href="https://github.com/axem-solutions/dem"&gt;GitHub repo&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Contribute?&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Enhance your skills in Python&lt;/li&gt;
&lt;li&gt;Learn more about containerization (especially Docker)&lt;/li&gt;
&lt;li&gt;Learn about development platforms&lt;/li&gt;
&lt;li&gt;Shape the future of embedded development tooling&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Tech Stack&lt;br&gt;
🐍 Python&lt;br&gt;
🐳 Docker&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Are you interested?&lt;br&gt;
You can find our open issues &lt;a href="https://github.com/axem-solutions/dem/issues"&gt;HERE&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Don't forget to join our XM Community on &lt;a href="https://discord.com/invite/Nv6hSzXruK"&gt;Discord&lt;/a&gt; .&lt;/p&gt;

</description>
      <category>opensource</category>
      <category>python</category>
      <category>community</category>
      <category>hacktoberfest</category>
    </item>
    <item>
      <title>Join the Hottest Hacktoberfest Project of 2023 🚀</title>
      <dc:creator>Eszter Vezden</dc:creator>
      <pubDate>Wed, 04 Oct 2023 09:07:48 +0000</pubDate>
      <link>https://forem.com/axem/join-the-hottest-hacktoberfest-project-of-2023-587f</link>
      <guid>https://forem.com/axem/join-the-hottest-hacktoberfest-project-of-2023-587f</guid>
      <description>&lt;p&gt;&lt;strong&gt;axem&lt;/strong&gt; is excited to join the Hacktoberfest community for the very first time! 🚀&lt;/p&gt;

&lt;h2&gt;
  
  
  About us:
&lt;/h2&gt;

&lt;p&gt;We're focused on simplifying embedded development with our project, DEM (Development Environment Manager).&lt;br&gt;
DEM is a command line tool that provides an easy, reproducible, and scalable way to set up &lt;strong&gt;containerized Development Environments&lt;/strong&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Useful links:
&lt;/h2&gt;

&lt;p&gt;GitHub repository: &lt;a href="https://github.com/axem-solutions/dem"&gt;https://github.com/axem-solutions/dem&lt;/a&gt;&lt;br&gt;
And detailed documentation: &lt;a href="https://axemsolutions.io/dem_doc/"&gt;https://axemsolutions.io/dem_doc/&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;
  
  
  Technology Used:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Python&lt;/li&gt;
&lt;li&gt;Docker&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Why Contribute?
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Enhance your skills in Python&lt;/li&gt;
&lt;li&gt;Learn more about containerization&lt;/li&gt;
&lt;li&gt;Learn about development platforms&lt;/li&gt;
&lt;li&gt;Shape the future of embedded development tooling&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Team axem: &lt;a href="https://discord.com/invite/Nv6hSzXruK"&gt;XM Discord server&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;We're eager to receive your feedback and contributions to make DEM the go-to tool for embedded developers.&lt;br&gt;
Don't forget to Star the project 🌟&lt;/p&gt;

</description>
      <category>hacktoberfest23</category>
      <category>devops</category>
      <category>docker</category>
      <category>python</category>
    </item>
    <item>
      <title>Introducing XM: A New Embedded Tooling and DevOps Community</title>
      <dc:creator>Eszter Vezden</dc:creator>
      <pubDate>Wed, 04 Oct 2023 08:48:20 +0000</pubDate>
      <link>https://forem.com/axem/introducing-xm-a-new-embedded-tooling-and-devops-community-21fo</link>
      <guid>https://forem.com/axem/introducing-xm-a-new-embedded-tooling-and-devops-community-21fo</guid>
      <description>&lt;p&gt;I'm thrilled to announce the launch of XM, a vibrant new space dedicated to all things Embedded Tooling and DevOps. 🚀&lt;/p&gt;

&lt;p&gt;XM Community is about empowering embedded developers, fostering innovation, and sharing insights on cutting-edge tooling and DevOps practices.&lt;/p&gt;

&lt;p&gt;Whether you're a seasoned pro or just starting your journey, our community welcomes you to connect, learn, and grow together.&lt;/p&gt;

&lt;p&gt;Join the XM Community Discord server today and be part of a dynamic network of embedded enthusiasts, where knowledge flows, ideas thrive, and collaboration knows no bounds.&lt;/p&gt;

&lt;p&gt;Join here: &lt;a href="https://discord.gg/Nv6hSzXruK"&gt;XM Discord server&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--WOlqH0Jy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6yca6guauakud3rxxlh0.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--WOlqH0Jy--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/6yca6guauakud3rxxlh0.png" alt="XM: The New Embedded DevOps Community" width="800" height="800"&gt;&lt;/a&gt;&lt;/p&gt;

</description>
      <category>devops</category>
      <category>embedded</category>
      <category>news</category>
      <category>community</category>
    </item>
    <item>
      <title>Creating an Optimized Development Environment beyond traditional IDEs</title>
      <dc:creator>Eszter Vezden</dc:creator>
      <pubDate>Wed, 13 Sep 2023 15:24:32 +0000</pubDate>
      <link>https://forem.com/axem/creating-an-optimized-development-environment-beyond-traditional-ides-51ip</link>
      <guid>https://forem.com/axem/creating-an-optimized-development-environment-beyond-traditional-ides-51ip</guid>
      <description>&lt;h2&gt;
  
  
  What is an IDE?
&lt;/h2&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Writing embedded software&lt;/strong&gt; for other architectures than our host usually &lt;strong&gt;requires a lot of different tools.&lt;/strong&gt;&lt;br&gt;
The tools used for a specific project can be grouped together and they form a Development Environment. To make it simpler to work with these tools, &lt;strong&gt;they are typically bundled together into an IDE (Integrated Development Environment).&lt;/strong&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--w2AlIPNs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ydev9c78pitundlookak.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--w2AlIPNs--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ydev9c78pitundlookak.png" alt="Example: Tools bundled into an IDE" width="581" height="460"&gt;&lt;/a&gt;&lt;/p&gt;
Example: Tools bundled into an IDE








&lt;h3&gt;
  
  
  Frequent problems
&lt;/h3&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
If you used IDEs before, you probably faced at least some of the following:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;The error-prone and time-consuming setup process&lt;/li&gt;
&lt;li&gt;Tools are hardcoded into IDEs&lt;/li&gt;
&lt;li&gt;More instances of the same tool&lt;/li&gt;
&lt;li&gt;Difficult IDE and tool version management&lt;/li&gt;
&lt;li&gt;The IDEs enforce the use of their UI &lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  One of the biggest disadvantages of IDEs
&lt;/h3&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
From the list above the second is a crucial problem if you want to create a well-managed infrastructure. When working with IDEs, you cannot easily use the underlying integrated tools separately. They usually depend on the IDE or each other, so &lt;strong&gt;standalone usage can be problematic&lt;/strong&gt; and the whole IDE installation is required.&lt;/p&gt;




&lt;h3&gt;
  
  
  Problem #1: When navigating multiple projects
&lt;/h3&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
Let's say at your company &lt;strong&gt;the developers have to work on different projects simultaneously, switching between tools even daily.&lt;/strong&gt; &lt;br&gt;
If they want to keep all the needed tools on their PCs at the same time, more issues can occur: &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;A lot of duplications - storage-consuming&lt;/li&gt;
&lt;li&gt;Tools can interfere&lt;/li&gt;
&lt;li&gt;Version management of the tools is crazy &lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Re-installing an IDE&lt;/strong&gt; every time to switch tools &lt;strong&gt;is time-consuming&lt;/strong&gt; and let's face it: most developers don't like operational tasks. &lt;br&gt;
To avoid the re-installation of whole IDEs somehow we have to &lt;strong&gt;reduce the dependencies between the tools&lt;/strong&gt; and provide the possibility of standalone usage. &lt;/p&gt;




&lt;h3&gt;
  
  
  Problem #2: "It works on MY PC!"
&lt;/h3&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
Even if you are not project-based, you probably heard your co-worker say, "I don't know what's wrong with your installation. It works on my PC!"&lt;br&gt;
&lt;strong&gt;When setting up your Development Environment the process is unpredictable.&lt;/strong&gt; Two of the annoying scenarios: &lt;br&gt;
&lt;br&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Everything works smoothly on the first try. (But you already sense something will go wrong and the worst is you don't even see what. You start praying to the gods of tech.)&lt;/li&gt;
&lt;li&gt;Random errors during development. It can be painful to discover after days of debugging that an environment variable had a different value for some obscure reason.&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Isolating tools: Containerization
&lt;/h3&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
To eliminate these problems, the tools need to operate in their own isolated environments. A &lt;strong&gt;lightweight and fast solution&lt;/strong&gt; for isolation is containerization.&lt;br&gt;
&lt;br&gt;&lt;br&gt;
&lt;strong&gt;A container is a completely isolated hosting environment, specifically tailored for the needs of the application it runs.&lt;/strong&gt; The tools get built into their respective &lt;strong&gt;container images&lt;/strong&gt;, and the way they communicate with the host system can be controlled. Containerization also ensures there is no interference between the tools. &lt;strong&gt;With this concept, consistent and scalable customized Development Environments can be built easily.&lt;/strong&gt;&lt;br&gt;
&lt;br&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--K1ApEU-x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kopkis8raobf6jukqfr2.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--K1ApEU-x--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/kopkis8raobf6jukqfr2.png" alt="Tools used standalone, isolated in containers" width="581" height="460"&gt;&lt;/a&gt;&lt;/p&gt;
Tools used standalone, isolated in containers






&lt;h3&gt;
  
  
  Virtual Machine vs. Container
&lt;/h3&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
To understand the containerization concept it can be useful to compare it to the well-known virtual machines:&lt;br&gt;
&lt;br&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--sH2znzx8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/biz4bxcrzwrgbq8z9126.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--sH2znzx8--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/biz4bxcrzwrgbq8z9126.png" alt="VM concept" width="786" height="340"&gt;&lt;/a&gt;&lt;/p&gt;
VM concept



&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--4eePQ_hG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/990pjemw0umw1hm0t3fn.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--4eePQ_hG--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/990pjemw0umw1hm0t3fn.png" alt="Container concept" width="786" height="340"&gt;&lt;/a&gt;&lt;/p&gt;
Container concept





&lt;ul&gt;
&lt;li&gt;A VM runs as a standalone OS on top of the host OS&lt;/li&gt;
&lt;li&gt;The container uses the shared resources of the host OS&lt;/li&gt;
&lt;li&gt;Different lifetime: a VM is persistent, &lt;strong&gt;a container only exists while needed&lt;/strong&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h3&gt;
  
  
  Unveiling the Advantages
&lt;/h3&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
Now that we have all the tools in containers on our PC, after setting up the communication between them we have an optimized Development Environment. &lt;strong&gt;The advantages of an optimized DevEnv:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Easy and quick setup process&lt;/li&gt;
&lt;li&gt;Tools are not hardcoded into IDEs anymore, standalone usage is possible&lt;/li&gt;
&lt;li&gt;Keeping one instance of a tool is enough&lt;/li&gt;
&lt;li&gt;The same tool with different versions can be present on our host&lt;/li&gt;
&lt;li&gt;The developer is free to choose her favorite editor&lt;/li&gt;
&lt;li&gt;No interference between the tools&lt;/li&gt;
&lt;li&gt;Communication between the tool and the host can be controlled&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
&lt;strong&gt;Containerization gives flexibility, portability, reproducibility, and scalability to embedded software development and is a key when creating optimized Development Environments.&lt;/strong&gt; &lt;/p&gt;




&lt;h2&gt;
  
  
  A little extra: Optimized Hybrid Development Environment
&lt;/h2&gt;

&lt;h3&gt;
  
  
  What is a Hybrid Development Environment?
&lt;/h3&gt;

&lt;p&gt;&lt;br&gt; &lt;br&gt;
We call a Development Environment &lt;strong&gt;Hybrid when the tools part of the DevEnv are not running in the same place&lt;/strong&gt;. For example, a debugger is running on an SBC, or a build system is running in a cloud environment.&lt;/p&gt;




&lt;h3&gt;
  
  
  Containerization in a Hybrid Development Environment
&lt;/h3&gt;

&lt;p&gt;&lt;br&gt;&lt;br&gt;
After creating an optimized Development Environment, it's worth checking what &lt;strong&gt;other benefits can containerization bring to the table&lt;/strong&gt;.&lt;br&gt;
By combining a Hybrid DevEnv with containerization the following environment can be built easily:&lt;br&gt;
&lt;br&gt; &lt;br&gt;
&lt;a href="https://res.cloudinary.com/practicaldev/image/fetch/s--z1j_hSXL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ng6be5xe749mu59bnw1m.png" class="article-body-image-wrapper"&gt;&lt;img src="https://res.cloudinary.com/practicaldev/image/fetch/s--z1j_hSXL--/c_limit%2Cf_auto%2Cfl_progressive%2Cq_auto%2Cw_800/https://dev-to-uploads.s3.amazonaws.com/uploads/articles/ng6be5xe749mu59bnw1m.png" alt="Example: A Hybrid Development Environment with containerized tools" width="581" height="460"&gt;&lt;/a&gt;&lt;/p&gt;
Example: A Hybrid Development Environment with containerized tools



&lt;p&gt;&lt;br&gt; &lt;br&gt;
In this case, the client side of the chosen editor is running on the developer's PC, while the editor's server side, the build system, and the toolchain are deployed in the &lt;strong&gt;cloud&lt;/strong&gt;. The project also has a Debugger or Flasher running on an &lt;strong&gt;SBC&lt;/strong&gt;, depending on the state of development.&lt;br&gt;
&lt;br&gt;&lt;br&gt;
This example makes &lt;strong&gt;one of the greatest advantages of containerization clear: Containerized tools can move across physical and cloud environments easily&lt;/strong&gt;. As the embedded development landscape continues to evolve, containerization is likely to become an even more significant player in enabling efficient and effective development practices for embedded systems.&lt;/p&gt;

</description>
      <category>devops</category>
      <category>docker</category>
      <category>discuss</category>
      <category>embedded</category>
    </item>
  </channel>
</rss>
