Quick OpenWhisk Utility - Activation Reporting

I've already written a few things to help me get access to my reporting data (for example, see My Own OpenWhisk Stat Tool) and while debugging something today I ran into an issue with how the wsk CLI reports activations. Currently it just shows a name and ID. Consider this input: wsk activation list dotweet. To get details about the activation, you then need to copy the ID and get details for just that particular activation.

Read more

Dynamically Documenting OpenWhisk Packages

Earlier this week I was doing some work with the Cloudant package under OpenWhisk when I noticed the docs didn't include all the actions available. What I mean is, the docs currently mention the read and write actions, the changes trigger, and nothing else. Compare this to what you get when you run wsk package get /whisk.system/cloudant --summary: package /whisk.system/cloudant: Cloudant database service (parameters: bluemixServiceName, dbname, host, overwrite, password, username) action /whisk.

Read more

Serverless iCal Parsing

Today's post isn't necessarily too interesting code-wise, but it touches upon some greater, more broad, serverless topics that I'd like to bring up. A few weeks ago I discovered an interesting GitHub repository: https://github.com/gadael/icsdb. This repository contains iCal files (think plain text calendar data) for non-working days for all 50 US states and various European countries. This could be useful in a number of ways, if, of course, you can parse the iCal data.

Read more

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