FusionReactor - Still the Best for ColdFusion

I don’t really do a lot of ColdFusion work anymore, mainly just support for clients as my side gig, but when I do think of the platform as a whole, there’s two companies that always come to mind - Ortus and Integral. I blogged about Ortus, and specifically CommandBox, a few months ago, but today I want to share my impressions about the latest FusionReactor. FusionReactor (who, by the way, help sponsor this blog!

Read more

From Actions to Sequences to Services

I’ve been thinking a lot this week about OpenWhisk and sequences, and more precisely, how serverless in general can help development by letting you put various actions together to form new ones. Much like how Legos can be broken apart and put together in new configurations, I’m getting really excited the possibilities of serverless actions when they are chained together. To be clear, I know I’m mainly talking about code reuse here and that is absolutely nothing new.

Read more

Extracting One (or more) Pages from a PDF

Ok, this falls squarely into “I Bet Everyone Knows This” category, but have you ever wondered how you could extract one (or more) pages from a PDF? For example, imagine one of the pages is an image and you want just that, how would you do it? Last night I was about to do a screen capture of the page when I tried a simple hack. I selected Print, and then “Print to PDF”, and then clicked “Current Page”:

Read more

OpenWhisk Sequences and Errors

As always, try to read the entire post before leaving. I edited the end to add a cool update! I first blogged about OpenWhisk sequences a few months ago, but if you didn’t read that post, you can think of them as a general way of connecting multiple different actions together to form a new, grouped action. As an example, and this is something I’m actually working on, I may have an action that gets the latest tweets from an account as well as an action that performs tone analysis.

Read more

Quick Notes on OpenWhisk Packages and Defaults

This post is just to clear up some things that confused me. Everything here is covered in the docs (mostly, although I think bits aren’t 100% clear) but I wanted to get this down on (virtual) paper to help me remember. I am currently working on a set of OpenWhisk actions to work with Elastic Search. I haven’t done anything with full text search since I last worked with Lucene and ColdFusion.

Read more

Another OpenWhisk Alexa Skill - Death Clock

Earlier this week I had my second Alexa skill released, the Unofficial Death Clock. Like most things, this was a silly demo that became interesting the more I worked on it. I thought I’d share the code and the issues I ran into building it, but as always, I’ll warn folks I’m still new to Alexa skills, so I probably (most likely) didn’t do this the best way. As a quick aside, I built the original Death Clock many, many, many years ago as just a fun toy.

Read more

Check out PaveAI for Analytics

I’m a bit of a stats junkie, but what I love more than a giant pile of charts and tables are tools that can actually help me understand my stats at a high level. I’ve reviewed such services in the past and have also blogged about my own experiments building dashboards and other views on top of Google Analytics. Earlier this month I was contacted by the folks at PaveAI.

Read more

Using IBM Watson Tone Analyzer in OpenWhisk

Earlier today I decided to write up a quick wrapper to the IBM Watson Tone Analyzer using OpenWhisk. It ended up being so incredibly trivial I doubted it made sense to even blog about it, but then I realized - this is part of what makes OpenWhisk, and serverless, so incredible. I was able to deploy a function that acts as a proxy to the REST APIs Tone Analyzer uses. All this action does is literally expose the Watson Developer npm package interface to an OpenWhisk user.

Read more

Some Thoughts on Static Sites and Security

I’ve been chewing on this blog post for a little while now and while I’m waiting for a keynote to start I thought I’d spend some time to write it up. Let me preface this blog entry by making it very clear: I am not a security expert. I think I have a good handle on security issues at the level every developer should, but it is not my primary role, so take the following with a grain of salt.

Read more