Setting up your own VPN server with OpenVPN in Azure

I recently learned how to set up my own VPN server, and in this article I share those learnings. The server I set up is an OpenVPN Access Server. All the resources are provisioned from Microsoft Azure’s Portal UI. I chose Azure to host these resources because it is the cloud platform I am most…

What is cloud?

I want to talk about cloud. Everyone seems to have heard about it, but not everyone understand what it means. In my opinion, the essence of cloud is resource aggregation, and the two pillars making it possible are the ability to coordinate large-scale resources, and the division of resource’s ownership and usage.

ScribeX: deliverable and report

After working on ScribeX throughout the semester, and focusing my energy on this project in the past two weeks, I have finished the deliverable (web app) and report of this project. You can find my report on this project here – and please do! It is a good report 😛

I see your OCR and raise you more Machine Learning

Since school started in September, my time and energy has been mostly devoted to it. I have been dedicated to write codes for assignments rather than “cooler” projects. But this is about to change. Yesterday my project proposal for COMP 400, a course titled Honours Project in Computer Science at McGill, got approved by my supervisor, Prof….

Dr.Spider is here!

I have been spending the past week and half working on my new project, Dr.Spider. This is a Java web application used to detect invalid links in a website. Here is a live demo. site migration

Recently you may encounter 404 error messages when attempting to visit or These errors are caused by a site migration, and DNS cache in different DNS servers may go back and forth several times before becoming stable. See you soon on my new web server!