Migrating Aurelia CLI from requirejs to Webpack

The article Aurelia-CLI Bundler to Webpack gives the migration highlights, but is a little sparse on details. I ran into a number of head banger issues that were time consuming to resolve. A few of these are covered here.

Read More

Configuring Pug with Webpack 4 and the Aurelia CLI

Aurelia is a front-end framework along the lines of Angular and vuejs. The Aurelia CLI (currently v0.33.1) does not support pug templates.

This post shows my effort so far to configure pug on top of a new webpack4-based Aurelia project. There are two outstanding issues that I have not yet resolved:

  • Pug file require statements are not resolving the css file (e.g. require(from='app.styl'))
  • Have not yet tackled the issue of passing locals to index.pug

Read More

Video Email Wizardry

Video can vastly improve the conversion or click rate of any message, whether that be a Facebook post, website page or email message. There would be a real advantage, then, if you could embed video in email campaigns.

Read More

Playable Adds Video Preview Feature

Way back in 2017, if you wanted to see what your Playable videos looked like when viewed on different devices, you had to have a lot of different devices on hand. You’d send yourself a sample email message, then need to view that message in each application and device.

Read More

Strava KML Generator

I’ve released a Google Earth KML file generator for Strava data. The application is written in javascript for nodejs and requires that you install nodejs on your local machine.

This is useful for visualizations as well as archiving your route information. Have a look at the README file on github for more information.

Read More

PhoneSwipe Is a Scam

PhoneSwipe provides an example of how consumers lack protection from online e-commerce scams, thus demonstrating the need for auditable, delivered transaction receipts.

Read More

The Technology of Web Virtualization

Web Virtualization is a cloud technology that sits between you and the internet or your intranet delivering an interesting set of security, compliance and experience enhancing applications.

Read More

In Defense of COS, or Why I Love JSON and Hate XML

I don’t miss XML

I don’t miss XML. XML would only have been a quarter as bad as it is if it didn’t introduce the ambiguity of trying to decide whether data should be an attribute of an element or the value of an element.

xml
1
<element attribute="attribute-value">value</element>

It would only be half bad if it didn’t introduce the unwieldy syntax of triangle brackets and an end-of-comment closing syntax that use more triangle brackets and a second copy of the element name. It would only be three quarters bad if the syntax for comments didn’t also use triangle brackets, along with a few hyphens and a required closure at the end of each line.

Read More

Express 3 Migration Issues

Today I migrated a web site from Express 2.5 to Express 3.0.0rc3. This is a non backward compatible version change. Express has a Migrating from 2.x to 3.x wiki page, but it doesn’t quite leave you prepared for the more time consuming incompatibilities that you’ll need to fix. I’ll enumerate some of these differences here. Note that some of these issues may be ironed out in later releases of Express.

Read More

Files are Important

How Dropbox and the App Store are a counterpoint to Web Apps

About five years ago a colleague and I were lamenting the fragmentation of identity and storage caused by the new crop of web apps. You could edit a Powerpoint-like presentation at one site, a photo at another, and check on your calendar at a third site. Each site required a separate login, and your content was stored in some unique new format in a cloud database that you couldn’t extract your data from. We saw a case for abstracting identity and storage to make life easier and less confusing for users and to help with archiving content beyond the life of the web site (e.g. 280Slides, which is now defunct). We were focusing on fixing identity using OpenId-like solutions, but we also thought the answer to cloud storage might be to provide a standard storage service that all the web apps could use.

Read More