Learn how to resolve the "blocked a frame with origin "null" from accessing a cross-origin frame error."
Learn how to identify the signals that it’s time to say no
A misguided software design can hurt both the business and the technology. It is therefore vital to understand an organizations goals and optimize accordingly.
Learn strategy design patterns with practical examples. Why and how to use strategy patterns in software design.
Mistakes made during software redesign - Perfection, following a trend, hitting with a big hammer
Sundar Annamalai and Vinod Pachipulusu about starting Loop as a virtual restaurant platform to help restaurants with their business.
Learn about how to gather technical requirements for the systems you build.
The demand for enterprise applications is growing faster than IT capacity due to the need for digitalization everywhere. Low-code is here to help!
DDD is not about technology. Instead, it's about understanding the problem you’re trying to solve in a business context.
Experienced software engineers learn what works after maintaining their work for years.
70% of online businesses fail because of bad usability. The solution to this challenge is an approach known as Intuitive UX Design
Reasons to use Python Protocols instead of ABC library for Python interfaces.
Any test that has never failed has no value, and therefore, can be deleted. In order for any test to add value, it must have failed at least once.
Serverless is a fantastic way of building applications, but there is a lot more to consider than simply Lambda functions.
What is common between streaming movies on Netflix, searching for information on Google, buying clothes on Amazon? You interacted with data services built on distributed systems. You interact with the largest distributed system daily: the Internet.
Design debt is a common yet rarely discussed problem startups face in iterative and incremental software development. Learn what it is, where it comes from, and why it is so important to prevent it.
Learn a software design approach that will make you a better engineer.
Designing software systems is about tradeoffs and making tradeoff decisions is hard. You always feel like you are loosing one thing or the other but that’s not what we are going to talk about today.
Technology in business is a phenomenon that is taking over the world. Business is certainly not going anywhere anytime soon; technology is the only way to go. Business needs to have the right tools in place to compete in a competitive corporate environment.
"I want to become a solution architect. What are the resources to learn more about architecture?" - We are all asking the wrong question.
This post will talk about popular design principles used in the software architecture world. Architecture is about the decisions you wish you could get right early in a product or project lifecycle.
This isn't another "break down the monolith" article. This post is about making the applicable decisions, measuring and verifying the results
Software architecture, design and process of architecting explained using a case study.
This blog post summarizes the book “Clean Code” written by Robert Martin on how to write a readable and maintainable code.
If you ask any software developer, there’s a decent chance that they have tried their hand at game development. It seems like a natural fit since it uses many of the same skills. What’s more, programmers come into it with the knowledge that most aspiring game makers lack: how to write good code and create effective software.
The process of testing design is becoming more and more important in the UX world. It allows you to determine if your design will work for your users and solve
A product team is the backbone of any company with a digital offering. They're responsible for constructing goods or a service that not only provides value to users but is also a reflection of the organization they work for. Product teams spin many plates at once, spanning duties from product management, product marketing, user experience, and product analytics. In the below article, we talk through the 4 characteristics that make up a high-performing product team.
Incessant scrolling while using an application is perceived as a flaw on both mobile and desktop. To address this concern, a shift to horizontal scrolling of elements is in trend now.
Learn the best practice on when to use Dependency Injection (DI), Inversion of Control (IoC) and IoC Containers. DotNet .NET CSharp C# Design Architecture
Know when to depend on String.GetHashCode() in DotNet (.NET) CSharp (C#), and when not. Coding Programming Software Development Engineering Architecture
Before I learned how to build apps with code, I thought software development would be like building something out of wood... you learn a couple of basic skills,
Best Practice for designing Interfaces in DotNet (.NET) CSharp (C#). When to define a non-generic interface in addition to the generic interface.
If we build our entire paradigm on a single rule, we can keep it simple and make excellent models.
It is well-known that software engineering is at the lead of the services that use outsourcing and outside contractors.
The development life cycles of applications in an enterprise environment often follow a common theme. An application begins life with a clear purpose in mind and over time has requirements brought in that cause incremental additions to the scope of the original concept. These additions could either be completely in sync with the original concept or perhaps the requirement just had no better home to belong in. As the application matures to an end-of-life state it has now grown far past its original intended purpose and is in dire need of a refactor — breaking down the monolithic beast into smaller and more succinct components.
Software development or programming is not easy until you are a hardcore programmer. A while back, programmers had to code on dull command prompt screens, run the code on a separate compiler then debug it on some third platform. Today, although, programming needs the same dedication and efforts, it has become easier to code, compile, and debug in the same environment. All thanks to IDE-Integrated Development Environment platforms, which enable coders to perform all the major functions of programming in one place.
Technical Debt is one thing, but when let to fester for too long, it can become Technical Fraud. A much more dangerous and much more insidious predator.
Your Practical Introduction to Test Driven Development
Mitul Gajera, designer of the stable value coin ARTH explains and gives insight into how the cryptocurrency was designed to protect the user's purchasing power.
Eye-catching and beautiful graphics rule digital media. Any business requires graphics in its brand promotion creatives to showcase their brand and convey their message clearly. Whether you wish to make a featured image for your blog or edit product photos for posting on social media, you need the best graphic design software to make or edit your graphics.
A root cause analysis of all failures of our software will find a single culprit with multiple costumes. The enemy is always there. Many times disguised as laziness, sometimes simplification, and very frequently with the optimization outfit.
Exception handling is common to most programming languages, and the mechanism and behaviors are similar in most languages: try\catch\finally. It is well documented. We are not going to discuss that.
He is not our friend. It does not simplify life or make us more efficient. Just more lazy. It is time to stop using null.
What actually are APIs and how do they work? Find out by looking at important APIs across the software stack and learn some computer science along the way!
Software is eating the world. Those of us who work, live and love software do not usually stop by to think about its meaning.
Agile methodology breaks up the project into many phases and distributes the workloads across the teams.
Peter Norvig, the legendary Google mogul and AI titan, wrote a python essay to solve every Sudoku puzzle 10 years ago. Back then, he may not have expected that his code will inspire so many other posts and to be ported to so many different languages. For JavaScript, the latest version of the solver that I found was einaregilsson/sudoku from 2014
The aim of this series of posts is to help demystify what it’s like to do software work and tasks in a professional environment.
Whenever you’re developing software, a certain amount of refactoring and rewriting is inevitable. This is sometimes due to a new idea that will simplify the design or a change to the project requirements. But unfortunately, it often also happens because of a misunderstanding about how the software will connect and interact with its external environment. While it’s impossible to completely avoid such miscommunication, you can minimize it by using a principle I call writing software from the outside in.
Software design patterns have been used to package solutions to many common design conundrums. Each one has its own advantages and drawbacks to consider.
Ye olde Reliable Data Structures and Their Controversial (Write) Access.
Type-safe domain modeling in Kotlin. If it compiles, it works. With Valiktor and Konad
Tests are a way to explicitly set expectations about code. You establish them to allow the machine to check whether your code meets the expectations.
Implement a better enhanced Repository Pattern in DotNet (.NET ) CSharp (C# ) following best practices Dependency Injection (DI) Inversion of Control (IoC)
Learn paging/partitioning mathematical equations and how to apply them in JavaScript (JS) and DotNet (.NET) CSharp (C#) code. Coding Programming Development
To mutate is to evolve. It was proposed by Sir Charles Darwin and we use it in the software industry. But how mutable should software be?
Failure is fashionable. Making is much easier than thinking and failures are not stigma, let’s take this idea to our code.
Productivity software is indispensable for all of us. Dedicated tools for creating spreadsheets, writing down notes, managing our to-dos etc. ensure that we are productive in our professions. Incumbent vendors (e.g. Microsoft, Google) have dominated this space for many years — yet, there is a chance for new players to enter the stage. New challengers such as the E-Mail client Superhuman or the note-taking tool Roam Research can compete by developing highly opinionated products which deliberately omit flexibility. Instead, the software is stringently crafted around a very particular way of approaching a process, which is inherently seen as superior by the firm.
Sometimes a short thought can bring amazing ideas. There are some great quotes I’ve been collecting. I use them as inspiration or motto for some articles.
Yes, we've finally reached a point where design is such a huge piece of a product's creation and maintenance that a whole paraphernalia of software will definitely be an essential asset to your projects. Each program will fill different needs and facilitate the best and most efficient work deliveries, be it structure, visual design, illustrations, interactions or animations.
For any brand, creating its own identity is a challenging task. Especially for a start-up and small businesses, brand recognition is even more essential. Brand recognition can go a long way in influencing the success of a business. Every scale business spends a huge amount on marketing their brand and creating their imprint in people’s minds.
A step-by-step guide to developing a Fluent API from scratch in .NET C# using the Builder Design Pattern.
Are we done on code smells? Probably never!
With the introduction of OOPs, Inheritance and Composition entered our senses and still confusing us.
How would we build an experience like the one above?
Demo Repo
Some applications need to limit users to a single client or browser instance. This post covers how to build, improve, and scale this feature. We begin with a simple web app with two API endpoints:
Allowed global variables and supposed memory savings
Visit the /Learn Repo to find the most read stories about any technology.