Jan 28, 2018

HTTP to HTTPS Migration, WordPress and SEO

Before I start this article, I would like to ask one question to you, How many HTTPS links do you see in first page of Google search result? Generally, I get more than 50% for my search queries and major top links belong to HTTPS. It is self explanatory how important HTTPS and SSL is. As SSL is mandatory for safely processing transaction e-commerce website, but here I am not going to talk about security and safety, my concern is SEO. The web is moving toward using HTTPS encryption by default and it is encouraged by Google with announcement HTTPS as a ranking signal in 2014. Chrome and Firefox browsers started to display warning for HTTP (Non secure) websites. So you decided to move on HTTPS. Hold a minute and see the challenges. you will get many examples on Google saying huge drop in traffic after moving HTTPS if not implemented properly. So you must aware of the challenges. In this post, we will move a WordPress website to HTTPS, Setup free SSL and update dependencies to meet SEO guidelines. It is assumed Apache server is used in Ubuntu server.

Jan 15, 2018

Azure Functions + Cognitive Services: Automate Image Moderation

Generally, User submitted images (profile pictures, social media posts, and business documents) are needed to be moderated to protect business and quality. If a large number of images are submitted in an application then manual moderation is time consuming and is not instantaneous. This post explains how to automate image moderation using Azure functions and Cognitive Services. Automated moderation applies machine learning and AI to cost-effectively moderate at scale, without human involvement.

Dec 2, 2017

How to Load Disqus Comments on Click

On searching Google, I got many articles on this but didn’t find any way to do if official Disqus comment system WordPress plugin is used. So, decided to write on it. This post explains how to setup Disqus on your website to load on-demand (on click on any button or link) and not automatically. It is assumed you’ve registered your website with Disqus before get started.

Aug 15, 2016

Generalize a method to read any master table with C# and Dapper

On a web page or application form, it is common to have different master data like Country, State…etc. available in dropdownlist, listbox or any other control. It is needed to read all master data from database and bind to proper controls. This post explains different ways to read master tables with C# and Dapper.

Aug 15, 2016

ASP.NET Core Identity: Allow Login with either Email or Username

Do you want to allow user to login with either Username or Email address? ASP.NET Identity uses Username for Signin verification and In default Core template, Email is used as Username. In this post, we will change ASP.NET Core Identity setup to allow both Username and Email on login.

Assumptions:
1. Username is unique for each user. It is either input by user or generated by application on registration.
2. No @ symbol allowed in Username.

Jul 17, 2016

ASP.NET Core MVC: Enums with Select TagHelper

In this post, we will see how to use select tag helper in ASP.NET Core MVC and how to bind select tag helper to model data or enum values. The following environment is used for this post:

ASP.NET Core 1.0.1
Dapper 1.50.2
Visual Studio 2015 update 3

For the demo, let us assume we have following Department enum

Jul 17, 2016

Node.js: Simple TCP Server & Client and Promisify the Client

In this post, you will see an example of simple TCP server and client in traditional javascript way and in ES6 way. Node.js has net module which provides an asynchronous network API for creating stream-based TCP or IPC servers and clients. We are going to use it to implement TCP server and client. This post is updated with Node v6.11.2.

Jul 17, 2016

PostgreSQL Enum, C# and Dapper

Error: column "Gender" is of type enum but expression is of type text.

Are you getting this error when you are using enum datatype in PostgreSQL database? This blog post explains how to fix the error with C# and Dapper. The following environment is used for this post: