Bearer, pop the tokens

In modern web architectures, a security token is used to grant access to a protected resource. It typically is a string of random characters that is generated by an identity/authorization server in response to a login/identification request. Bearer tokens are a type of security tokens - one that has gained a lot of popularity due to the introduction of the OAuth2.0 standard. The name “bearer token” comes from the fact that the token can be used by anyone who has it. This is in contrast to other types of tokens, such as proof of possession (PoP) tokens, which can only be used by the specific client that was issued the token. If the PoP token is stolen, it cannot be used by anyone else.

Read More

Transformers - Age of ChatGPT

A transformer model is a neural network architecture that can automatically transform one type of input into another type of output. It was first introduced in the paper “Attention Is All You Need” by Vaswani et al. (2017). Transformer models are distinguished by their use of self-attention, a mechanism that allows them to learn long-range dependencies between input and output sequences. This makes them well-suited for tasks such as machine translation, text summarization, and question answering.

Transformer models are typically composed of two parts: an encoder and a decoder. The encoder takes the input sequence and produces a sequence of hidden representations. The decoder then takes these hidden representations and produces the output sequence. The encoder and decoder are both made up of a stack of self-attention layers. Each self-attention layer takes the hidden representations from the previous layer and produces new hidden representations that are weighted by their attention to each other. This allows the model to learn long-range dependencies between the input and output sequences.

Read More

Load Balancing - A Balancing Act

Load balancing is a technique used to distribute network or application traffic across a number of servers. Load balancers can be used to distribute traffic for a variety of applications, including web servers, databases, and file servers. They can also be used to distribute traffic for different types of traffic, such as HTTP, HTTPS, and DNS. Load balancing is important because it helps to improve the performance, reliability and security of applications. By distributing traffic across multiple servers, load balancing can help to prevent any single server from becoming overloaded. This can improve performance by ensuring that requests are processed quickly and efficiently. Load balancing can also help to improve reliability by preventing a single server failure from taking down an entire application or website. Finally, load balancing can help to improve security by making it more difficult for attackers to exploit a single server.

Read More

Spring Boot for a .NET Brain - Same Job, Different Dialect

For years my muscle memory has been C# and ASP.NET Core. Controllers, middleware, IServiceCollection, appsettings.json, NuGet, ship it. That is still how I think when nobody is watching. Lately the day job is pulling me into Java land — Spring Boot, Maven, a different IDE, and a package namespace that used to be javax and is now stubbornly jakarta.

I am not rewriting my career overnight. I am learning the dialect so I can read the codebase, review a PR without guessing, and stop treating the Java services on our map as black boxes. If you are a .NET person staring at Spring Boot 3 for the first time, this is the cheat sheet I wish someone had handed me on day one.

Read More

Mesmerising Mountains - Our trip to Gangtok & Darjeeling

This is a guest post from my daughter

Our trip to Gangtok started with a lot of excitement and anxiety. Our cab driver was late to pick us up from home, so we had to rush to the airport. At the airport, we met Dipu uncle and his family, who were also going to Gangtok with us. We boarded the flight to Bagdogra just in time, after a confusion with change of gates at the last moment by the airlines company. The flight was smooth and we enjoyed the view of the mountains from the window. We landed in Bagdogra ahead of time and collected our checked-in bags. Since Bagdogra is a military airport, we were asked not to take any pictures in the airport. After landing in Bagdogra, we took a taxi to Gangtok. On the way, we stopped at Santa Banta Dhaba, where we had some delicious breakfast. The drive was very long, about five hours, but we had fun chatting along the way. Finally, we reached Gangtok and checked into our hotel – “The Muscatel Grand Silk Route”. The hotel was a nice and comfy, but the road leading to the hotel was anything but. The 200m of the road from MG Marg to the hotel was a steep downward section with a shard hairpin bend included. Anyone who learns to drive in Gangtok is surely an expert!

Read More

Crossing the Bridge - Challenges of transitioning from an Individual Contributor to Management Role

Many IT professionals dream of one day becoming a manager. After all, managers have more responsibility, more opportunities for growth and often earn more money. But not everyone is prepared for the challenges and trade-offs that come with this career move. The reality is that moving from an individual contributor (IC) role to a management one is hard and it requires you to make sacrifices and step outside your comfort zone. There’s a reason that some engineers hesitate to accept or pursue management roles, even when part of them wants that role. As somebody who has made that transition, here are some of the challenges that I faced.

Read More