May 27, 2026
I was trying out Kiro today with very low expectations as I already have been spending more than a year with a variety of agentic coding tools extensively. As my previous client was investing heavily into AI Assisted Development, I got the chance to push it to limits to understand enough about it and that was the reason for my low expectations. But Kiro exceeded them.
Read more...May 24, 2026
Over a period of time, I have started to realize that unlimitedness is an illusion. It doesn’t bring any good. You don’t get very far with anything that you got without limits.
Read more...Sep 29, 2025
Go is a very simple language. The philosophy it’s built on top of, is what makes it so beautiful. When I started learning Go, I had already mastered many languages both Object Oriented and Functional, but still craved for more language features in every one of them. I always missed a feature or two from another language when I was working on a project with a language.
Read more...Sep 26, 2025
It’s been a long time since I wrote anything here. Reason is the rise of Gen AI tools. Ever since ChatGPT came, I started to feel that the kind of articles I write are not relevant anymore. I’ll start to think about a topic, mostly technical, and then it’s actually just a prompt away. So I didn’t get enough motivation to write anything. I’m kind of having a dilemma if writing is not going to be the same anymore.
Read more...Nov 14, 2023
Couple of months back, I was invited to give a talk to the Cybersecurity students of Amrita Vishwa Vidyapeetham, Chennai by my professor Dr. S. Udhayakumar. When I was looking for topics, I zeroed down to JSON Web Tokens using Node.js as I have implemented it multiple times and having quite a good knowledge on it.
Read more...Oct 31, 2023
React is usually praised for component composition over other frameworks. But in reality Angular’s composability is hard to beat. The main reason is Directives. Smallest building block in Angular is not component, its directive. A directive can attach itself over a component/DOM element and do a small piece of logic. Now you can create a bunch of directives and you can use it in any combination over any element. One can argue React Hooks can provide the same. While hooks are a good place to host such small atomic logic, it doesn’t attach itself declaratively to a an element/component, you have to wire the props of the component/element manually to the hooks where the logic is present. That itself will create a lot of code.
Read more...Jun 19, 2022
It is a common expectation for dashboards to have draggable widgets. In this article, we are going to see how we can make a draggable layout without using any libraries. We are going to use only React and CSS Grid and make something that looks like the following image.
Read more...Jun 8, 2022
useImperativeHandle hook is an unusual hook in React, to an extent that it is discouraged to use in the React’s official documentation. React is a declarative framework and as the hook’s name suggests, it is giving a break from React’s declarative style by letting parent component call functions within the child component.
Jan 26, 2022
Imagine, you are having a component which is making a REST API call when it is mounted, to fetch data and display it. How to write Unit Test for such a component? In this article we are going to see how to write Unit Tests for such case without any third part utilities other than Jest and react-testing-library.
Read more...Jan 2, 2022
When I was reading Steve Jobs by Walter Isaacson, I came across the following line.
Real artists sign their work - Steve Jobs
Read more...
Sep 18, 2021
Discriminated Union / Sum Type is one of the common features found amoung strong typed functional languages like F#, Haskell etc. Ever since I started using them in F#, I can’t stop wondering why such an useful feature is not available on the popular languages. C# has been adding a lot of functional features over the last few years. So, we are going to achieve something close to that in C# using Records and Inheritance.
Read more...Aug 22, 2021
Imagine you are having a tree structured object as shown below and you would like to traverse through each node and print it’s name.
Read more...Aug 13, 2021
Thanks to Angular team for making it so easy to integrate Tailwind with Angular 12 and above to a point that I really thought if I should write a post for it. Finally convinced myself to document it, since there were not many good references I could find related to this.
Read more...Aug 2, 2021
Languages that came after Java, had great influence of it irrespective of static-typed or dynamic—especially the Object-Oriented features. Interfaces, popularized by Java was taken straight into other languages like C# and even dynamically typed languages like PHP! But Go has questioned every existing solution thoroughly before inheriting those features. No while loops, no do-while loops, no ternary operators, no constructors, nothing was brought in Go just because it existed earlier.
Read more...Jun 26, 2021
For a long time, I was holding myself from trying out Svelte.js just for the reason that I don’t want to wrap my head around one more framework after React, Angular & Vue. Last year, I broke my vow out of curiosity and started checking Svelte. But the fact that typescript support was not so good at that point of time stopped me from considering it seriously.
Read more...Jun 5, 2021
I was playing around with Svelte.js recently and was curious to know how easy it
would be to build a Tree component using it. It was simpler than I expected it to be
with Svelte’s recursive svelte:self feature. Let me explain how its
done.
Mar 22, 2021
Go 1.16 has come out with a feature which I waited for quite some time. With Embed we will be able to add static files into the go binary at build time. It also makes accessing the files as simple as dealing with File System APIs.
Read more...Jan 19, 2021
Imagine you have a server and you are loading some configuration for executing some business logic. You don’t want to load all the configuration when the server is launched since it will take a lot of time for it to be ready for handling requests. You have to postpone loading configuration till it is actually needed. It’s called Lazy Loading.
Read more...Jan 14, 2021
It is a common practice to store different user types in different database tables. For example, in most applications you will have an Admin user and a normal user. Though we can have all the users in a single table and discriminate them based on a column, sometimes if the fields are quite different, we would like to have different table for each type of user.
Read more...Mar 8, 2020
Sometimes we would like to postpone loading data in a component till it is actually visible in the viewport. This is handy in applications where we have lots of tables with data that should be loaded only when we scroll down. This behavior could be used in a variety of cases in different components, so we are going to make it into a reusable custom hook so that we can use it wherever we would like to.
Read more...Oct 27, 2019
Displaying parts of view based on conditions is super easy in Blade using
@if ... @endif conditions. Imagine we are storing the role information as a
string in the User model under the role field. We would write something as
shown below to check the roles in the blade syntax.
Oct 30, 2016
Pagination is one of the basic component we will need with any application. Let’s create a pagination component using Bootstrap and Vue.js, and in the course of development we will see about custom events in Vue.js.
Read more...Oct 16, 2016
This being my first SAP TechEd, my experiences are countless and still I’ll try to summarize some of the things I felt.
Read more...Jul 5, 2016
Let’s explore Vue.js further by creating a Countdown timer component which will be very useful for people to quickly put a Countdown page for the products or events website. While developing it, we will explore the features of Vue.js which makes it such a bliss to develop complicated things from the scratch without much effort.
Read more...Jun 18, 2016
Note: This article is using Vue.js 1.0. If you are planning to use Vue.js 2, go to this article
From the days of jQuery, I have been pulling in different plugins everytime I wanted to create an Autocomplete input. Later Bootstrap came with an Typeahead component and then they removed it from Bootstrap 3 and I was forced to use typeahead.js when I was developing Encollege
Read more...Jan 24, 2016
Bootstrap has become one of the basic tools to start web development. Though I’m using it for quite some time, I don’t dare to change the original look and feel due to the fear that I may mess up with the project and or spend too much time on designing. Yes! Sass makes it easy but still I refrain from changing.
Read more...Apr 3, 2015
Laravel 5 ships with Bootstrap 3 by default, but it uses Less and not Sass. Personally I prefer Sass over Less and this article helps you set up Bootstrap Sass using Bower and Laravel Elixir.
Read more...Jul 13, 2013
I have had serious problems with continuously developing and deploying enhancements to web applications in CodeIgniter. The problem is that the deployment version has different set of configurations than the development version. Usually, these are sensitive configurations like database connection settings. So even if I missed a single configuration, the result is that the website is down. This made making quick enhancements very difficult. Git helped me come out of it.
Read more...Apr 11, 2013
Windows Phone’s tile design is a haunting beauty to me. I never knew a layout of neat square boxes can impress me that much. And so I tried to implement that tile design in web using CSS and jQuery. I have tried only the Tile Flip animation which can show two different information one at the front side and another at the back side of the tile.
Read more...Mar 12, 2013
Most of us are good users of Sticky notes application of Windows which is quite a good tool for quick notes to remember. I got inspired by that and tried to create a simple web Sticky Notes using CSS3 and jQuery.
Read more...Feb 5, 2013
Today, I got the chance to read the article Don’t Put Labels Inside Text Boxes (Unless You’re Luke W). In that article, Caroline tries to address the problem of using anything inside a text box. Whether it is label or hints. This really pulled me to write this article. I don’t exactly remember when I met the first form with labels inside the text box, but since then I have been fan of labels inside text fields both as an user and designer.
Read more...Nov 19, 2012
MongoDB is the fastest growing NoSQL database. Apart from the advantages of NoSQL technology, it’s JSON querying style, easy installation makes it more preferable. In this article I’m going to show you how to save tweets into MongoDB using Java.
Read more...Oct 8, 2012
Few days ago I saw a link bearing the title ‘Monalisa using CSS3’ repeatedly in Facebook and Twitter. When I checked it out, I was totally impressed. A Monalisa picture made by just using CSS3 alone. To be more precise box-shadow property of CSS3 alone. It was done by Jay Salvat using a PHP program which he had uploaded on his GitHub. He has done an incredibly innovative work.
Read more...May 20, 2012
On May 9, 2012 the headlines were ‘58000+ Twitter username and passwords are leaked’. Twitter is one the most used social networks with 140 million active users. Such a networks security has been breached and considerably huge number of passwords along with usernames was made available on Pastebin which is a paste and share web service. As a response all those accounts hacked are deactivated immediately by Twitter.
Read more...May 14, 2012
From the early days I’m very much bothered about storing passwords in my application. After studying some cryptographic techniques I got some idea and I have been following them since then. I shared the idea which I was following in How your passwords are stored!. And I’m glad that I got a very good response and suggestion for that which totally lifted me to a new level on understanding the use of cryptographic hash functions for the purpose of storing passwords.
Read more...May 5, 2012
Twitter is the social network used very widely for promoting products, films, etc. It is loved by companies especially for marketing. Twitter API owes the biggest part in Twitter’s success. The API is providing you the ability to do every possible operation that you can do in the website through your programs. For example, you find twitter tweets in many other sites (even in this blog) and this is achieved using Twitter API. Using this API you can do a lot of innovative things similar to the viral marketing done by Warner Bros for The Dart Knight Rises.
Read more...Apr 26, 2012
Internet seems to be the best innovation from human race. The architecture of the internet remains the same for decades, but the application and use of internet has got an unimaginable growth. To be precise, from 2001 to 2011, within a span of 10 years, internet users’ growth is 528%! (Source: http://www.internetworldstats.com/stats.htm). Web is the largest application in the internet. Every one of us is active user of at least 10 websites. Last decade saw a new revolution in the name of social networking which is still not over yet. Definitely web is the big thing which is going to rule the world for few more decades (Some say mobile is the next big thing; I would like to ask them to switch off internet in their ‘smarter’ phones and say it again).
Read more...Mar 29, 2012
Necessity is the mother of invention. Computer languages are not an exception to this rule. However, there are as many as 1600 different computer languages as they say. Did all these languages have necessities? Yes. But the importance of the necessities differ. At the least it had a necessity to satisfy its own designer. When a language satisfies a big need of numerous people, it remains, others wash away or limited to particular community. Java is one such language which was designed for something and outgrown into something invincible.
Read more...Jan 30, 2012
As we have seen before, the power of bitwise operators are immense. Sometimes thinking in terms of arithmetical operators cost you lots of CPU time when compared to bitwise operators. So given a problem its obvious for us to think in terms of arithmetical solutions, but try to search for a bitwise solution and compare it with previous one. You can end up in a very powerful algorithm too. Now I wish to share one such case where the use of bitwise operator avoids the use of a loop too.
Read more...Oct 7, 2011
Most of us use numerous services available on the net such as mails, social networking services, and blogs. So it is obvious to have the question “Can a database administrator working on Facebook can get the password of my Facebook account if he wishes?”. A worthy question it is. But the answer is “No”. Your passwords are never stored as it is. (Well, I don’t know the policy of Facebook regarding this; I mention it just for an example).
Read more...Aug 14, 2011
Twitter has been famous from two or three years ago. I had not had much idea about it till two weeks back. I really wanted to check what twitter offers and so joined twitter two weeks back. It is a nice experience exploring a new service. Whenever I do explore, I try to reverse engineer that too.
Read more...Jul 30, 2011
When I started this blog, I wanted to write only about computer science but I really think that I have to express something that has been inside me for long and I think it’s the right time for that. This article is for the students of computer science or more generally students of any discipline.
Read more...Jul 23, 2011
“There are 10 kind of people, One who knows Binary and the other who doesn’t.”
In the earlier days when electronic computers was first built, inputs were given in binary using tapes and outputs were also obtained as binary. So then, the people who where using the computers had to know binary ’language’. But now, we have GBs of movies, pictures, audio, documents, text and more & more type of files that we even we couldn’t make a full list of. Do we ever know how 0s and 1s formed these things? At the least, when we start to work with Bitwise operators we should have the knowledge of how these media are represented by the binary language. In this article we will see how to does binary works with numbers and text.
Read more...Jul 12, 2011
I suddenly got an example that may help you remember the characteristics of AND, OR, NOT and XOR. Consider them as four different human individuals, with four different characteristics or behavior. Humans generally have the behavior of conveying things different from what they really heard; they may add something to the original story or hide something or even tell opposite of what happened. We have had lots of acquaintances with situations like this which would make this example unforgettable I think. Our men, AND, OR, NOT and XOR are no exception to these characters but each one having a different unique character.
Read more...Jul 10, 2011
‘Bitwise operators’, as the name says they are indeed wise enough to do anything that a computer can do. In computer architecture, we would have studied how these ANDs, ORs and SHIFTs are used to do any mathematical operation. Any basic arithmetic operation is a set of bitwise operation, which for convenience we have abstracted to a level that we forgot what is underlying. Sometimes, a lower level of abstraction is a better tradeoff to higher level of abstraction; an example is that programs written in assembly language are more efficient than those written in high level language. So we have to pierce through the abstraction to find the right things when we really need right things. Well, I think it is time to learn some bitwise tricks and improve our programming. Presence of bitwise operators in your programs identifies yourself as a quality programmer from my point.
Read more...Jul 6, 2011
First of all, I introduce myself to my fellow readers. I’m Fareez Ahamed, a person who was impressed by computers from when I was studying fifth standard (well children now are introduced to computers more early now-a-days than those days). ‘How this stuff works?!’ is always a quest for many when they are introduced to new things. I’m no exception to that when I saw what a computer can do at first. It was at our printing press long back when I was studying fifth. The first software that I remember is Adobe PageMaker 5.0, something dedicated to printing industry. It did far better than what a traditional printing technique with very large space and tons of lead typesets can do.
Read more...