Instance#3: The Launch of ChatGPT, Distributed Systems and More
Useful links worth your time
Creating new instance…
Fetching dependencies…
Instance created successfully!
Hello, this is the ProgressiveCoder Publication, and welcome to a new edition of the Instance Newsletter.
Here, you get a bunch of the latest happenings in the tech world, knowledge snippets, and links to some useful articles.
Latest News from the Tech World
ChatGPT, the conversational AI tool, launched on Friday. And it has created quite a stir. Ever since the launch, Twitter has been flooded with tweets showcasing the power of ChatGPT. As per the CEO of OpenAI, Sam Altman, ChatGPT already has 1 million registered users.
In other news, however, StackOverflow has banned ChatGPT-generated answers. This is because users are trying to create answers to coding questions which they then post to StackOverflow without verifying whether the answer was correct or not. Sounds pretty dangerous!
Another recent event that transpired a few days back was the meeting of two titans. Yes, Elon Musk and Tim Cook clarified their misunderstanding with regard to advertisements on Twitter’s iPhone app while strolling around the lake on Apple’s campus. Can all world conflicts be resolved this way?
Spring Framework version 6 has launched. Along with this, we have also got Spring Boot version 3. Here’s a nice interview that Josh Long (Spring Developer Advocate) had with the team at InfoQ about Spring and Microservices Development. Hope you find this useful.
Term of the Day - Distributed System
Famous researcher B Clifford Neuman describes distributed systems (in his 1994 paper) in pretty simple terms:
A distributed system is a collection of computers, connected by a computer network, working together collectively to implement some minimal set of services.
I find that the above definition is correct but not obvious. It does not reveal a few important things.
In my opinion, Distributed Systems can have multiple dimensions depending on your perspective.
From a physical perspective, a distributed system is an ensemble of physical machines communicating over network links.
From a run-time perspective, a distributed system is composed of software processes that communicate via inter-process communication (IPC) mechanisms such as HTTP. These processes are hosted on physical machines.
From an implementation perspective, a distributed system is a set of loosely-coupled components (known as services) that can be deployed and scaled independently.
Why are these definitions important?
They help us fit distributed systems into our specific world view whether it is infrastructure, operations, or development.
But there’s another definition I like even better. It was given by the famous computer scientist Leslie Lamport.
A distributed system is one in which the failure of a computer you didn’t even know existed can render your own computer unusable.
A tweet that brought a smile to my face!

Seems like I’m not the only one suffering from conference calls!
Links worth your time
One of the biggest challenges in building microservices is determining the boundaries of various services. Domain Driven Design helps design programs that better represent the real world in which they operate. In this post, you’ll learn how to leverage DDD concepts while designing services: Why build Microservices with Domain Driven Design?
Node.js event loop seems confusing at first glance. However, it works on some pretty well-defined rules. Once you understand those rules, you can do wonders with your program. In this post, you get to know about every phase of the event loop with a practical code example: A Deeper Look at Node.js Event Loop
Sidecar pattern is a design approach in which the application responsibilities are segregated into separate processes. In other words, we can add more capabilities to an application without adding third-party components. In this post, you’ll get to know about the very useful sidecar pattern, its applications, and a sample implementation: Implementing Sidecar Design Pattern with Kubernetes
That’s all for this time. Stay tuned for the next edition of the Instance newsletter!
Happy Programming!
If you enjoyed this newsletter, consider sharing it with friends and colleagues.
You can also connect with me on other platforms:



