Getting started with chat bots using Talkify

Chat bots have always seemed so complex. They process natural language from text so it must be hard right? After all, how can you make sense of loose words into computer instructions and then back? It must be hard.

Well, it is hard. Kinda. A lot has already been solved around natural language processing so the amount you have to do to get started has reduced by significant amount. Tools are already there, you just have to use them.

I used those tools and still found it to be difficult. I wanted to make the process of building chat bots as easy as getting started with web development. So, I built Talkify.

Takify is an Open Source framework for building chat bots. It is written in node.js and here’s how you can build your very own chat bot in a couple of minutes.

We’ll be building a chat bot that I like to call “sidekick”. This is a simple bot that tells you knock knock and chuck norris jokes. Continue reading

Handling file uploads in Express using multer

First of all, download and install multer.

Include the dependency.

Initialise it into a service. The command below will initialise it with default storage type (being DiskStorage) and upload destination being the uploads/ folder. Continue reading

Simplifying management of forks with npm forkpool module

Backstory

Recently, I’ve been working on a project that does a lot of heavy weight image processing. In a nutshell, a user uploads an image and then the website does a whole load of processing on that image and returns with the results. Depending on the size of the image it could take a while for it to load the results. The websites does other stuff as well so the scenario where a few users are concurrently uploading images, waiting for response while a whole load of other set of users are navigating to other parts of the website is very real. The performance was respectable, however, I wanted more. Continue reading

Gulpfile.js for vanilla AngularJS projects

Since I’ve learnt Angular, most of my front-end web applications are written in it. Its brilliant. Everything works fine, up to a point where your application has grown 10 times the size it was since you started it. At some point you’d want something to accelerate your delivery. That’s when gulp comes in.

Gulp is kinda like a build tool but for javascript based applications. It runs on Node.js and is available on npm. All you need to do is:

or if you are using a unix based application:

That gets you access to the gulp command line. Once you have gulp installed, you need to something that tells it what to do with your project. Unlike many other build tools, gulp favours code over configuration. This means that rather than writing XML or YAML files that define the tasks, you write code. This is what makes gulp unique.

So, here’s what I have. Below is my gulpfile.js that I use in most of my AngularJS projects: Continue reading

Up and running with Express (Express series 1)

For those who don’t know, Express is a web server framework that runs on Node.js. Basically, if you want to write a web application in node.js, express is one of your options. I prefer it because of its simplicity.

The quickest way to write an express application is to use the express npm module. If you haven’t got it, install it by executing:
Continue reading