Greg Shackles

Navigation

Building a Voice-Driven TV Remote - Part 2: Adding Search

This is part two of the Building a Voice-Driven TV Remote series: Getting The Data Adding Search The Device API Some Basic Alexa Commands Adding a Listings Search Command Starting to Migrate from HTTP to MQTT Finishing the Migration from HTTP to MQTT Tracking Performance with Application Insights In part one of this series I showed how I created a system to pull in channel and listing data on a daily basis and store that in…

Building a Voice-Driven TV Remote - Part 1: Getting The Data

This is part one of the Building a Voice-Driven TV Remote series: Getting The Data Adding Search The Device API Some Basic Alexa Commands Adding a Listings Search Command Starting to Migrate from HTTP to MQTT Finishing the Migration from HTTP to MQTT Tracking Performance with Application Insights When thinking recently about the types of things I wish I could control by voice in my house, one of the obvious answers was everything in my media…

Building Flexible and Efficient Xamarin Apps with GraphQL

There are a lot of ways to approach building APIs for your apps, and no shortage of arguments that ensue whenever discussing them. One of the more standard approaches is to go with a RESTful design (cue the obligatory argument on what this actually means...), which has its advantages but can also lead to needing to make several requests to get the data you want, and can sometimes have a negative impact on mobile performance. Similarly,…

Getting Started With Serverless and TypeScript

If you're doing any "serverless" development on AWS Lambda, you should definitely check out the similarly named Serverless framework. Serverless makes it much easier to build manageable applications with this sort of architecture, taking away a lot of the painful things you would otherwise need to manage and automate yourself. As you write these event-driven systems, a lot of your functions end up looking like data pipelines - your function receives some input, processes…

Creating Slack Slash Commands With Azure Functions

One of the nice features of Slack is how easy they make it to add custom slash commands simply by providing an HTTP endpoint for them to call. This is the kind of scenario where a "serverless" architecture shines, allowing you to create these HTTP endpoints without having to maintain any actual infrastructure for it. In this post I'll show how easy it is to write a custom Slack slash command that is backed…