DECISION NODE

Exploring forks in the road of software design

Decision Node

June 6, 2024

React Server Components, Server Actions, HTMX, Hotwire, Livewire--all these new shiny things are pushed on us as the better and correct way of doing things. But the truth is, they are not better, they are just more tools that we can choose to use or choose to ignore.

Decision Node

May 9, 2024

SQL still stands today, over 50 years after its inception, as one of the most popular ways of interacting with databases. But in those 50 years, the software development landscape has shifted in ways that have catalyzed the popularity of other approaches too.

Decision Node

May 6, 2024

At Eraser, we started our journey with AI a year ago, building, and eventually incorporating multiple AI features into our core app. This article looks at several decisions we made along the way, addressing some in a more philosophical or strategic manner, and some more tactically.

Decision Node

April 25, 2024

Navigating the development of significant new functionality while effectively maintaining legacy systems poses a significant challenge for many organizations.

Decision Node

April 11, 2024

Controlling the flow and rate of the traffic is known as Rate Limiting. Not having rate limiting may lead to exploitation of systems and high downtime.

Decision Node

March 28, 2024

The infrastructure persistence layer introduces the notion of a generalized contract that multiple 3rd party services of the same type can implement, and it leverages the idea of dependency injection when instantiating a service object that can accommodate for swappable services.

Decision Node

March 21, 2024

The main problem with images is that they are large. This size introduces performance, cost, and security concerns that warrant a different architecture than the rest of the data being served by a typical web app.

Decision Node

March 14, 2024

Enter stacked workflows—a pragmatic solution designed to offer a structured method to manage and integrate changes in a way that promotes making small, frequent PRs.

Decision Node

March 7, 2024

The DiCE principle states that you must manage Data, Code, and Environment for reliable results.

Decision Node

February 29, 2024

Servers are buckling under the weight of millions of eager players, and you need to scale up fast. Can you handle the surge without crashes or lag?

Decision Node

February 22, 2024

Over the years, normalization has been the bedrock of designing efficient, reliable databases. Normalization is no longer the be-all and end-all of database design.

Decision Node

February 15, 2024

Gone are the days when server architecture decisions were as simple as choosing between buying hardware or renting a server. Today, we're faced with lambdas, managed container services, virtual machines, Kubernetes, and more.

Decision Node

February 8, 2024

The topic of authentication/authorization is one of those things that all engineers come in contact with at some point but quickly forget.

Decision Node

February 1, 2024

Just about any app will include one or more toolbars or menus that provide a UI for users to perform actions or change configuration.

Decision Node

January 25, 2024

Sharing code between multiple services can turn into a topic of contention in a project team. The larger the service footprint, greater the intensity of debate on how to share functionality between the various services.

Decision Node

January 18, 2024

Our product is a big hit, but we're starting to hear from our happy users that they're unable to roll it out organization-wide because they need a different configuration of permissions than our model provides. What to do?

Decision Node

December 21, 2023

You've decided that it's time to employ a specialized search database or service such as Elasticsearch. This leaves you with an important question: how to get all of our data indexed and available for search?

Subscribe for Updates

Exploring forks in the road of software design with a weekly newsletter.

Successfully Subscribed!
Oops! Something went wrong while submitting the form.