Tech Notes
Jenkins vs GitHub actions: Which CI CD Tool Is Right?
· ☕ 6 min read
Jenkins vs GitHub Actions - A comprehensive comparison of two leading CI / CD tools. Learn about key features, similarities, and differences to choose the right solution for your project's automation needs.

Mastering Maven Create Custom Maven Plugin
· ☕ 4 min read · ✍️ Dinesh Arora
Learn how to create a custom Maven plugin to effortlessly count project dependencies. Dive into step-by-step guidance and code examples to streamline your development process. Master the art of dependency management with this comprehensive tutorial.

Git Commit Undo: Mastering Soft and Hard Resets for Local Commits
· ☕ 3 min read · ✍️ Dinesh Arora
Unlock Git Mastery - How to Undo Local Commits (Soft vs. Hard Reset). Discover the essential Git skills you need to undo local commits effectively. Learn the difference between soft and hard resets and when to choose each. Boost your Git proficiency with this comprehensive guide!.

TypeScript's Variable Wars: Battle of let vs. const vs. var – Which One Wins?
· ☕ 5 min read
Understanding the differences between TypeScript's variable declarations is essential for writing clean and reliable code. This article explores the contrasts between let, const, and var, providing definitive examples to illustrate their unique features. While var offers familiarity but carries risks such as hoisting, let embraces block scoping, enhancing code readability and preventing redeclarations. On the other hand, const ensures immutability, protecting critical values from accidental changes. By making informed choices about variable declarations, developers can create more robust.

Demystifying Docker Permissions: Effective Solutions for 'Permission Denied' Errors
· ☕ 7 min read · ✍️ Dinesh Arora
Encountering the "Permission Denied" error in Docker can hinder your containerization workflow. In this article, we explore the causes of this error and provide practical solutions with code examples to fix it. From using sudo for Docker commands to adding users to the Docker group and changing Docker's permissions, we cover various approaches to overcome permission-related challenges. By understanding the causes and implementing the provided solutions, you can ensure smooth Docker operations and minimize disruptions. Empower yourself with the knowledge and code snippets to troubleshoot and resolve "Permission Denied" errors in Docker.

Boost Your Development Workflow with MirageJS: Creating Realistic Mock APIs for API Testing and Frontend Development
· ☕ 3 min read · ✍️ Dinesh Arora
Discover how MirageJS empowers developers with realistic mock APIs for efficient API testing and frontend development. This comprehensive guide provides step-by-step instructions and a practical code example, showcasing how MirageJS enhances your development workflow. Learn how to create mock APIs, customize responses, and seamlessly integrate MirageJS into your testing process. Supercharge your API testing and frontend development with MirageJS today.

Mockito Explained: How to Choose Between Mocks and Spies for Effective Unit Testing
· ☕ 3 min read · ✍️ Dinesh Arora
This post explains the differences between the two types of test doubles in the Mockito Java testing framework - mocks and spies. Mocks are used to replace dependencies, while spies are used to wrap around real objects. The main difference between mocks and spies is that mocks are used to isolate the code under test from its dependencies, while spies are used to test real objects in isolation while allowing us to verify their behavior. Code examples are provided to illustrate the usage and differences of mocks and spies.

Securing React Apps with Keycloak: A Comprehensive Guide
· ☕ 3 min read · ✍️ Dinesh Arora
Creating a login page is the one of the first things you need when creating a website. However, you dont have to struggle trying to create the schema from scratch. Keycloak is one such tool that provides functionalities such as user management, social logins and much more.

Afraid you don't understand Reslience4j state changes: Read this missing manual on Ring Bit Buffer
· ☕ 12 min read · ✍️ Dinesh Arora
Understanding how Resilience4j ringbit buffer works, is the key to understanding the internal working of [Resilience4j]( circuit breaker state change. If you don't know this then you are missing how the buffer counts and hence you will fall into the trap of missing open/close counts in the logs.

Part 7 Decision tree regression or classification using python
· ☕ 8 min read · ✍️ Dinesh Arora
Machine learning tutorial using decision tree regression. This post in the machine learning series will walk you through the process of implementing decision tee regression using python.

Part 6 Support Vector Regression
· ☕ 6 min read · ✍️ Dinesh Arora
Machine learning tutorial using Support vector regression. This post in the machine learning series will walk you through the process of implementing Support vector Regression.