Streamline your system with the MVC model

You know the local grocery shop on the same street as your home. There is one shopkeeper, also the proprieter, who takes care of business. You go in and he smiles as you greet each other. You tell him what you want. He personally goes to the shelves and brings the stuff back to you. If it isn’t available, he’d tell you that too. After all the items you wanted are in your shopping bag, you hand the shopkeeper his due money, which he takes with a smile. After greeting each other once again, you leave.

This shopkeeper has it easy, even though he does all the work by himself. This is because he has simplified his business by making sure that he serves a small community. He has inventory that he can count on his fingers and only enough customers that he can personally deal with. What if he were to take orders over phone too? He’d have to manage delivering those items too. What if he were to serve customers from the entire city? More work for him. Very soon, that friendly smile on his face will disappear and he will feel an unquestionable need to split his role at the shop to multiple persons he can employ and manage. Continue reading “Streamline your system with the MVC model”

How agile is your project: Part 2: Scrum and Kanban

In the last post, we saw what Agile methodology is and its manifesto. We saw an example of how Agile can be used by a tailor Bharat to sew a shirt for a customer Aditya. While we talked about Agile through a story, there are formal ways of planning and keeping track of projects using Agile. Two of them are Scrum and Kanban. Continue reading “How agile is your project: Part 2: Scrum and Kanban”

How agile is your project: Part 1

Technology is always riddled with jargon. No sooner have we mastered one jargon term that another twenty head our way. It is just impossible to keep track of all of them. However one jargon has been flying around for too long now and very few people are actually able to make good sense out of it. That jargon term is ‘Agile’. This term is so often used nowadays. Every day you will come upon a company that announces that they have adopted Agile methods. But ask them what they mean and they will not answer in simple English. That is what I want to do in this post. Continue reading “How agile is your project: Part 1”

Putting traditional APIs to REST

In the last post, we saw how every company is building an API for its services. Other companies can then access the services in their own apps. This builds an ecosystem around the company’s services and the company builds both its reputation and its business. But you will see that companies are now building ‘REST’ APIs. REST stands for REpresentational State Tranformation. It is a clunky, overly technical term that even those from technology fail to understand, let alone hope to build an API which is ‘REST-compliant’. In this post, I will completely dejargonise the term and explain to you what it means by taking a very common activity: Reading a book, inserting bookmarks and marking with a highlighter.

Continue reading “Putting traditional APIs to REST”

Understanding API

Almost every big company allows its data to be accessed by apps made by others. Facebook allows you to use your timeline on your own website. So does Twitter. On the other side, both services allow data from other sites to be shared on their timelines. You can make mobile apps that access the details of a user if his/her Facebook account is linked with your app. In fact, so many apps do not use their own login system, but rather use a service like Facebook, Google+ or Twitter to manage sign-up and login. How is it possible for you and so many other services to integrate so seamlessly with these world-renowned services? It is because these services provide a way to connect to their system and fetch and modify their data after sufficient authentication. This way of connecting to a service from another service is possible through a system called an Application Programming Interface (API). APIs have evolved rapidly and today it is possible to make connected, flexible and easy-to-integrate services using REST APIs. In this post, we will understand what an API is. Continue reading “Understanding API”

Make your data more context-aware with JSON-LD

Over the last few years, you would have noticed that GMail got smarter. If an e-mail is about a flight ticket, then GMail shows a short summary with the flight number, destination, timing and seat information. It will also offer to create a reminder for when you should leave based on your location relative to the airport. For an e-Commerce purchase, there is a summary in an invoice format, showing the item particulars and the price. How does Google know that a particular mail is about a certain topic? Has Google gotten so smart with language processing that they understand the context from mail content? Not only GMail, but even Google Search does smart things like automatically showing nutrition info when you type in the name of a food item. Continue reading “Make your data more context-aware with JSON-LD”

What you MUST know when you start your own website: Part 2

In the last post, we saw that to build your own website, you need: a domain name, a machine to host your content and a record that maps your domain name to the machine. We saw that instead of building your own server machine, we hire machines from a hosting company. We used an analogical story about a company that builds shelves of racks and leases it to whoever wants to use them. We also mentioned that hosting companies offer machines at different levels of readiness based on your requirements. These different levels of readiness are called hosting plans. In this post we will see which hosting plan suits which type of website. Continue reading “What you MUST know when you start your own website: Part 2”

What you MUST know when you start your own website: Part 1

So, you want your own website? You may probably have talked to a few people who are hosting their own website or to a few experts in the field. They might have bombarded you with phrases like, “First, get your own domain”, “You can opt for ‘self-hosted’ or ‘white-labelled'”, “Dude, don’t go for WordPress, Drupal is light years ahead!”, “Do you want a ‘static’ website or ‘dynamic'”?

Before you know it, before you have even started to take any action to build your website, you are trapped in the paralysis of making sense of jargon. Fear no more. In this post, I will try to speak human language and explain the terms that are necessary for building your own website, so that you can approach vendors, armed with a little more know-how. Continue reading “What you MUST know when you start your own website: Part 1”

Making India cashless

November 8 2016 was a historic day for India, when Prime Minister Narendra Modi took a bold and swift step, demonitising the highly circulated Rs.500 and Rs.1000 currency notes. Encouraged by the government, customers and merchants are looking for ways to exchange money without using cash. The change is gradual, but is headed the right way. Megacities like Mumbai, Bangalore and New Delhi have jumped at the chance and enabled plenty of businesses to go cashless. Second-tier cities like Pune, Indore and Coimbatore are slower, but are surely getting there one business at a time. Continue reading “Making India cashless”

A newbie’s checklist to buy a computer

It’s inevitable once every three years or so. Everyone goes through this. Gets a computer. Enjoys the ease of use it brings. Wants more out of it. Installs as many applications as he/she can. Computer starts behaving overloaded. The pace of software evolution and the latest software’s hunger for more memory, hard disk space and processor is insatiable. Your once shiny new and state of the art machine behaves like a dinosaur. With wear and tear, some components start failing. On an average of three to four years, it is time to buy a new computer again. Continue reading “A newbie’s checklist to buy a computer”