
Poop in your beard? What about in your code?
Note: this post was written over a year ago, but languished as a draft. I think the ideas are still important to think about so I tidied it up and posted it. –Doug In the echo chamber of the internet, a story recently made the rounds about how “…Beards Are Covered In Poop.” Of course this […]
Bootstrap 4 Left Align Card Image
Bootstrap 4 moves to the concept of cards (instead of the old panels and wells of Bootstrap 3). Cards come with some cool variations, one of which is a top or bottom image cap, like this: I wanted a variation that doesn’t exist, a left “cap” image for the card. Here’s how I did it: […]

Mocking Drupal 7 Core Functions in Tests
Recently I needed to test a function that involved the drupal_valid_token function. There are no hooks for this function and it will generate new tokens with each user session. I needed to verify an external API’s cryptographic signature and a part of that signature involved a nonce for which I used the drupal_get_token function. I […]
The voice of the future
Slate discuses the power and future prevalence of voice powered technologies. There’s a lot to think about here, three takeaways for me: * knowing what sources (biases) and algorithms are powering your life will be critical * APIs for e-commerce especially will become very important * the convergence of voice control as VR is starting […]
Invalidating form tokens in Drupal 7
I wanted to invalidate the CSRF token generated by drupal_get_token once the user had submitted a form, to ensure that we didn’t get a double submit. Drupal 7 generates tokens based on a combination of things, including the PHP session id. A simple call to session_regenerate_id() will cause the token generated by drupal_get_token to change […]