Reading Image Sizes and Dimensions with Vue.js

Reading Image Sizes and Dimensions with Vue.js

A few weeks back, I wrote up (“Reading Client-Side Files for Validation with Vue.js”) an example of using JavaScript to check files selected in an input field to perform basic validation. It uses the fact that once a user has selected a file, your code has read access to the file itself. I was thinking about this more earlier this week and thought of another useful example of this - validating a selected image both for file size as well as dimensions (height and width).

read more

Using NativeScript and Vue.js to Turn Your Friends into Cats

Using NativeScript and Vue.js to Turn Your Friends into Cats

An incredibly long time ago, OK, way back in 2016, I wrote up an experiment concerning Ionic and the Contacts API wrapper (“Working with Ionic Native - Contact Fixer”). The idea was simple. Given that you have a large set of contacts on your device, what if there was a simple way to add pictures to those contacts without one? And if we’re going to add pictures to contacts, surely the best picture possible would be of a cat, right?

read more

Using the MailChimp API with Netlify Serverless Functions

Using the MailChimp API with Netlify Serverless Functions

I first wrote about Netlify’s new Functions feature way back in January of this year (“Adding Serverless Functions to Your Netlify Static Site:). Since that time, Netlify has had multiple updates to their platform with the most important (imo) being Netlify Dev. I’m probably being a bit dramatic, but Netlify Dev is an absolute game changer for me when it comes to their platform. I’ll explain how but first let me start off by describing what I wanted to build.

read more

FusionReactor and Your ColdFusion Queries

FusionReactor and Your ColdFusion Queries

In my last article on FusionReactor, I talked about slow pages and how the tool helps you find them. In that article I specifically avoided talking about one of the biggest culprits of slow pages - database queries. My history with ColdFusion goes back to about version 2 and even back then database queries were the primary culprit in poorly performing applications.

read more

Reading Client-Side Files for Validation with Vue.js

Reading Client-Side Files for Validation with Vue.js

Folks new to web development may not know that form inputs using the file type are read only. For good reason of course. You wouldn’t want nefarious (I’ve been waiting a while to use that word) JavaScript programs setting the value of the field and doing uploads behind the scenes - it would be a great way to steal information off your computer. However, just because the field is read only doesn’t mean we can’t do cool stuff with it. In fact, once a user has select a file (or files, remember the multiple attribute!), you can not only see the file type, name, and size, you can read it as well. This offers you some interesting possibilities.

read more

Using HTML Form Validation without a Form (Kinda)

Using HTML Form Validation without a Form (Kinda)

This will be a quick one. I’ve been a huge fan of HTML-based form validation for some time now. Even though it is far from perfect (and must always be coupled with server-side validation), I love the fact that it can catch errors early in the submission process and create a better experience for users. My first experience with server-side programming was writing Perl scripts to handle forms so anything that improves the process is pretty freaking important to me.

read more

Building a Plex Server Duration Search with Vue.js

Building a Plex Server Duration Search with Vue.js

A few days ago a good friend asked me a question about Plex. If you’ve never heard of it, Plex is an awesome media server that creates an easy to use UI for media (videos, music files, pictures, etc.). It’s very popular and you can use it via the web, mobile devices, and smart TVs. It’s relatively easy to use and you can share your (legally acquired of course) content with friends. My friend mentioned that it would be cool if Plex had a way to find a movie of a particular length. In this case, dinner was in an hour or so and it would be neat to find something of that particular length. Plex lets you sort by duration but you can’t filter to a particular length (or range of lengths).

read more

Handling Errors in Vue.js

Handling Errors in Vue.js

I’ve been spending the last year working with, writing about, and presenting on my favorite framework, Vue.js, and realized that I had yet to look into error handling with Vue. I’d like to say that’s because I write perfect code, but I think we all know the truth of that. I spent some time the last few days playing around with various error handling techniques provided by Vue and thought I’d share my findings. Obviously this won’t cover every scenario out there, but I hope it helps!

read more

Working with Audio in NativeScript - Part Two

Working with Audio in NativeScript - Part Two

A few days ago I blogged about my experience working with audio and NativeScript (Working with Audio in NativeScript - Part One). Over the weekend I got a chance to wrap up the demo application I was working on and thought I’d share the result. As always, my work ends up being a mix of stuff I think went well and stuff I think… could be done better. I’ll do my best to call out the code I think could be improved and would love any suggestions or comments.

read more