Web & AI: Lessons from Web Apps for the coming AI Era

In the rapidly evolving world of technology, few innovations have been as transformative as the internet and generative AI. From the early days of the web, when accessing information meant waiting for static pages to load, to the present era of conversational AI, the journey has been marked by groundbreaking developments.

The advent of web applications ushered in a new era of how we interact with software and services. Rather than installing programs locally on individual machines, web apps enabled accessing applications through a web browser over the internet. This fundamental shift democratized access to software and catalyzed new ecosystems of apps delivered as services.

Read More

Impostor Syndrome : Am I good enough?

As software developers, we are driven by a passion for creating innovative and impactful solutions. We dedicate ourselves to mastering new technologies, frameworks and methodologies, pouring over lines of code, testing and iterating until we are satisfied with the result. However, despite our best efforts, many of us struggle with a nagging sense of self-doubt. We feel like we are just pretending to be experts, that we are just winging it and that someone will eventually discover our lack of expertise.

Impostor syndrome, also known as impostor phenomenon, is a psychological phenomenon where individuals doubt their abilities and feel like they are just pretending to be competent. Despite their achievements, they feel like they are just lucky or that someone will eventually discover their lack of expertise. This feeling of inadequacy can be paralyzing, causing individuals to doubt their skills, fear failure and even avoid taking risks.

Read More

Managing Kubernetes using Rancher

According to kubernetes.io, Kubernetes, also known as K8s, is an open-source system for automating deployment, scaling and management of containerized applications

Kubernetes is the defacto container orchestration platform today. It is a powerful tool that can help you manage your applications more efficiently and reliably. Kubernetes uses a declarative approach to configuration, which means that you define the desired state of your application and Kubernetes will work to make sure that the actual state matches the desired state. This makes it easy to deploy changes to your applications and to scale your applications up or down as needed.

However, managing kubernetes can be a nightmare. It has a steep learning curve and has a lot of features, which can take some time to master. While there is the official kubernetes dashboard, in my opinion Rancher by Suse, is the preferred tool for most administrators. The real power of Rancher is in its ability to manage multiple kubernetes clusters, while providing a single pane of glass for all administrative tasks.

Read More

The Art of Debugging

One of my strengths at work is debugging/troubleshooting technical issues. I have been told that I have a knack for finding and fixing problems that others find hard to solve. Many people come to me for assistance when they encounter difficulties and I often am able to give them effective solutions or workarounds that allow them to continue their work. This is an ability that has come with a lot of practice and experience in dealing with various technical challenges. There are a few core ideas that underpin these abilities, some of which I try to enumerate below

Read More

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