Category Archives: Tech

Programming, networking, servers, and other technical topics.

Calculate AWS v4 Signature with client-side JavaScript

My team recently completed a challenging 5-month product build that integrates with many Amazon Web Services (AWS) features. We had the opportunity to use some new services, namely AWS Cognito, which forced us to pioneer new solutions more than a typical project. First up: calculating AWS v4 signatures client-side to integrate EvaporateJS with AWS Cognito.
Continue reading

Managing Puppet modules on Vagrant with Librarian-Puppet

When it comes to source code control I’m a purist: I avoid storing any derived files (ex. generated CSS) or third-party code.  So when I started using PuPHPet to generate Vagrant and Puppet configurations, I was dismayed by the gigantic /puphpet/puppet/modules  directory.  3,000 files totaling 5 MB?!  There must be a better way.

Continue reading

Microsoft Access is confused

The other day while working on a legacy Microsoft Access database I was reminded of how bizarre Access can be. When I ran the following query:

I received a peculiar error:

Microsoft Access
The SQL statement could not be executed because it contains ambiguous outer joins. To force one of the joins to be performed first, create a separate query that performs the first join and then include that query in your SQL statement.

For a query with no outer joins, this was terribly unhelpful.
Continue reading