To my followers and others who end up here due to my past blog posts: At the end of 2019, I moved to my own blog at www.mikenikles.com.
Check out the architecture of my new blog.
For updates, please follow me on Twitter.
👋
Visit http://www.mikenikles.com for my latest blog posts.
This post is part of a series where you can learn how to develop, monitor (and later debug and profile) a serverless chatbot (for Hangouts Chat). Please refer to the other posts linked below for context.
Congratulations again, your first bot is deployed and ready to be used. Time to rest… well, not quite. It’s time to learn a few more Google Cloud tips & tricks to make sure the chatbot runs smoothly.
Let Google Cloud notify you when errors occcur. …
Visit http://www.mikenikles.com for my latest blog posts.
This post is part of a series where you can learn how to develop, monitor (and later debug and profile) a serverless chatbot (for Hangouts Chat). Please refer to the other posts linked below for context.
Lastly, users need to be notified of their reminders. This is where Cloud Scheduler comes in. It publishes a message to a Pub/Sub topic every 60 seconds, that triggers a Cloud Function which looks for reminders to send. If it finds some, it follows the same pattern as described earlier where a message is published to the reminder-bot-messages-out
Pub/Sub topic, from where another Cloud Function picks it up and sends it to the Hangouts Chat API (we already developed that 👍). …
Visit http://www.mikenikles.com for my latest blog posts.
This post is part of a series where you can learn how to develop, monitor (and later debug and profile) a serverless chatbot (for Hangouts Chat). Please refer to the other posts linked below for context.
reminder-bot-messages-out
Pub/Sub topic and the reminder-bot-sender
Cloud Function (PR #15)This is very similar to step 3 & 4 earlier, let’s get right to it:
reminder-bot-sender
service: npx lerna create reminder-bot-sender
. Keep all default values.packages/reminder-bot-sender/lib/reminder-bot-sender.js
…Visit http://www.mikenikles.com for my latest blog posts.
This post is part of a series where you can learn how to develop, monitor (and later debug and profile) a serverless chatbot (for Hangouts Chat). Please refer to the other posts linked below for context.
NPM: First things first, let’s initialize an npm package in an empty git repository with npm init
.
Lerna: We use independent mode and initialize the monorepo with npx lerna init --independent
. …
Visit http://www.mikenikles.com for my latest blog posts.
This post is part of a series where you can learn how to develop, monitor (and later debug and profile) a serverless chatbot (for Hangouts Chat). Please refer to the other posts linked below for context.
A few months ago, I started to use a Pixelbook. Since then, I’ve also used Google’s G Suite collaboration & productivity apps extensively, including Hangouts Chat. At the time of writing, there is no native reminder feature and I decided to build a Reminder Bot. This series of blog posts explains how to do that, but the concepts and architecture can be applied to any chatbot, including Slack bots, Slack slash commands, Facebook Messenger bots, etc. …
Visit https://www.mikenikles.com for my latest blog posts.
I’m excited to share that I’m joining Google, more specifically the Google Cloud team to work as a Customer Engineer in London 🇬🇧.
It all started over two decades ago… 😴
tl;dr: No worries, I won’t force anyone to read my life story 😉. I think what got me a job at Google is a mix of passion, dedication and hard work, curiosity, and a wife who encouraged me to speak and blog publicly.
Ever since I broke and subsequentially fixed my dad’s computer when I was somewhere around ten years old, I’ve been fascinated by computers. From Pascal and Visual Basic programs I wrote to solve my math and physics homework to Java-based accounting software for my uncle’s farm, I was passionate to develop software. …
Visit http://www.mikenikles.com for my latest blog posts.
When was the last time you reviewed a pull request and reminded the author to add a link to your bug tracking system? How about adding a missing label? Maybe you found an open PR that had no reviewer / assignee set.
I’ve certainly been there and for a long time didn’t think much when I wrote comments like that. At times, I didn’t even leave a comment and simply fixed it. …
Visit https://www.mikenikles.com for my latest blog posts.
On April 17, 2018 version 2 of the Dialogflow API was made generally available. It marked the end of a beta phase that started back in November 2017.
Our API V2 now serves as the default API for all new Dialogflow agents, and all new feature upgrades will only be released for API V2.
I remember reading the above in the announcement blog post, telling myself to upgrade my “I Owe You” Google Assistant bot as a way to learn about the new API. …
Visit https://www.mikenikles.com for my latest blog posts.
A few days ago, Andrew Stiegmann commented on a blog post of mine where I shared how we automate our release process with CircleCI. Andrew’s comment can be summarized with “Hey, is there any reason you use CircleCI cache instead of a workspace?”
I read up on a CircleCI blog post that explains the difference between a cache and a workspace. Their diagram does a great job explaining all that:
Our CircleCI workfow contains of five jobs, each needs access to node_modules
and a bunch of generated files in dist
folders. Our “build job” as outlined in the diagram is where we install all npm packages and generate the files in the dist
folders. …
About