Photo by Tim Mossholder on Unsplash

There is no doubt that we are living in a deeply polarized world right now. It’s ok we don’t agree with each other, as that is just part of democracy. But it is not ok if all the people live in two completely isolated silos and won’t talk to each other and see each other ‘s view. We can blame all this to the politicians, but I think we should step back and think about how the internet, especially social media, has played a significant role in this danger trend.

Internet: we reach what information we look for

When the internet just got popular back in the 90s…

Photo by Etienne Girardet on Unsplash

This article recorded how we fixed the HTTP 502 bad gateway errors with our web application.

The problem

We recently encountered an issue with our web application. The issue was first reported by our customers that our web application was getting slower and slower, and eventually down and not usable. Sometimes they could login but all the pages just stopped working properly and often hung there.

As we added a lot of new users to our application recently, our first reaction was that the system must have a bottleneck somewhere.

Our web application is a typical web application hosted on AWS. We…

Photo by Willian Justen de Vasconcellos on Unsplash

It is not easy to explain what slack is, even for the people who use slack every day. Let’s just pretend we knew what is slack, then it is not that hard to explain what is slackbot. Slackbot is a bot user that lives in the slack world to help people.

The AWS Serverless Application Model (SAM) is an open-source framework for building serverless applications on aws.

Why build Slackbot with SAM? Because the bot wants to grow up in the world without noisy servers — serverless. There are pros and cons doing so. …

Using Azure Function as Callback function

Photo by Wang shaohong on Unsplash

We have a desktop application that does the integration work between our customers QuickBooks Online application and their on-premise application. The desktop application uses C# library DesktopIppOAuth for QuickBooks API OAuth 1.0a authentication. DesktopIppOAuth uses the OWIN self-hosted web api to host a web server locally in process and have the OAuth 1.0a to redirect to a local uri so that it can receive the access token and secret.

Unfortunately, QuickBooks online API recently phased out support for OAuth 1.0. All the applications are forced to update to use OAuth 2.0. If your application still tries to use the OAuth…

Photo by Joshua Sortino on Unsplash

Azure Cloud Service is one of the earliest Platform as a Service (PaaS) offered by Microsoft Azure. Though not officially deprecated yet, Cloud Services is heading that way. Microsoft is pushing for the use of other PaaS offerings (like WebApps, WebJobs, Functions, Service Fabric etc.). If you’re building a new app, you might not want to use Cloud Services. But personally, I like the simplicity of Azure Cloud Service. I wish Azure could keep it evolving.

Azure Pipelines is a cloud service that you can use to automatically build and test your code project and make it available to other…

Photo by Lili Popper on Unsplash

Once in a while, I like to talk to my kids about how my childhood looked like. One story I am keep telling my kids is that when I was in elementary school, I had to walk about 45 minutes alone every morning to school. I lived in a rural area in south China. That was back in early 80s last century. I had to climb over a big mountain and walked through the small field paths every school day. After school, I had to walk back home on my own. I hope my story can encourage my kids. I…

Photo by JOHN TOWNER on Unsplash

Running your application in the cloud can help you avoid dealing with many hassles. For example, you don’t need to worry about the infrastructure setup, operating system patches, etc. But if something goes wrong, either caused by the bugs of your own application, or the cloud provider’s service outage, the worst thing that could happen is that you don’t know it at all until all your customers’ phone calls flood to your support team.

The AWS CloudWatch Alarms allows you to watch CloudWatch metrics and to receive notifications when the metrics fall outside of the levels (high or low thresholds)…

This story records my first time experience with AWS Serverless Application Model (SAM).


We have an on-premise windows software called MessageSyncProxy. It runs on multiple locations/computers in each customer’s company local network. MessageSyncProxy collects some real time transaction data generated by a legacy factory manufacturing application. Each running MessageSyncProxy instance pushes the collected transaction data to an AWS SQS (Simple Queue Service) queue created for each customer.

With all the collected transaction data queued in the AWS SQS queue, we need to develop an application to process the data in the queue and push the processed data to an external…

Photo by Goran Ivos on Unsplash


We have a web application. The application is for companies in the construction industry to manage their delivery tickets. The application is a modern web application built on the MEAN stack with a well designed RESTful API. The API is consumed by the in-house built web portal and the Android/iOS app. The API is also open to any third-party program for integration.

Everything looks good. More and more customers signed up to use this application. …

Hongbo Liu


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