Musings from a Decade

So far, I have had a career in technology spanning 17 years. Recently, I completed 10 years in my current organization. I had the opportunity to work with great leaders, articulate managers, creative technical experts and incredibly hard working developers. While 10 years in an organization is a milestone, there are others who have served for many decades. In the words of the American poet Robert Frost, "There are miles to go before I sleep".  I was reflecting on the decade gone by. Here are a few musings for a fulfilling career. The Astrologer's Dilemma This is a folktale from Birbal. He was the advisor to the Mughal emperor Akbar. Birbal once had a merchant as his neighbour. The merchant's fancy was to constantly consult astrologers about his fate. An astrologer once read the merchant's palm and predicted various things. Towards the end, he also proclaimed that the all the near and dear ones would die before the merchant himself. This enraged the

When a photograph get a life

Photographs usually capture a slice of life. But sometimes, they get a life of their own too. I count a few of my photographs as my favourites. But one in particular seems to have become very popular. This is a photograph of the UK Parliament on a winter evening. I took it from the opposite bank on the Thames. It is licensed under creative commons license. Around a dozen sites have used this photograph. While some ask for permission, most of them use it along with attribution. It is interesting to see the number of topics that are linked to this photograph, ranging from education, diversity, health, news, current affairs and politics. https://www

Tech - Setup CI-CD in under an hour

I was always curious about the badges that some Github repositories sport. Largely, the badges are related to continuous integration and automated tests. I thought of exploring some of the cloud based tools related to engineering a piece of software. I was pleasantly surprised at the variety and ease of use of these tools.  To start with, I needed some code to start with. I already had Java based REST API that I use for trainings on Elasticsearch. My repository is at Github . I have integrated my repository with the following tools - Continuous Integration and Deployment - Travis-CI Code Coverage - Coveralls Cloud Provider - Heroku Depending on the type of application and programming language, all the above tools provide documentation on integration with Github. Based on the size of the code, it takes a few minutes for build, tests, code analysis and deployment steps to be executed. The application is finally deployed to heroku.  The diagram below describes the flow once a

The People's Chef

Today is the 6th death anniversary of one of the most famous chef's - Keith Floyd. He was a chef, restaurateur, author and businessman.  Image Source - Bristol Post It was in the early 1990's that satellite television took off in India. And, one of the first channels to make it's foray was the venerable BBC. Keith Floyd's TV shows like - Floyd on Spain, Floyd on Italy, Floyd on France etc. opened up new cuisines and experiences for the Indian audience. He was probably one of the first chef's who wanted to spread the joy of food among people. His energy and passion for all things food and cooking was only far too evident. In addition, he expressed an almost childlike enthusiasm for different cultures and experiences.   So, here's to you Mr. Floyd. May you have a good time wherever you are, with your trademark 'splash and a dash'.

Stuffed Bell Peppers

Stuffed Bell Peppers Recently Tastemade  app was launched on Apple TV. There are some interesting indie chefs and hosts worth watching on Tastemade. Some of the programs reminded me of England. So, this recipe is inspired from typical English ingredients like worcestershire sauce and 'sharp tasting' cheddar cheese. Contributed by  Rajan Manickavasagam . Published  09. August 2014 Ingredients Rock salt (to taste) Crushed black pepper  1 cup of cooked rice (can be left over) 1 tablespoon of port wine 1 tablespoon of worcestershire sauce (or to taste) 2 diced piri piri chicken sausages Handful of chopped fresh coriander leaves (or mint leaves) 1-2 tablespoon of olive oil 1 red bell pepper 3-4 thin slices of cheddar cheese 1 toothpick for presentation! Instructions Slice the top of a red bell pepper. Scoop out the insides of the pepper. Roast the pepper and the top in a preheated oven at 220C for about 15 minutes.  Take the pepper ou

A melange

A melange Sometimes, we get saddled with random vegetables in the kitchen. I had bell peppers, indian cottage cheese and baby corn at my disposal. Here is a paneer jalfreez with all these ingredients. Contributed by  Rajan Manickavasagam . Published  17. October 2014 Ingredients 1 teaspoon of salt (or to taste) 1 tablespoon of crushed black pepper  1 tablespoon ginger garlic paste 2 chopped red onion 250 gm diced indian cottage cheese 2-3 chopped red chilli 1/2 teaspoon red chilli powder 1 teaspoon of turmeric 1/2 teaspoon coriander powder 1/2 tablespoon of garam masala powder 1/2 teaspoon asafoetida 1 cardamom 1 cinnamon 4-5 tablespoon of vegetable oil 2 chopped bell peppers 6 chopped baby corn 1 teaspoon cumin seeds Instructions Heat oil in a pan or a wok. Add asafoetida powder and cumin seeds. Once the oil is hot, add the chopped onions, baby corn and bell pepper.  Saute in medium heat for a while. Add all the powders, ginger gar

Tech - xCloud Architecture (Part 4): At Your Service

"The way to get started is to quit talking and begin doing.", Walt Disney. Let's start developing the e-commerce platform feature one at a time. Since, services are the centre of the platform, I initially built the basic set of services required, like - product, price, category, search etc. Building Blocks Identify the key building blocks of a service. Some of them could be - Programming language to be used, in this case it's  Python . Framework -  Flask . API Gateway to provide authentication, throttling, etc. -  3Scale . Logging provider -  Logentries . Provider - The provider under the service contains the business logic. I am going to take one service as an example - search. I used two providers -  Indexden  and  ElasticSearch . I will explain in a moment why. Anatomy of a Service All logos are registered/trademarked/copyright of the respective organizations. They are shown in the diagram above for ease of understanding. Handling Ch

Tech - xCloud Architecture (Part 3): The Best Laid Schemes Of Mice And Men

So far, we have looked at the objective  and some principles . Now, to start executing the plan. The Team I now need a team and tools to start executing the plan. So, there's me and a mini-me. I am the team - product owner, designer, manager, architect, developer and support analyst all rolled into one. So far, I think we all got along just fine! The mini-me is the tools required - Acer Aspire One Netbook with 1.66 Ghz CPU, 2 GB RAM, 160 GB hard disk and a home broadband connection. Admittedly, the netbook is not the most powerful of machines. Since I use everything on the cloud, I was not too handicapped by the netbook. In terms of the software, all I used is - Node, Python, Notepad++, Git, Putty and the Appfog/Openshift command line tools. The Maneuvers It is said that, one of the reasons Napoleon was successful in his battles was the brilliant use of maneuvers. Although, he had a relatively smaller army, he used speed and flexibility to great effect. So, from

Tech - xCloud Architecture (Part 2): It's Elementary My Dear Developer

As I described in my earlier post , every component of the application needs to be in the cloud. Let's now get into the business of identifying the various cloud providers that we want to use. There are several factors to consider. Litany of Choices "When you see a web-based accounting system, the architecture of that system should scream accounting at you." - Uncle Bob . I am going to take a leaf from this quote. An application is always built to deliver a customer feature(s). And, almost always we will have constraints like time, cost, capabilities etc that we need to overcome. This forces us to prioritize the features, accept trade off's and focus on the most important aspects in the application.  The constraints also help us take decisions on Build vs Buy vs Rent. The Build here refers to building a bespoke software, Buy is buying an off the shelf software and Rent is renting a software on the cloud. On a similar note - Less critical feature of the a

Tech - xCloud Architecture: The Beginning (Part 1)

It all started in the spring of 2013 when I came across an article on how Netflix was built on the Amazon cloud. It got me thinking about what is involved in building an entire application on the cloud. For example, what implications does it have on the following - If any, does it have any impact on the application features? What impact does it have on architecture principles? How do engineering practices need to evolve? Does it make it any easier to monitor, administer and support such an application? How does one handle data and security? Lastly, what were the trade-offs? So, I started reading up on the various cloud providers. These ranged from IaaS, PaaS and SaaS providers. I also looked at how organizations were leveraging these providers.  I jotted down a few architecture principles on which to build an entire application in the cloud. All resources, tools and technologies to be based in the cloud. Use a diverse set of cloud providers to test the interoperabil