Handling Errors in OpenWhisk Sequences with a Combinator

As I build more powerful sequences in OpenWhisk, one of the issues I’ve run into is how to handle “routing” in sequences. Basically, given a sequence of A=>B=>C=>, there may be times when: B may throw an error B may be all I need to do and we can skip C A decides it wants to skip B B may throw an error but I want to keep trying for a while All of this is technically feasible, but not necessarily simple to set up.

Read more

OpenWhisk Webinar and Presentations for June

In June, I’ll be giving two presentations on Apache OpenWhisk. The first will be online (and free) on June 7 at 12PM CST. You can register for the event here: https://engage.vevent.com/index.jsp?eid=556&seid=90389 And if by some chance you happen to be in the great state of Louisiana and want to see me give the talk live, I’ll be giving the presentation to the Acadiana Software Group on June 14 at 6:30 PM.

Read more

Building the Serverless Superman

So yes - I built something stupid again. Recently I discovered the awesomeness that is @Big Data Batman. This is a twitter account that simply copies tweets with “Big Data” in them and replaces it with “Batman.” It works as well as you may think - either lame or incredibly funny. (At least to me.) Here are a few choice samples. Open any business publication and you’ll probably find an article about Batman.

Read more

My First Lynda Course - Learning Ionic

So this kinda snuck up on me (in terms of how quickly it got produced I mean ;), but I’m happy to announce my first course for Lynda.com (AKA LinkedIn Learning): Learning Ionic It’s a short course meant to introduce folks to Ionic 2 (but will work just fine with Ionic 3/X) and I think it’s a rather ‘gentle’ introduction for folks who have only seen Ionic 1 so far and are a bit worried about the jump to Ionic/Angular 2.

Read more

Creating a JSON Feed for Hugo

Recently a new specification was launched to recreate RSS in JSON, JSON Feed. For folks who may not be aware, RSS is an XML spec (well, multiple ones) for sharing content between sites. Blogs, primarily, and content-heavy sites typically make use of this. I’m not sure how many people outside of developers actually use RSS, but it’s still definitely a “thing” even if you don’t necessarily think of it when thinking about APIs.

Read more

Using URL Paths in OpenWhisk Web Actions

Time for another quick OpenWhisk tip. As you know (or may know!), when you create an OpenWhisk web action, you can pass parameters via the query string or via a form post. So consider the following trivial action: function main(args) { if(!args.name) args.name = ‘Nameless’; let result = { string:‘Hello ‘+args.name } return { headers: { ‘Access-Control-Allow-Origin’:’*‘, ‘Content-Type’:‘application/json’ }, statusCode:200, body: new Buffer(JSON.stringify(result)).toString(‘base64’) } } All this action does is say hello to a name that comes from the arguments passed to the function.

Read more

My Own OpenWhisk Stat Tool

While waiting at the airport this past weekend, I worked on a little utility to help me retrieve information about my OpenWhisk actions. As you know (hopefully know!), Bluemix provides a “stats” page for your OpenWhisk stuff but it is a bit limited in terms of how far it goes back and doesn’t yet provide good aggregate data about your action. So for example, I really wanted to see how well my action was responding in a simple tabular fashion.

Read more

Some thoughts on HoloLens (and the new Surface Laptop)

I’m currently at the tail end of my first Microsoft Build conference and had the chance to spend time with the HoloLens. I thought I’d share what it was like to use it in person since the videos don’t really do it justice. I’ve also had the chance to get hands on the new Surface Laptop and I’ll talk about that at the very end. I want to begin with a bit of context about what exactly the HoloLens is.

Read more

Enabling CORS for an OpenWhisk Action

A few weeks ago I blogged about how to enable CORS for OpenWhisk Web Actions. In case you aren’t aware, CORS is the standard way to allow client-side web applications to access your APIs. (JSON/P, an older method, still works, but CORS is really what you should use.) If you read the post, then you know it isn’t too difficult at all, but I wanted to share another way of doing that’s even easier.

Read more

Launching Today - Serverless Weekly

The title says it all. I’ve been a fan of the Cooperpress weeklies for sometime now and I’m happy to say I’m helping them launch a new one - Serverless Status. (Yeah, I called it “Serverless Weekly” above, but you get the idea. ;) As with the other weeklies, this a free newsletter providing interesting links concerning serverless stuff. This will include blog posts, demos, product announcements and more. I’ll be contributing to it, so feel free to DM or @ me suggestions.

Read more