How to setup SoftEther VPN server on Ubuntu into Google Cloud Platform

VPN doesn’t need much intro in this age but a basic definition is:

A virtual private network (VPN) extends a private network across a public network, and enables users to send and receive data across shared or public networks as if their computing devices were directly connected to the private network.

Meaning you can browse privately without prying eyes on connected public/private network. Or by pass GEO restrictions.

In this tutorial, we will be using Google Cloud Platform (GCP) trial account to setup up a VM (Virtual Machine) that will contain our VPN server. You can sign up for a trial account or use any existing subscription.



Creating Follow-up intent for Recipe bot

In recipe bot post, we created a bot that helps you find a recipe for a food item. Obviously, there are many ways you can make a certain dish and there are many recipes available for the same item. We will handle that scenario here and let bot give user more options using Follow-up intents. introduced Follow-up intents recently ( in March 2017) and it’s a great way to organize your intents. Read more about it at their blog.

We will create a new follow up Intent of type “more”, show me more recipes, under our Recipe-Search Intent. So hover over parent intent, Recipe-Search, and there will be an option to create a follow-up intent. Choose “more” from the drop-down.

You can see it grouped under parent intent.

You will not have to, almost, set up any thing in this intent apart from hooking it up with WebHook from Fulfillment section. It will be pre-populated with predefined user inputs. Of course, you can add more customized user inputs.

The good thing here is that you don’t need to setup contexts, as they are automatically setup for us. However, we will need to add the FoodItem param to be passed down to our hook.

Set it a new param named “FoodItem” associated @FoodItem entity and value as #FoodItem.FoodItem ( #FoodItem is our parent context).


Don’t forget to Check “Use Webhook” under fulfillment.

Our webhook already randomize the recipes so we don’t need to customize it. Every time, you say “more”, there will be a new recipe.

Here is a screenshot of this bot working with Telegram:


Fake Rest server using .net and Json

I put up a fake REST server some time back for testing REST calls. It supports GET, POST, PUT, DELETE etc and currently has few Datasets to play around. It’s quite handy when you would like to test a REST client you developed and you need a handy REST server rather than developing your own.



Make Recipe bot smarter and do some small talks

In my previous post, we integrated the recipe BOT with Telegram. At the moment, the BOT is limited to only few Food Items. What if we wanted the BOT to learn by itself that an item is a food item. After all, it is supposed to be an AI.

For this purpose, API.AI provides an option called “Allow automated expansion” for its entities. Enabling this will allow BOT to learn new food items.