Oh, The Huge Manatee

A blog about technology, open source, and the web... from someone who works with all three.

What Crell Doesn’t Want You to Know: How to Automate Letsencrypt on platform.sh

If you believe the docs and the twitters, there is no way to automate letsencrypt certificates updates on platform.sh. You have to create the certificates manually, upload them manually, and maintain them manually.

But as readers of this blog know, the docs are only the start of the story. I’ve really enjoyed working with platform.sh with one of my private clients, and I couldn’t believe that with all the flexibility – all the POWER – letsencrypt was really out of reach. I found a few attempts to script it, and one really great snippet on gitlab. But no one had ever really synthesized this stuff into an easy howto. So here we go.

1) Add some writeable directories where platform.sh CLI and letsencrypt need them.

Normally when Platform deploys your application, it puts it all in a read-only filesystem. We’re going to mount some spec…

Writing Drupal 8 Code for Drupal 7

A year ago I proposed a session for Drupalcon Mumbai and Drupalcon New Orleans, called “The best of both worlds”. It promised to show attendees how to write Drupal 8 code for Drupal 7 sites. I never ended up giving the session, but this week I got an email asking for more information. So in case it ever comes up again, here’s my own collection of resources on the subject.

The big improvement that’s hard for D7 developers to get used to is injected services. The service container module makes that possible in D7. The brilliant FabianX wrote it to make his life easier in writing render cache, and his is always a good example to follow! This module creates a service cont…

Developer Options for Replacing Your Old MacBook Pro

The developer world is abuzz with criticism of the new Macbook Pro. After 4 years of waiting for an update, what we got has two less ports, slower memory and a worse GPU, is a vanity project that the core demographic of Apple’s customers probably won’t even use, in the final balance: merely consumer-level. It’s slammed as incompatible, absurd, and for pros… actually an insult.

If you’re a developer in late 2016, and are in the market for a new laptop, there are some great options out there. It’s too bad that the latest line of Mac products don’t make the cut. I’ve been neck deep in this research myself, since it’s time to retire my mid-2012 non-retina Macbook Pro anyway. I thought I’d share.

I’m looking for a new laptop. It should be portable enough to count as an “Ultrabook”, powerful enough to run my IDE and many virtualized environments, with enough battery life to get me through long plane …

301 Redirects Are the Herpes of the Internet

My client bought a domain name based on her favorite username when she was young. Like any teenager, she didn’t choose the best name. But SpongeBobLover16 (name changed to preserve her anonymity) wanted to exert her online independence. She decided she would give her real name domain to SpongeBobLover16.com in a 301 redirect. Her parents told her she should always use a 302, but she ignored their advice. “I remember it felt so good,” she says today, “but now I have to live with that mistake every day.” 5 years later, her real name domain, SusanExample.com, still redirects to that old username on Google. Old friends and family can only see her domain as SpongeBobLover16.com. They say it doesn’t bother them, that they love her anyway, but Susan feels marked for life.

Susan’s mistake is incredibly common: if you’ve been a web developer for very long, chances are you have at least one case of a bad 301 in your history. And yet I still see young developers throwing caution to the wind, failing to protect t…

Getting My Notes Out of Evernote

The Why

I’m an obsessive note taker. Meetings, ideas, to do lists, grocery lists… The act of writing really helps me remember, so I’ve been writing everything down since I was a teenager. For years I had a thousand text documents scattered around my computer. In 2008 I discovered that the act of writing isn’t nearly as effective as the act of searching, so I resolved to start taking notes in a central, searchable, sync’ed system. In short, I jumped on the Evernote train.

Nowadays, it seems like every time I turn around, Evernote has found some more bloat to add. First it was photos and videos, then to do lists and Reminders. Then came poorly-implemented sharing, gro…

Moving to Amazee Labs

About a month and a half ago, I left my position at Forum One to start work on a project with Amazee Labs. Yes, a month and a half is an eternity in Internet-Time, but better to blog about it late than not at all!

I loved my position at Forum One. I got to work with worthwhile clients like Oxfam and United Way, I got to solve interesting and tricky Drupal problems, and I got to work with some truly brilliant colleagues. I strongly recommend it as a great place to work. But it was always a challenge dealing with my visa situation (contrary to popular belief, I am Canadian – NOT American!), and despite heroic efforts we just couldn’t find a way to make a permanent relationship work.

Drupal is an interesting field in which to work, and there’s a lot of momentum for good developers. I chose to work with Amazee Labs because they are some of the best at what we do. I’ve always …

Some Git Log Magic

Today I got to generate git statistics for my team. It’s more fun than it sounds! First of all, it’s always entertaining to learn just how flexible git’s reporting can get. Secondly, it’s a chance to dive back into my old sysadmin tool kit and play with awk, sed, and friends.

There were a few questions I wanted to answer about one particular developer’s input. I’m concerned that he is working too much after hours. All night crunch sessions are for amateurs, and I’m trying to break him of the habit. Here are my questions:

  • What proportion of his commits were generated after hours?
  • Which tickets did he work on after hours?
  • Which after hours tickets were the biggest, generating the most commits?

First I had to set some standards: “after hours” is defined as “be…

An Open Letter to Wired Magazine

Dear Wired – I read your post about the changes in ad blocker policy on your site. Thanks for writing in such an open and respectful tone; it’s clear you care about your readers and want to find a reasonable way forward.

Unfortunately the post fails to address the REASONS that your readers use ad blockers. If only you had gone a little bit farther in the post and offered specific promises in exchange for being whitelisted, I think you would keep a much larger proportion of your readers.

As an example, here are some promises you could have made that would have convinced me.

  • Third party scripts will be kept to under 33% of page weight. (They’re at ~50% for this article, and that’s with a 1.1MB gif in the content!)

  • We will respect “do not track” headers in your browser (or settings on your Wired account) by excluding you from…