An OpenWhisk Package for Alexa Verification

Edit on August 19 - I had an error in my code that broke Alexa sessions. I’ve updated the code below and in GitHub. Yesterday I was working on a new Alexa skill (I really want the schwag Amazon is giving away this month for releasing a skill) and I had gotten to the point where I needed to lock down the service. I first talked about this back in March (Creating Alexa Skills with OpenWhisk - Part Two).

Read more

Migrating from a Node App to Serverless

For a while now I’ve been thinking about how I would go about migrating a “traditional” Node application to a serverless one. All I’ve needed is a good example - and last week I found one. While going through the apps I had set up on Bluemix, I remembered that I had a Node server running to power my Twitter bot, https://twitter.com/randomcomicbook. I blogged about this project over a year ago (Building a Twitter bot to display random comic book covers) and while looking at the code again, I realized it would be a perfect candidate for rewriting using a serverless framework.

Read more

Career Advice for a New Web Dev

So a few days ago, I sent out a simple tweet: My DMs are open. I will help any women in tech (or really anyone who is marginalized) so far as I am able. Mentoring/counsel/whatever. — Raymond Camden (@raymondcamden) August 6, 2017 This was inspired by (and when I say “inspired by” I mean “copied from”) a tweet by Kent C. Dodds late last week. I’ve already gotten a few DMs and I’m trying my best to help out, but this one was an area I didn’t have a lot of experience in and I thought I’d share it to see what people thought.

Read more

Quick Example of Vue.js

Last week I was attending a conference and sat in a good session on Vue.js. I’ve seen Vue before, even attended another session, but I think I must have paid better attention to this one as I was really impressed with what I saw. In general, my go to JavaScript framework for building applications is Angular, and I really like it. (Despite the painful transition to Angular 2, no wait Angular 3, no wait 4, oh yeah it’s just Angular now.

Read more

Working with the Forwarder Action in OpenWhisk

One of the issues you run into when working with sequences in OpenWhisk is handling the flow of data from one action to another, especially when integrating actions from other packages where you have no control over the code. In the past, I’ve discussed how you can use “intermediary” actions to handle transforming the output of an earlier action into an appropriate form for an upcoming action. A recent StackOverflow question brought up another situation.

Read more

Working with Action Metadata in OpenWhisk

Yesterday I was giving a presentation at KCDC and one of the attendees asked a great question: Can an action know if it is being executed within a sequence? Now, immediately I said that doing this was a bad idea. The whole point of serverless functions is for them to do one thing only in a stateless manner. If you find yourself writing code that cares whether or not it’s being executed in a sequence than you are probably doing something wrong.

Read more

Serverless BASIC

I tend to tease myself a bit about the “useless demos” I like to build, but almost consistently I end up learning something new. It may not be an earth shattering realization of something incredibly deep, but generally, if I learn something, and if I can share it, I consider it a win. Case in point - running BASIC programs in a serverless environment. I have quite the soft spot in my heart for BASIC.

Read more

Geolocation Emulation in Chrome (and others)

This isn’t necessarily new, but as I ran into it recently I thought I’d share as it was pretty cool. Last week I blogged about a demo I had built (“Serverless for Vampires”, you read it, right?) and as part of that demo I had some simple front-end code making use of the Geolocation API. It’s a simple enough API, but I specifically needed to test with a few different locations.

Read more

Online Presentation - Developing in JavaScript in 2017

Late next month I’ll be giving an online, and free presentation on JavaScript and how it has changed (and is changing) over the past few years. Basically - if you’ve been happily writing JavaScript and not been paying attention to some of the rapid changes recently, you may be feeling a bit behind. I’ll try my best to explain how things are changing, what ES6/ES7/ES8/ES2017/etc means (in a practical sense), and how to start learning and employing these new features in your day to day code.

Read more

Some Notes on Windows 10 and Ubuntu

I’ve got a few notes to share about Ubuntu on Windows. This will be a bit random, but hopefully it is helpful. First off - why am I writing about this now? As of a few weeks ago, Ubuntu is now available in the Windows Store, if, and only if, you are using the Insiders Build. I’m using it on my laptop, but not my desktop. However, what I ran into will apply to anyone who is currently using Bash and wants to upgrade to the “real” release.

Read more