Writing Cleaner Test with Domain-Specific Assertions
Domain-specific assertions can help create an extremely clean test base. Learn how to create your own manually or with LLM.
Domain-specific assertions can help create an extremely clean test base. Learn how to create your own manually or with LLM.
Explore two approaches for creating and naming commands in command-based systems, balancing domain logic with structured formats.
Boost application performance and scalability with effective caching strategies, from basic principles to advanced implementation in Spring Boot.
Increasing accuracy of your Unit Tests and making them as easy to write as Integration Tests.
Ensuring backward compatibility through structured deprecation processes and automated testing minimizes disruptions during system updates and migrations.
While easy to get started, Astrowind is quite complex internally. This page provides documentation on some of the more intricate parts.
A Look at Board Structure, Card Structure and Dashboard Board that Help Me Stay Organized
Efficient strategies for managing data transformation within Spring Boot and RDBMS environments, optimizing response handling and maintaining transactional integrity.
Learn how to optimize your Redux store for peak performance with clear steps and practical tips.
Discover the transition from singleton patterns to advanced state management with Redux. Learn why modern libraries offer superior scalability and maintainability for UI applications
Guidelines for generating clean, unique ID fields from composite attributes to enhance application maintainability and scalability, using encapsulated functions and semantically meaningful IDs.
Find out a naming convention and package structure to generate clean event sourcing code.
Discover the profound lessons and transformative journey through my first encounter with the Bhagavad Gita, a timeless spiritual guide that offers wisdom on duty, action, and the path to true fulfillment.
Implementing event sourcing in Spring Boot from scratch is easy. You just need to understand some core concepts.
Create a clean descriptive index name
Unhealthy communication styles and their negative effects along with example to help identify them.
Understanding the origins and impact of communication styles helps navigate between healthy and unhealthy patterns, fostering productive interactions.
Creating a good naming convention that can help you and your team maintain a clean codebase
Easy approaches to help you come up with descriptive clean names
The Naming convention is more important than any other part of clean code. Once you nail the name, everything else fits precisely!
A state management library like Redux, Recoil, etc., can help you manage application state for large applications. These come with their own set of challenges that can be eliminated with good design.
Response during unit tests can be saved in files which can be used for Testing UI.
Be careful not to introduce high coupling between microservices.
We need to remove all supernormal stimulus that trick us into thinking we are into a relationship when we are not. This way we can develop healthy love. And not be addicted to someone and not SIMP.
Event Sourcing is a paradigm where the entire state of an application is derived by replaying a series of events, providing benefits such as accurate auditing and schema flexibility.
Using ApplicationContext directly can indeed be a handy approach for debugging without setting up the entire application infrastructure.
A cartoon can teach you about importance of self-discovery, aligning with one's conscience, and facing challenges voluntarily.
BEM, TDD, and thoughtful design supercharge web development by streamlining UI DOM planning for maximum efficiency.
Give up on thinking about the outcome. Do what needs to be done. Following your values is complete in itself. The outcome is a bonus.
Psychology and therapy are evidence-based approaches that can expedite problem-solving. Common misconceptions include the belief that therapy is unnecessary and that therapists solely resolve issues. Addressing these misconceptions aids in determining the need for therapy, either for yourself or someone you know.
Each message sent by a producer would include a unique correlation-id. Once the message is received and processed by the consumer, it will publish a response message back to Kafka with the same correlation-id.
Page Object Model can be used with any testing framework to write cleaner and simpler tests that are fast to write.
Phase 1 in the second part of the live hard program after 75 Hard. I was able to do all the tasks of 75 Hard and 3 other tasks that were needed including the 8 critical taks. In this post, I share my journey and tips.
Extending our Movie example creating a REST API with TDD. Scenarios covered are Create, Read, Update and Delete.
Learn the foundation of TDD with a simple example explained in depth.
Promoting TDD within a team requires patience, consistent effort, and a focus on creating a positive and supportive environment for learning and improvement.
Mindsets and statergies to apply exponential progress to life, business and beyond.
Implementing OData, Utilizing Specifications, and Enhancing API Flexibility.
Making your application secure, high performance and maintanable.
I believe walking the board is an important step towards facilitating Continuous Delivery. The standup format facilitates perfection in updates, focused on one card at a time which is closer to completion and takes less time to complete.
75 hard is a mental toughness challenge which includes 2 times workouts a day, diet, 1 gallon of water and reading 10 pages of a book every day without compromise. I completed the challenge. In this post, I share my journey and tips.
How do you exercise discipline? What stops it? It's emotions. How do you overcome your emotions and short-term impulses?
We should not avoid good action. Good action has good results in the long term. It may seem easy to avoid good action in the short term. But good action is the only path to the best outcome.
Internal discipline is an antifragile source of motivation that gets the job done, eliminates the need for "how" questions, makes you stronger, and allows you to focus on achieving your goals without relying on external systems or motivators.
Placeholder
With TDD, you don't find any logical bugs. The remaining types of bugs are data bugs and configuration bugs. This article discusses configuration validations to find and fix config bugs.
Placeholder
Notes from HealthyGamerGG podcast. Use emotions to solve emotional problems first only then apply logic. (Pathos first; Logos later).
Instead of seeing failure as a personal flaw or a permanent setback, see it as an opportunity for growth and improvement. Focus on learning from your mistakes and using them to become better in the future.
Notes from HealthyGamerGG podcast. If there is one thing we need to learn about how to play the game of life well, understand trauma.
Why comparison with others is stupid and why the only person you should compare to is who you were yesterday
Love is a selfless emotion that focuses on the well-being of the other person, while attachment is a selfish emotion that centers on our own well-being. It's essential to catch ourselves when we act out of attachment and try to shift our focus to acting out of love
Karma is the action we take, while Karmafal is the result of our actions, and by detaching ourselves from the outcome, we can focus on doing our best and live a more empowered life.
Ethos, Pathos and Logos are techniques of persuasion. But are applications of it in making clear decisions and better interpersonal dynamics, especially in high-emotion situations.
कर्म करो और फल की चिंता मत करो
Implementing OAuth server is easier than it looks and it saves money in the long run.
BDD focuses on solving customer problems, not implementation details like UI. Those are addressed in other activities like wireframing and TDD.
Why we should use the vocabulary 'stating'. And how can we state the truth.
Placeholder
Separating connectors from business logic in a service-oriented architecture promotes reusability and single responsibility.
Placeholder
Placeholder
The fundamental operating system
The fundamental operating system
Placeholder
Placeholder
Why traditional roles of men and women are relevant?
How Zero-To-One is relevant in software development, why you should make Deployment&Delivery Pipeline first and how to make releases un-cool.
Placeholder
Placeholder
How Our Needs, Environment, and Choices Shape Our Lives
Placeholder
Placeholder
My experience implementing Kanban Principles.
Fix bugs before your user reports
Placeholder
Catching lies, liars and protecting yourself
Placeholder
Data validation at various stages minimizes bugs and unnecessary overhead, ensuring consistent and accurate information flow.
Placeholder
Placeholder
Placeholder
Placeholder
And escape it. It's a more empowering path and maybe the only path.
Why morning and night rituals are essential? Why they aren’t replaceable by mid-day activity? And how to plan them optimally for 500x return on investment?
Placeholder
Placeholder
Subtle art of not giving a fuck about stupid things
Placeholder
The more personal responsibility you take on and fullfil, the more incontrol you’ll feel. This will give you strength and power.
Why do you need to have personal metrics? And how can they help you make informed decisions and stay on the path?
Placeholder
The monitoring and time series database
Developing better instinctive reactions to unknown situations
Details about breaking user story added
Placeholder
Swap left and right. Then repeat for those nodes.
Have a fast pointer and a slow pointer. fast increases by 2. slow increases by 1. if both become the same then the cycle exists. if fast one reaches end then no cycle exists.
go to each depth, incrementing a depth counter by 1. return max of it.
Iterate over both and store minimum one in current; Increment in the list from where minimum came. Once one of the lists is empty, empty the other one.
Check if the last bit is 1 by (n&1). Do the right unsigned shift (logical shift >>>). Loop.
Get the last bit of value from the original. append to the reverse one. shift reverse one to the left. instead of adding, you can do `or` because after the shift last value will be 0. Imp - iterate 32 times only.
Similar to swapping two numbers. Start with prev as null and current and keep swapping next. Return prev because that's the last value.
Placeholder
Check if root is same as subtree or root.left is same or root.right is same;
Make sure the left pointer is always the lowest yet. Keep checking the difference between left and right. And return max.
Placeholder
Have 2 pointers. One at the start other at the end. Skip if `!Character.isLetterOrDigit` and compare with `Character.toLowerCase`
God-level solution - iterate.<br>If an opening bracket is found, put the closing bracket in a stack.<br>If the closing bracket is found, pop and check for equality.
Placeholder
Placeholder
Loop twice.<br>first right to left while multiplying.<br>Then second left to right while multiplying.<br>This can be done in a single array and one extra product variable
Create a set and put items in one by one while checking if `num` is already there.
compare the count of letters in each word and put group them in a map
count all numbers. sort. and return top k. Use streams to make it cleaner. or use bucket sort.
check if the length is the same.<br> find the difference in the count of letters in both numbers.<br> since there are only 26 letters, you can count in a single int array of 26. <br>index = char - 'a'
Placeholder
Make a map of item and index. Check if target - currentItem exists.
A Comparison between Application/Domain vs Framework Development
Placeholder
Placeholder
Placeholder
Separate out technical code from business/domain logic for extreme reusability for code.
Placeholder
Placeholder
Placeholder
Testing interfaces, abstract classes, and design patterns efficiently can be tricky since parents and children depend on each other.<br><br>We can write tests to eliminate these dependencies during the test time, making our tests very short and decoupled.
Placeholder
Placeholder
Placeholder
Placeholder
Placeholder
It's best to start with immutable objects and then modify them if needed.
Understanding and extending spring boot with custom AutoConfiguration
A powerful way to increase resilence of a system
From card picking to release
Practical Chaos Engineering Part 1
TDD Example that saved around 2 hours
Why failing forward is the only way?
For Chaos Engineering and Continuous Delivery
Placeholder
Placeholder
Architecture is a crucial pillar of accelerating product delivery. It's hard to keep a team in sync with architecture over time. Architectural testing can enforce architectural decisions as simple tests, dramatically reducing code review effort and extending code maintainability.
Everyone has snakes. We have it too.
Notes from Avoiding Reactor Meltdown
Placeholder
Placeholder
Placeholder
Placeholder
Placeholder
Comments and Naming Conventions
Do you want to have high salary? or Do you want to have a good career? or Both?
From 8 minutes to less than 3 minutes.
Placeholder
Why small frequent commits leads to higher productivity
Multithreading programming has never been easier.
Placeholder
The fundamental operating system
Placeholder
Placeholder
Placeholder
Placeholder
Placeholder
Creative variable names in tests can make them fun and interesting to read.
Placeholder
Placeholder
Placeholder
Placeholder
If you don't, no one takes you seriously.
Placeholder
Placeholder
Placeholder
Placeholder
Placeholder
Placeholder
The process that keeps everyone in sync
Ideas shape development; specs sync teams; Gherkin tests ensure precision.
Placeholder
Improving quality and speed of writing by transferring a well-known software development practice.
Placeholder
Placeholder
Placeholder
Fluent Assertions make tests highly readable and English-like, presenting a concise structure that simplifies comprehension
Consolidating object creation, mock of methods and more.
Placeholder
Things that should take 0 coding effort
Placeholder
The distinction between unit and integration tests blurs with embedded implementations, combining accuracy from both while overcoming limitations of traditional mocks and infra-heavy integration tests.
Placeholder
Placeholder
A template for thinking and creating understandable uniform tests
Placeholder
Placeholder
Making it easy for future-code readers to understand
A step by step algorithm
Placeholder
Placeholder
Placeholder
Placeholder
Placeholder
Placeholder
Placeholder
Placeholder
A much better alternative to Javascript
Placeholder
Dodge Recommender Systems
How abstraction, cost and education convert research fields to applied.
Placeholder
Probably the most powerful mental model
Placeholder
Placeholder
Placeholder
Speed up fetching of child entities
Placeholder
Placeholder
Placeholder
Placeholder
Placeholder
Choose the right tool for the job.
Placeholder
Placeholder
Placeholder
Placeholder
The Game Which Everyone Needs To Win
Placeholder
Placeholder
Impact, Revenue and Deceptions.
Placeholder
Placeholder
Long term impacts
The best book I have read in 2020
Mitigating the most discoraging part of software development
Placeholder
Placeholder
Placeholder
Placeholder
Placeholder
Placeholder
Placeholder
Placeholder
Placeholder
Unless you stop
Placeholder
Placeholder
The same word is different for different people
Rephrase: Who is your customer?
Your robot on the internet
and why communication policy is essential
Recognition
Placeholder
Placeholder
Placeholder
Placeholder
Placeholder
'Probably Right'
of "success"
Non-repudiation
Placeholder
Placeholder
Only for-money companies
The illusion of perfect execution... every time.
Placeholder
Placeholder
Forced to upgrade
Placeholder
An observation of different technology companies
This post is stupid but I was asked about it once.
Learning faster
For consumers
Placeholder
Placeholder
How humanity progresses.
Placeholder
Draft version
Placeholder
Placeholder
placeholder
Placeholder
Placeholder
beyond algorithms and data structures
and design
Placeholder
Using the best current programming language creation-tool.
Placeholder
Constructing the simplest possible code
Placeholder
or Machine Learning
Baby steps towards competitions
MNIST: Kaggle Getting Started
For those who don’t require Google level optimization
Atomic Habits applied to code. Thanks James Clear.
and Logging with style
You ain’t gonna need it
especially for maths
Minimalism
You cannot compete with SQL
Leave when not okay
constructing the simplest possible code that would solve your problem resulting in an increase in productivity by producing higher quality in less time.
Placeholder
Using Kaggle CLI
Placeholder
Game of Deep Learning was an image recognition challenge on AnalyticsVidya. The task was to classify 5 different types of Ships (Cargo, Military, Carrier, Cruise, and Tankers)
Placeholder