Skip to main content

Posts

Unlocking the Power of Concurrency and Parallelism in Modern .NET Applications

Unlocking the Power of Concurrency and Parallelism in Modern .NET Applications What is Concurrency? Concurrency, a vital concept in modern programming, refers to a program's ability to execute multiple independent operations simultaneously, with these concurrent tasks often occurring in an overlapping fashion. Importantly, the order in which these tasks are executed doesn't affect the final result, as long as they remain independent. They can start, run, and complete in an interleaved manner without the need to run at the exact same moment. It's crucial to note that concurrency and parallelism aren't synonymous, though concurrency serves as a means to achieve parallelism. Parallelism entails the execution of two or more tasks at the same instant, or in other words, simultaneously. Even in the case of a single-core CPU, which can't run multiple tasks simultaneously, it can offer a form of virtual parallelism by rapidly and seamlessly switching between differe...
Recent posts

Run GitHub Actions Locally with Act

GitHub Actions has become a prominent tool in the CI/CD space. It offers easy and hassle-free configuration, and workflows can be set up in minutes, with many components available out of the box. The most challenging part, however, is testing the workflow before actually pushing it to production. During the initial setup, we often need enough room to run and experiment with the workflow. Running such experiments directly in GitHub Actions is not always convenient. Wouldn’t it be amazing if we could run them locally, make changes, experiment, finalize, and then push everything to production? I always thought that would be a great idea. Recently, while consulting with one of my clients, I needed to set up an automation workflow with GitHub Actions. During this process, I discovered a gem called Act . It's an open-source tool available on GitHub that makes it easy to run GitHub Actions locally. The tool is incredibly simple to install and use. GitHub: https://github.com/nektos/a...