<?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: Aria Eslami</title>
    <description>The latest articles on DEV Community by Aria Eslami (@arious).</description>
    <link>https://dev.to/arious</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%2F1021586%2F033480ca-8fdd-4f82-bd1e-56bb1211d01d.png</url>
      <title>DEV Community: Aria Eslami</title>
      <link>https://dev.to/arious</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://dev.to/feed/arious"/>
    <language>en</language>
    <item>
      <title>Building a Fully Private CI/CD Pipeline with GitLab &amp; SonarQube: A Real-World Guide</title>
      <dc:creator>Aria Eslami</dc:creator>
      <pubDate>Thu, 07 Aug 2025 20:49:58 +0000</pubDate>
      <link>https://dev.to/arious/building-a-fully-private-cicd-pipeline-with-gitlab-sonarqube-a-real-world-guide-2mpi</link>
      <guid>https://dev.to/arious/building-a-fully-private-cicd-pipeline-with-gitlab-sonarqube-a-real-world-guide-2mpi</guid>
      <description>&lt;p&gt;As engineering teams scale and software complexity grow, having a robust, automated CI/CD pipeline is no longer a luxury; it's a necessity. In this article, I’ll take you through the complete journey of setting up a fully private, self-hosted CI/CD pipeline using GitLab CI/CD, Docker-based runners, and SonarQube for code quality analysis.&lt;/p&gt;

&lt;p&gt;This isn't another theoretical guide. Everything here is built in a real-world scenario, inside an isolated internal network with zero reliance on public SaaS.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Why Self-Hosted?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Sometimes the cloud isn’t an option. Whether due to security policies, compliance, or architecture decisions, many teams must operate entirely within internal infrastructure.&lt;/p&gt;

&lt;p&gt;This setup solves for:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Air-gapped environments&lt;/li&gt;
&lt;li&gt;Internal-only GitLab &amp;amp; SonarQube servers&lt;/li&gt;
&lt;li&gt;Fully containerized runners&lt;/li&gt;
&lt;li&gt;Controlled traffic and secrets&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;The Tech Stack&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Components &amp;amp; Purpose:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;GitLab CE – Source control + CI/CD engine&lt;/li&gt;
&lt;li&gt;GitLab Runner – Executes jobs in Docker&lt;/li&gt;
&lt;li&gt;SonarQube – Code quality &amp;amp; static analysis&lt;/li&gt;
&lt;li&gt;SonarScanner CLI – CLI for analysis, runs in CI&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;We use Docker images for everything, keeping the runner nodes clean and stateless.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Project Structure &amp;amp; CI/CD Workflow&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;&lt;em&gt;Sample .gitlab-ci.yml&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;stages:
  - sonar

variables:
  GIT_DEPTH: "0"
  SONAR_HOST_URL: "https://sonarqube.internal"

