Be careful with copy paste: Encoding hell

Submitted by John on Fri, 01/20/2017 - 11:19

I shouldn't have to say this to the type of person who follows this site, which is mostly myself, and a bunch of trump supporting Russians that speak very strange languages... but here is a reminder to be careful when copy-pasting code, especially from comments/descriptions from a ticketing system. Depending on your operating system, the following lines will look identical, but there is a subtle difference. 


drush up and drush dl failing

Submitted by John on Fri, 11/11/2016 - 14:02

I've noticed an issue crop up recently where drush seems unable to download new modules, or update existing ones with the drush dl and drush up commands. The issue is that some versions of wget shipped with Redhat Enterprise Linux failed to check SAN names in certificates properly. This article from fastly explains the issue well. Note that hosts its updates server on fastly. 

You can see where drush is failing by using the verbose flags

Date Granularity in PHP and Drupal. Or where did this 11-30 come from?

Submitted by John on Tue, 05/17/2016 - 08:12

TL;DR: Why are my dates being converted to November 30th in PHP? Because zero is an invalid month and day.

One thing that strikes me odd is how to handle dates with wide granularities in PHP, and Drupal as usual. I came across this problem in a content migration project. In Drupal 6, a date field that was only granular to the year would like something like this:


However, a date field in D6 might look like this:

2016-01-01 00:00:00 


Storing translation files on Acquia hosted platforms

Submitted by John on Wed, 03/16/2016 - 10:56

I ran into an issue where I was not able to use the Localization update module in Drupal on an Acquia hosted site. This is because the default location where the module stores translation files, sites/all/translations could not be created due to this directory being write protected. I suppse write protecting any directory location that could contain executable code is a good practice.