Hello. I'm Steephen.

A Software Engineer from California, USA.

QUIC- A brief history and Adavantages

QUIC is a new protocol designed for web communication, featuring built-in security and high performance. Initially developed by Google to address challenges associated with high-volume, high-throughput TCP traffic, QUIC stands out from prior existing protocols.

quic Protocols

Apache Kafka Connectors

Apache Kafka connector ecosystem is an integration layer with different systems and Apache Kafka. Connectors are categorized as sink and source connectors. Sink connectors move data from Apache Kafka to other data stores like databases and cloud storage solutions like Amazon Simple Storage Service(s3). Source connectors move data from external systems to Apache Kafka.

Apache-Kafka Kafka-Connect

Java Langauge Feature Abuses

If you can successfully compile and run, your program is syntactically correct. But if it is semantically wrong, you may be abusing the language constructs. Below I am trying to explain two of such language abuses, that I read somewhere coincidently.

Java langauge-abuse

PostgreSQL Multi-Version Concurrency Control and its impacts

On a fine morning, one of the application queries hanged forever. Ultimately the screen is frozen. The application is useless. And interestingly, the screen is interactive for some other set of queries. That confirms there is no system-wide issue. While researching, you narrow down to the specific query. One possible doubt, is the index corrupted? Analyze the indexes of all the tables part of the SQL query. Did we miss any index to deploy? Did we place the conditional columns in an appropriate order to enhance the performance? Is there any deadlock scenario behind the scene? None of them poped up...

PostgreSQL Autovacuum Troubleshooting

An Introduction to GraalVM

GraalVm is a polyglot Virtual Machine(VM) engine built using Java. It provides an interoperability runtime environment with JVM languages; guest languages like WebAssembly, Javascript, Ruby, Python, and R; LLVM supported languages like C, C++, and Rust. And on top of interoperability, it provides a high-performance platform for execution. GraalVM has several patented Just In Time performance optimization capabilities...

Software Java GraalVM

Be careful while choosing an application port!!!

When we choose a port for our application, how far are we diligent in finding an appropriate port serves our purpose? When we configure an application, we configure a port for server-side communication, but what is happening in the client socket. If you observe intermittently in production, a port conflict is happening. There are three possibilities. We will go through one after another...

Software Troubleshooting OperatingSystem Networking

How to Lead Technical Brainstorming?

If a discussion is not moving in the proper direction and end up in a time-consuming process, one possible reason for that is the complexity of the problem at hand. In that scenario, the intuitive thought process may not guide us to the lead. A deductive approach is the best tool at that moment....

Software Architecture Leadership

Integrating, Applications using Domain Language

Integrating domain language processing systems with external systems will be a challenge. We have two options in hand. Either build a tightly coupled layer in the external system which enables the communication. In another way, being arrogant and command, if you want to communicate with me learn my language...

Software Architecture Configuration

What should go within a config. file?

As part of the Agile application building strategy to build a minimum viable product (MVP), it is not rare to see, flooding configuration file with business logic dependent details. Sometimes those features may not evolve further and live forever as part of the configuration file ...

Software Architecture Configuration

SatefulSet ElasticSearch Deployment

Databases need to maintain the state in storage. While deploying databases on Kubernetes platform, we can decouple the storage layer with service layer and statically link the same storage layer with multiple database services.

Kubernetes StatefulSet ElasticSearch