A fundamental reason to use a framework to write a chat bot is so you don’t need to do it all yourself, specially, do it all over again if you want your bot running on a new channel.

However, once in a while, you might find yourself needing to do something very specific to a particular channel, maybe you want to get that receipt template rendered just the way you want to, or maybe you want to use a native functionality of Skype - whatever it might be, here’s how you could do it, when using Bot Framework.

Continue reading

Microsoft’s Bot Framework is a set of libraries (you can choose between C# and JavaScript) and services that let you author chat bots for different platforms, like Facebook’s Messenger, Skype, What’sApp and others - based on the premise that most the code you write can be shared between those different targets.

On the C# side, one limitation, until recently, was that you could only run it on ASP.NET. That’s in the past now. Recently a pull request sent by Yegor and I to, add support to ASP.NET Core, was merged into the BotFramework’s develop branch!

Continue reading

Recently I’ve been working on a Visual Studio extension to automate the tedious parts of code authoring at work. It turns out that there is a lot of knowledge out there, but quite spread. Here’s my try to get a somewhat short, end-to-end tutorial on how to create a new Visual Studio extension, with Roslyn, parse some code and then generate some more.

I’ll assume you know nothing about Visual Studio extensions and Roslyn, but, at least, install Visual Studio SDK first.

Continue reading

Javascript modules have been around for a while, and there are plenty of good reasons why to use them, instead of writing code directly in the global scope.

However, you might find yourself working on a legacy piece of code that was written without taking modules into account and considering what to do to start refactoring it into a module based pattern, like AMD or CommonJS. Well, that was my case.

What I wanted to do was to take a big, monolithic library and break it incrementally into smaller modules. So the initial idea was to take a few functions, wrap them in a module, load the module back into the global scope and expose the module functions back through the library as to avoid breaking changes for its consumers.

Continue reading

Finally I got the blog setup with an HTTPS endpoint on Azure. I thought I would write up on the points that weren’t that straight forward.

Get a free SSL certificate

I used Let’s encrypt to generate me a free SSL certificate for the blog. It will provide you with a domain-validated certificate, which only vouches for the domain identity (good enough for a blog, if you ask me).

To issue a certificate to a domain, they will challenge you to prove that you control the domain. They generate a string and request you to set it up as a DNS TXT record or as a page in your web server.

Continue reading

Author's picture

Andre Esteve

Curious about this picture? These are Tulipa gesneriana, red tulips. This picture was taken on the northwest coast of the Washington state, and then a voronoi blur applied on it.