Microsoft Bot Framework Part 3: Connect to channels

In the first two parts we built a bot using the Microsoft Bot Framework SDK and registered it in Azure. In this third and final part we’ll consume the bot using three of the available Bot Framework Channels: A simple chat component on a web page, SMS text and a fully custom Node.js application.

Read more »

Microsoft Bot Framework Part 2: Build a bot with Bot Framework SDK

In the first part, we created an Azure Bot registration and connected to a demo bot application. In this part we’ll swap out the demo bot for one we’ve built using the Microsoft Bot Framework SDK.

Read more »

Microsoft Bot Framework Part 1: Create an Azure Bot Resource

In this part, I’ll register and configure a bot with Microsoft Azure Bot Service. It might seem odd to start here rather than going straight into the application code. However, getting this step out of the way gives us something simple to play with that works end to end.

Read more »

Exception handling in ScheduledExecutorService

Java’s ScheduledExecutorService allows you to schedule Runnable tasks without having to worry too much about creating Threads. But how do we handle this exception? We have a few options.

Read more »

The epoch was an hour late

On the moment that is represented as zero in Unix, C, Java and so many other systems, Big Ben did not strike twelve. At midnight on the 1st January 1970, Big Ben struck one.

Read more »

Execute Around idiom in Java

The Execute Around idiom is a pattern that allows you to wrap an action with some standard setup / tear down steps. Examples might include: Execute within a lock: acquire the lock, do the action, release the lock Resource handling: acquire the resource, do the action, close the resource Execute as a user: switch to read more »

Reverse order a Stream in Java

How do you reverse order a Stream in Java? There’s no obvious Stream.reverse() method. Is this an oversight in the API? Is there a workaround?

Read more »

Private DNS for Native Windows Docker Container

Docker Windows containers have a number of shortcomings, particularly around networking. One serious showstopper is that it doesn’t use the DNS of its host server.

Read more »

Initialize a Windows container with an entrypoint script

A popular Docker article describes a pattern to initialize stateful container data at runtime. The example uses a Shell script to run the initialization and then pass control to the container’s main command. We can use the same pattern to initialize a Docker Windows container.

Deploying to Google Kubernetes Engine

Previously we looked at building a Spring Cloud Data Flow on Kubernetes. As a follow up, we’re now looking at deploying to Google Kubernetes Engine. The great thing about Kubernetes you use exactly the same commands to manage a cluster on your laptop as on a server or cloud compute platform. Google has first class read more »