Accessing Eleventy Data on the Client Side

Accessing Eleventy Data on the Client Side

This is something I've demonstrated before but haven't had a chance yet to write about it by itself. As you know, one of the best features of Eleventy is support for data files. This feature lets you define JSON or JavaScript logic to return data your templates can use. But along with using data in your templates, you may want to use the same information in your client-side JavaScript code. So how can you do that?

read more

A Vue Component for Handling Loading State

A Vue Component for Handling Loading State

I've been doing some Vue consulting recently with a client and he came up with an interesting scenario. He asked about adding a "loading" state to his UI such that when a user clicked a button, it was obvious "something" was going on. This is actually something I've covered before in my Vue Quick Shots series:

read more

Remembering (and Restoring) a Route with Vue Router

Remembering (and Restoring) a Route with Vue Router

While playing Dragon Quest X1 Sunday morning, a random idea popped in my head and it was interesting enough to convince me to put down the controller and take out the laptop and work on a quick demo. What idea was it? In most (well built) sites, if you request a resource that requires a login, you will be returned to that resource after successfully logging in. I was curious how I'd do that with a Vue single page application.

read more

Identifying Pictures via SMS with Pipedream, Twilio, and Microsoft Cognitive Services

Identifying Pictures via SMS with Pipedream, Twilio, and Microsoft Cognitive Services

Nearly three and a half years ago I wrote a blog post on using IBM OpenWhisk (sigh, I wish I could still recommend it), Twilio and IBM Watson: Handling SMS with OpenWhisk, IBM Watson, and Twilio. In the past, I described how I built a serverless function in OpenWhisk that was used as a webhook for Twilio. I'd send a text to a number and Twilio would fire off the request to my function. I looked for an attached picture, uploaded it to IBM Watson's image recognition service, and reported back to the user what was identified in the picture.

read more

Building Generic Workflows in Pipedream

Building Generic Workflows in Pipedream

I've been a huge fan of Pipedream since I first started using it. It's ease of use, flexibility, and just overall approach to rapidly creating workflows has really resonated with me as a developer. One of the more interesting aspects of Pipedream is that when someone shares a workflow with you, you can copy that workflow to your own account and then modify it for your own use. I was thinking of this over the holiday break and wanted to take a look at how I could build a workflow specifically for sharing with others, i.e. something that doesn't really do anything by itself but would be a good starting point for others. I had some fun with this project and thought I'd share what I discovered.

read more

2020 Can Kiss My...

2020 Can Kiss My...

Sigh, I can still remember how excited I was when I wrote my year end post last year. I also remember being on the treadmill, during my morning exercise and watching CNN. Covid was the topic and it was a "potential" concern. I can remember thinking - news agencies love to be dramatic and this will be off their radar in a week or so.

read more

Vue Quick Shot - Downloading Data as a File

Vue Quick Shot - Downloading Data as a File

This isn't necessarily a new trick (and it's one I've covered sometime in the past), but I thought a quick example of how to do it in Vue.js would be helpful. For folks who may not know, HTML has included, for a few years now, a way to force a link to act as a download. This is done via the download attribute of the anchor tag. So for example:

read more

Building a Web App Powered by Google Forms and Sheets

Building a Web App Powered by Google Forms and Sheets

This past week I've been working on a project that had an interesting requirement. We needed a way for the public to submit information and then we needed to display that information, once curated, in a web application. This is a fairly typical web application and something I've been doing for nearly twenty years now. But what we were curious about was whether or not this could be done without using any kind of server-side processing. We ended up going a different way for the project, but not before I had built out a fully working process using Google Forms and Sheets. How did it work?

read more