Dylan Tack's Blog

Q2 Hackathon Theme: Internet of Things (IoT)

Metal Toad's second hackathon will be focused on the Internet of Things. Why IoT? Over the years we have accumulated broad experience in this area; we've built systems including analytics for solar and wind energy, backend services for wearable devices, and a vehicle telematics platform. Of course this is a growing field, and in addition to software and data analytics for IoT, this will be a chance for toads to get their hands dirty with a soldering iron.

By Dylan Tack, Director of Engineering
February 21, 2017

OAuth 2.0 and OpenID Connect: Now What?

A former Toad recently asked my opinion about this article:
OAuth 2.0 and the Road to Hell
The question is well-timed: I'm in the middle of a big OpenID Connect / OAuth 2 implementation.

That article was written three years ago, but I think Eran Hammer is essentially correct: the standard (especially OpenID Connect) is big, complicated, and enterprise-y.

By Dylan Tack, Director of Engineering
August 25, 2015

Why Drupal 8 won't ship with REST content negotiation

Some friends on Twitter were alarmed by this Drupal change record: "Accept header based routing got replaced by a query parameter". This change replaces "Accept: application/hal_json" with "/node/1?_format=hal_json". The issues leading to this change are too lengthy to capture on Twitter, so I'll give my perspective here.

By Dylan Tack, Director of Engineering
July 14, 2015

Amazon CloudFront with Drupal 8

Since I wrote my first review of CloudFront in 2012, Amazon has added support for three essential features:

By Dylan Tack, Director of Engineering
May 15, 2015

Analytics-driven responsive web design planning

Many of our readers have asked for an update to the mobile device diagram. Rather than diagramming what handset makers are selling, I thought it would be interesting to plot what our visitors are actually using. With that in mind, here is the updated version with data extracted from Google Analytics:

By Dylan Tack, Director of Engineering
January 1, 2015

Simple password grants with OAuth 2.0 and Drupal

Like many Drupal developers, we have become big fans of decoupled front-ends using Drupal as a RESTful backend (a.k.a. "headless" Drupal). The myriad of authorization options can be confusing, however. We've settled on OAuth 2.0 for most situations. When OAuth is brought up, many people will think of the single-sign-on flow in a browser, with the associated redirects and permission dialogs. This flow is widely used, but not always a good fit for first-party applications, or machine-to-machine API interactions.

By Dylan Tack, Director of Engineering
September 10, 2014

Attack of the PHP clones: Drupal, HHVM, and Vagrant

For those wanting to give it a spin, Metal Toad has added HHVM support to our Vagrant box: github.com/metaltoad/trevor.

By Dylan Tack, Director of Engineering
August 12, 2014

Comparison of AngularJS cache vs. browser HTTP cache

When working with Angular's $http service, one of the nifty options is a built-in cache service. It's off by default, and enabling this service can prevent repeated requests for the same resource. In this post, I'll compare Angular's service to native HTTP caching in your browser (I used Chrome as a baseline for comparison, and other browsers may differ slightly).

By Dylan Tack, Director of Engineering
March 21, 2014

New Relic Real user monitoring hooks for Drupal

If you are using New Relic for performance monitoring a Drupal project, you may have noticed a large discrepency between the browser throughput and app server throughput. In the example that follows, the difference is 100:1. The cause is a limitation in the auto-instrument feature:

By Dylan Tack, Director of Engineering
October 17, 2013

Fixing a segmentation fault in Drupal

"[notice] child pid 45617 exit signal Segmentation fault (11)":

This is usually the start of a very bad day. Since a segfault is a low-level error in native machine code (in this case the PHP interpreter), many typical debugging techniques don't apply. Today I decided to try something new:

By Dylan Tack, Director of Engineering
October 7, 2013