Image for post
Image for post

In a wonderful keynote presentation, Andy Jassy stressed over and over on the importance of reinventing yourself. Based on Gartner’s statistics, he pointed out that very few companies have ever stayed on top. And this is because they stop re-inventing themselves.

Aptly said, “re-invent when you can — not when it is necessary”. Re-invention should be a culture and a way to go, and not a fallback solution. He stressed on a few patterns and anti patterns to re-inventing.

  • You cannot fight gravity. Anything will go down unless you pull it up. …


Image for post
Image for post

A web application often needs a central counter. We have several simple use-cases like the member id for a registration application. Or the amount collected on a sales application — there are many that we all have seen. We have to make sure the concurrent updates do not clash, and the no data is lost in the process. This problem increases further when our application scales larger on the cloud — with millions of concurrent users.

It is best to avoid such a use case — in large scale applications. It is always advisable that we use a design that does not need an atomic counter — for example using UUID instead of an increasing number. But there are times where we just need the counter. When I found myself in such a situation, here is a solution that I used. It is based on API Gateway — Dynamo DB integration. …


Image for post
Image for post

Any decent web application has to communicate with users on multiple levels. Simply displaying information is not enough, web apps should also be able to send emails, SMS messages, and more, to ensure good user engagement.

The PHP Mailer is a full-featured email creation and transfer class for PHP. It is an open-source library — available on Github — that is easy to install and even easier to use. We can use it in a web application to easily send out emails using a configured SMTP server.

This article walks through the steps for using the PHP Mailer to send emails using AWS SES, as well as Gmail. …


Image for post
Image for post

LAMP (Linux, Apache, MySQL and PHP). This has been a winning combination for decades, and is widely used even today. These provide for all the required layers for a high performing full stack web application. It is good to have LAMP server ready on your OS, for rapid prototyping and for running common utilities.

The installation process requires independent steps for installing each of these components.

Apache

The Apache HTTP Server is simple to install. It is available in the Metapackage apache2. So it can be installed directly using the apt command.

sudo apt install apache2

This installs and starts the httpd service — that listens on the port 80, for http requests. You can configure this further using the config file — that is well documented and intuitive. …


Image for post
Image for post

SES (Simple Email Service) is, as the name suggests, a very simple service to enable programmatic access to sending and receiving emails. Here is a simple step by step guide to do that in Python — using the Console, AWS CLI, AWS Boto3, as well as a simple Vanila Python script.

Choose the one you like and add it to your own application.

Prerequisites

Of course, the first and foremost requirement is, an AWS account. If you are reading this blog, I am sure you already have it. If not, please go ahead and create one. …


Image for post
Image for post

Most Linux distributions come with a built in package manager. The applications that can be installed by the package manager are restricted and limited by the community maintaining the packages. Because of this, we cannot have the latest versions of several edge driven Open Source applications. Python is one of them.

The latest version on Amazon Linux is Python 3.6, not 3.8. We need some way to install the latest. This is what I did when faced with this problem. You too can upgrade the Python on your machine.

Download the tar ball

Python does not give a standalone binary executable for Linux. But, we can build it for ourselves — from the source code. Don’t worry. It is not as difficult as it sounds. Just follow the instructions below, and you should be done in less than 15 minutes. …


Image for post
Image for post

Back in Nov 20014, Lambda functions brought in a revolution in the world of cloud computing. That introduced us to serverless computing in the true sense. The concept of independent pieces of computation that are fast and easily affordable, provided a new paradigm.

Independent computing units were great. But soon, people realized that pieces of their code were really not independent. There was a lot that they needed to share. We need some common data structures, and utilities across the application. How do we provide them in Lambda functions?

That led to some duplication of code. People found innovative ways of working around this — by having a unified code in one place, that is configured to deploy into several different units. So the same code was deployed into different lambda functions. That did work to an extent. …


Image for post
Image for post

FaunaDB is one of the most popular upcoming databases on the cloud. It provides amazing flexibility and scalability.

It can be used as an OLTP database with distributed ACID transactions, or as a document database or a simple Key-Value based NoSQL. It includes support for enterprise features like configurable data retention and hierarchal multi-tenancy.

Moreover, FaunaDB does not bind you to the cloud. It is available as a managed cloud service or as a downloadable JAR, machine image, or container — that you can run on premise.

FaunaDB Features

FaunaDB provides extreme flexibility, allowing you to tweak as per your requirements. We can use it as a traditional relational database, as a key-value, document based, or graph database. …


Image for post
Image for post

Tired of the irritating bloatware on the Xiaomi phones? Not just irritating, it is scary when those apps demand irrational permissions. Like why should the notes application need permission to make phone calls? And why should the File manager want access to internet? Why does the so called security app pop up again and again, asking permission to do anything and everything? Is it really securing my phone? Or sealing my data? And what exactly is that msa, hanging out in memory?

It is true that Xiaomi is a reputed company that may not indulge in lowly practices. But.. You never know. I do not feel comfortable when I know there are Chinese apps on my phone, messing around with the phone. …


Image for post
Image for post

AWS has a range of AI-specific services that help expedite use of AI in our cloud based applications. With these in place, a developer can focus on the business logic, letting Amazon take care of developing perfection in the AI models.

Textract is an AWS service that helps us read text out of an image. It is capable of handling complex images — all at an API call. That leaves the developer free to focus on the business logic rather than struggling with algorithms.

Let’s dive in, to get a glimpse of the Textract service. There are two ways to access Textract — through the Console and through the API. Of course, the API gives us programmatic access, making things really cool. Let us check out either of them. We start with the console access to get a feel of what is going on, then we jump into the code to enjoy the real power of Textract. …

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store