sonarqube:
  stage: sonar
  image: sonarsource/sonar-scanner-cli:latest
  script:
    - sonar-scanner -Dsonar.token="$SONAR_TOKEN"
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;blockquote&gt;
&lt;p&gt;SONAR_TOKEN is stored as a GitLab CI/CD variable.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Key Concepts:&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;stages: CI jobs are grouped into stages and run sequentially.&lt;/li&gt;
&lt;li&gt;image: Docker image for the job, here sonar-scanner-cli.&lt;/li&gt;
&lt;li&gt;script: Actual commands to execute inside the container.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;If this job fails (e.g., scanner fails or SonarQube is unreachable), the pipeline will stop at this stage.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Understanding GitLab Runner&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;GitLab Runner is a background service that polls GitLab for jobs. Once it picks up a job:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It downloads the project source&lt;/li&gt;
&lt;li&gt;Starts a Docker container with the image defined in the CI file&lt;/li&gt;
&lt;li&gt;Executes the job commands&lt;/li&gt;
&lt;li&gt;Returns logs and status to GitLab&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;&lt;strong&gt;Docker Executor&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;We use the Docker executor mode, which isolates each job in a clean container environment.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Tip: For internal domains, configure Docker runner with extra_hosts to resolve local services like git.internal or sonarqube.internal.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;&lt;strong&gt;Deep Dive: How SonarQube Analysis Works&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;SonarQube analyzes source code and returns metrics on:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Code smells&lt;/li&gt;
&lt;li&gt;Bugs&lt;/li&gt;
&lt;li&gt;Duplications&lt;/li&gt;
&lt;li&gt;Test coverage&lt;/li&gt;
&lt;li&gt;Security hotspots&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Supported file types (in our Laravel + Vue project):&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;PHP: app/, routes/, tests/&lt;/li&gt;
&lt;li&gt;JS/Vue: resources/js/, *.vue&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Config File:&lt;/strong&gt; &lt;em&gt;sonar-project.properties&lt;/em&gt;&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight plaintext"&gt;&lt;code&gt;sonar.projectKey=my-project
sonar.projectName=My Project
sonar.sources=app,resources/js
sonar.tests=tests
sonar.exclusions=node_modules/**,public/**,storage/**
sonar.php.file.suffixes=.php
sonar.javascript.file.suffixes=.js,.vue
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;SonarScanner reads this config and sends data to the SonarQube server over HTTP. The token ensures it’s authenticated.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Lessons Learned&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;CI variables make sensitive info (tokens, secrets) safe&lt;/li&gt;
&lt;li&gt;GIT_DEPTH: 0 is critical for full branch history in analysis&lt;/li&gt;
&lt;li&gt;Each stage only runs if the previous one succeeds&lt;/li&gt;
&lt;li&gt;SonarScanner must be configured with a valid token sonar.login is deprecated&lt;/li&gt;
&lt;li&gt;Docker containers may need --add-host to resolve internal hosts&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Benefits of This Setup&lt;/strong&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Private and secure — all services are internal&lt;/li&gt;
&lt;li&gt;Modular — easy to extend with deploy/test/build stages&lt;/li&gt;
&lt;li&gt;Fast feedback for developers — bugs &amp;amp; smells caught early&lt;/li&gt;
&lt;li&gt;Language-agnostic — works for PHP, JS, Java, Python, etc.
This isn’t just a pipeline it’s a foundation for DevOps culture.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;What’s Next?&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;From here, we can expand into:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Automated unit testing (PHPUnit, Jest, etc.)&lt;/li&gt;
&lt;li&gt;Docker image builds and artifact publishing&lt;/li&gt;
&lt;li&gt;Automatic deploys to staging/prod&lt;/li&gt;
&lt;li&gt;More granular SonarQube quality gates&lt;/li&gt;
&lt;li&gt;Pipeline optimization with cache and parallel jobs&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;strong&gt;Final Thoughts&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Building a self-hosted CI/CD + SonarQube pipeline taught me more than any cloud-based service ever could. From Docker networking to GitLab internals to Sonar’s scanning engine it’s been a true DevOps deep dive.&lt;/p&gt;

&lt;p&gt;Whether you're starting fresh or replacing legacy scripts, this setup will help your team build faster, safer, and with confidence.&lt;/p&gt;

&lt;p&gt;If you found this useful, follow me for future deep dives into CI/CD, DevOps tooling, infrastructure, and open-source pipelines.&lt;/p&gt;

</description>
      <category>gitlab</category>
      <category>cicd</category>
      <category>devops</category>
      <category>sonarqube</category>
    </item>
    <item>
      <title>The Case Against Windows: A Hilariously Serious Guide to Profound Alternatives</title>
      <dc:creator>Aria Eslami</dc:creator>
      <pubDate>Fri, 22 Dec 2023 09:47:28 +0000</pubDate>
      <link>https://dev.to/arious/the-case-against-windows-a-hilariously-serious-guide-to-profound-alternatives-41p0</link>
      <guid>https://dev.to/arious/the-case-against-windows-a-hilariously-serious-guide-to-profound-alternatives-41p0</guid>
      <description>&lt;p&gt;&lt;strong&gt;Introduction:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the spectacular opera of operating systems, Windows has played the lead role for years, captivating audiences worldwide. However, as the tech world morphs into a more diverse landscape, the time has come to explore the comedic intricacies and serious considerations for choosing alternatives to the Windows blockbuster. Join us on this rollercoaster ride through the realms of security, resource efficiency, cost-effectiveness, customization, software compatibility, community support, and a few more surprises that make the case for alternative operating systems more amusingly compelling.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. Security Concerns:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Windows, the A-lister of operating systems, can sometimes feel like the VIP party everyone wants to crash. Unfortunately, that includes hackers and malware, turning your computing experience into a never-ending red carpet event for cyber threats. Enter Linux, the undercover superhero with a mask of open-source secrecy. With its robust security features and fewer paparazzi flashes, Linux ensures your professional data stays away from the gossip columns of the hacking world.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. Resource Intensiveness:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Windows, with its flair for extravagant demands, is like the celebrity who insists on a personal entourage just to check emails. In the professional world where efficient resource management is key, Windows might be that friend who demands a dressing room filled with only green M&amp;amp;Ms. Linux, on the other hand, is the minimalist friend who can pull off a killer performance without the unnecessary drama. Efficient, resource-friendly, and no diva tantrums – that's the Linux way.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. Cost Factor:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Windows, with its commercial glam, often comes with a price tag that could make even a Kardashian flinch. For the discerning professional on a budget, Linux is the frugal fashionista, offering a front-row seat to the tech show without the hefty ticket price. It's like getting a VIP pass to the computing gala without having to mortgage your tech soul.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. Customization and Control:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Windows, with its polished exterior, might sometimes feel like being dressed for a black-tie event when you're in the mood for casual Fridays. Linux is the fashion-forward friend who lets you mix and match your desktop environment and software like a tech runway show. Want a sleek minimalist look or a wild, neon-infused experience? Linux says, "Dress your computer however you want – it's your time to shine!"&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. Software Compatibility:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Windows, the trendsetter of software fashion, has closets full of options. But hold the applause; Linux is having a style revival! With cross-platform and web-based applications, plus the ability to run Windows apps with Wine, Linux is the new haute couture of compatibility. It's like Linux raided Windows' closet, found some hidden gems, and turned them into the coolest tech accessories.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. Community Support:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the glittering world of Windows, finding personalized support can sometimes feel like trying to get a selfie with a celebrity who's too busy signing autographs. Enter the Linux community – the squad of tech cheerleaders, always ready with virtual pom-poms and IT wisdom. Linux users form a community that's more supportive than a group therapy session for tech enthusiasts, ensuring your computing journey is filled with laughter, shared insights, and maybe a few memes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. Updates Drama:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Windows updates can sometimes feel like the unexpected plot twists in a soap opera. Just when you think you're getting the hang of things, a mandatory update crashes the party. Linux, however, offers updates that are more like reliable co-stars – they show up, do their job, and don't steal the spotlight. No sudden plot twists, just a smooth, drama-free performance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8. System Resource Management:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Windows, with its grandiose presence, tends to be a bit of a resource glutton. It's like that friend who insists on having the biggest dressing room and the most elaborate entourage. In the professional world, where efficient resource management is crucial for a seamless performance, Windows might feel like the celebrity who demands an entire floor of the hotel just for their wardrobe. Linux, on the other hand, is the minimalist virtuoso who can deliver a stellar performance without demanding a truckload of resources. It's the friend who says, "Let's keep it simple and make sure the real stars shine."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9. Virtualization and Containers:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the age of virtualization and containerization, where businesses aim for flexibility and scalability, Windows can sometimes feel like that friend who insists on bringing their antique furniture to every house party. Linux, with its native support for virtualization technologies like KVM and container orchestration tools like Docker and Kubernetes, is the contemporary friend who knows how to pack light and adapt to any setting. It's like having the tech equivalent of a pop-up shop – quick, efficient, and ready for anything.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;10. Command Line Magic:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For professionals who appreciate the beauty of automation and scripting, the command line is the wand that turns mundane tasks into magical performances. Windows PowerShell is like a modern magician – powerful but sometimes a bit tricky to master. Linux, with its command line (bash) prowess, is like having a wizard's spellbook at your fingertips. The command line on Linux is a symphony of efficiency, allowing professionals to orchestrate complex tasks with a few elegant keystrokes.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;11. Server Dominance:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;In the backstage of the digital world, where servers rule the show, Windows Server is a familiar face. However, Linux servers are like the unsung heroes, quietly powering the majority of the internet and cloud infrastructure. From web servers to data centers, Linux is the backbone of the backstage crew, working tirelessly behind the scenes to ensure a smooth and reliable performance for businesses and users alike.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;12. Open Source Philosophy:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;For professionals who appreciate transparency and collaboration, the open-source philosophy of Linux is a breath of fresh air. It's like attending a tech conference where everyone shares ideas, code, and improvements. Windows, with its closed-source nature, can sometimes feel like an exclusive club with a members-only handshake. Linux, on the other hand, invites professionals to join a global community where innovation knows no borders.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion:&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;As the tech comedy-drama unfolds, exploring alternative operating systems becomes a journey into a realm where humor and professionalism coexist harmoniously. From resource efficiency and server dominance to the magic of the command line and the open-source philosophy, alternative operating systems, especially Linux, offer a plethora of reasons for professionals to consider a switch. So, as you navigate the ever-changing landscape of computing, remember that the show must go on, and there's a whole world of operating systems ready to bring both smiles and serious solutions to your tech endeavors. After all, why settle for a one-dimensional performance when the tech world can be a rich tapestry of laughter, learning, and limitless possibilities?&lt;/p&gt;

</description>
      <category>linux</category>
      <category>programming</category>
      <category>devops</category>
      <category>opensource</category>
    </item>
    <item>
      <title>The .NET Core Conundrum: A Humorous Expedition into the "Why Nots"</title>
      <dc:creator>Aria Eslami</dc:creator>
      <pubDate>Fri, 22 Dec 2023 00:31:37 +0000</pubDate>
      <link>https://dev.to/arious/beyond-boundaries-a-deeper-dive-into-the-reservations-against-the-net-framework-11jn</link>
      <guid>https://dev.to/arious/beyond-boundaries-a-deeper-dive-into-the-reservations-against-the-net-framework-11jn</guid>
      <description>&lt;p&gt;Welcome, brave readers, to a comedic journey through the curious realm of .NET Core. Buckle up as we explore the wacky world of reasons why one might consider steering clear of this development wonder (with a wink and a nod, of course).&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1. .NET Core is Like the Overenthusiastic Labrador of Frameworks&lt;/strong&gt;&lt;br&gt;
Picture this: you just wanted to write some code, but .NET Core is there, wagging its tail, ready to fetch everything you could possibly need. It's so eager to please, it practically anticipates your next move. Developers beware—it might be too enthusiastic for its own good!&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2. The "Core" Sounds Like a Fitness Class You Can Never Quite Master&lt;/strong&gt;&lt;br&gt;
Whoever named it .NET Core must have been a fan of fitness trends. It sounds like a core workout routine that promises a chiseled codebase, but in reality, you find yourself perpetually stuck in a loop of squats trying to understand the intricacies.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;3. The Constant Updates: A Comedy of Errors or a Tragicomedy?&lt;/strong&gt;&lt;br&gt;
.NET Core loves to keep things fresh with frequent updates. It's like the friend who changes their hairstyle every week. Just when you get comfortable, bam! A new version drops, and you're left scrambling to update, wondering if your code will still recognize you.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;4. "Core" - It's Not Just for Apples Anymore&lt;/strong&gt;&lt;br&gt;
In a world full of fruit-named operating systems, .NET Core boldly claims its spot. Move over, Granny Smith! Now, developers can debate the virtues of their favorite cores—Granny Smith, Red Delicious, or .NET Core. Spoiler alert: .NET Core doesn't taste great with peanut butter.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;5. It's So Cross-Platform, It Might Be an Overachiever&lt;/strong&gt;&lt;br&gt;
.NET Core's cross-platform capabilities are impressive, but it's like that friend who insists on being the life of every party. "Cross-platform? Oh, you mean it works on Windows, Linux, and macOS? Is there a platform it can't conquer?" It's almost exhausting how versatile it is.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;6. When .NET Core Feels Like a Parent: "Did You Finish Your Updates, Honey?"&lt;/strong&gt;&lt;br&gt;
.NET Core is that parent who checks in on you, ensuring you've done your updates and that everything is running smoothly. It's like having a digital mom or dad, making sure your code is tucked in and ready for bedtime. "Sweet dreams, little application."&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;7. It's So Lightweight, It Might Float Away&lt;/strong&gt;&lt;br&gt;
.NET Core prides itself on being lightweight, but sometimes you wonder if it might float away in a gentle breeze. You'll find yourself clutching your code, hoping it doesn't get carried off by a particularly strong gust.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;8. It's So Open Source, You Might Mistake It for a Neighborhood Potluck&lt;/strong&gt;&lt;br&gt;
.NET Core's open-source nature is like a community potluck. Everyone contributes a little something, and you're left with a feast of code. Just be careful—it's so communal that your code might come back with a dash of unexpected spice, courtesy of the friendly neighborhood developers.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;9. Naming Conventions: Is it .NET Core, .NET 5, or Just a Midlife Crisis?&lt;/strong&gt;&lt;br&gt;
.NET Core has had its fair share of identity crises, evolving from .NET Core to .NET 5 and beyond. It's like it decided to throw a midlife crisis party and change its name to stay hip with the cool frameworks. Who knew frameworks could have a rebellious phase?&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;10. Dependency Injection: Because Who Doesn't Want More Dependencies in Life?&lt;/strong&gt;&lt;br&gt;
.NET Core loves its dependency injection, making sure your code gets its daily dose of dependencies. It's like a health-conscious friend who insists on everyone taking their vitamins, except in this case, the vitamins are other people's code.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;11. Command-Line Interface (CLI): It's Like a Magic Wand for Wizards&lt;/strong&gt;&lt;br&gt;
.NET Core's CLI is like a wizard's wand, enabling developers to conjure applications with a few incantations. But beware, with great power comes great responsibility. One wrong spell, and your application might turn into a pumpkin—or worse, Windows 95.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;12. It's So Good, It's Like Coding with a Cup of Coffee&lt;/strong&gt;&lt;br&gt;
.NET Core is the equivalent of coding with a cup of coffee—warm, reliable, and comforting. But wait, isn't it supposed to be a humorous critique? Well, some things are just too good not to appreciate. So here's to coding with .NET Core and a good cup of coffee—because every developer knows they go hand in hand.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Conclusion: The Comedy Continues, .NET Core Style&lt;/strong&gt;&lt;br&gt;
In this satirical exploration of the .NET Core universe, we've uncovered its quirks, playfully poked fun at its eccentricities, and even found a bit of endearing charm. Whether it's the overenthusiastic Labrador tendencies, the ever-changing names, or the neighborhood potluck of open-source contributions, .NET Core is a unique and lovable character in the grand play of software development.&lt;/p&gt;

&lt;p&gt;As developers, let's not forget to embrace the humor embedded in our coding adventures. After all, laughter is the best medicine for those inevitable moments of debugging despair. So, as you embark on your coding escapades with .NET Core, may your code be merry, your bugs be few, and your laughter be plentiful. Happy coding!&lt;/p&gt;

</description>
      <category>webdev</category>
      <category>programming</category>
      <category>opensource</category>
      <category>dotnet</category>
    </item>
  </channel>
</rss>
