Anthony McLin

Replacing Mollom with Akismet for spam filtering on a Drupal site

If you run a blog with comments enabled, you're probably painfully aware of the tedious task of dealing with all the spam issues. There's a many different approaches, and they all have tradeoffs:

Fixing broken content images on a HTTPS Drupal site

After switching my site over to HTTPs and implementing a Progressive Web App, I was doing some browsing, impressed at how much snappier it feels. Until I ran into an issue: the images were missing from several of my articles! Instead of showing up, or even being missing, an empty grey box was showing in their place:

Busting Gmail image caching with build scripts

Recently Google added image caching to Gmail.

This is a good thing for email service providers, because it will dramatically reduce their hosting costs as an image will only need to be downloaded once to be used by all Gmail users. For email developers though, this is Bad with a capital B.

Rapid App Development using Meteor

I was skeptical of a recent SmashingMagazine article about building a webapp in 45 minutes. So I decided to follow along and see if I could replicate their success. I have never used Meteor before, or any server-side Javascript processing (aka Node.JS) for that matter. Usually I rely on Apache and PHP for the server side, so this will all be a new learning experience for me.

Atomic Design Patterns, Responsive Design, and Rapid Prototypes

Last week while doing some research I stumbled across a new project from Brad Frost, Pattern Lab. This is a quick and dirty simple framework for facilitating Atomic Design when prototyping out web designs. I was floored as this matched exactly what I was in the middle of needing. I'm currently in the middle of major redesign for an insanely huge site, and one of our deliverables is a Live Style Guide as well as copies of our responsive design prototypes.

Facelift (FLIR) 1.2 now available on github

In the past I've written about Facelift Image Replacement (FLIR), a technology for providing fonts to web pages when visitors don't have the font installed. Unfortunately, the project homepage no longer exists, and the author Cory Mawhorter doesn't seem to have moved it anywhere else.

Since the project was released under a GPL 2.0 license, I've rebuilt version 1.2 (the latest copy I had) from source code within a project I was working on. I've made it publicly available as a repository on GitHub.

JQuery lockScroll now on GitHub

My JQuery lockScroll script is now available on GitHub for easy forking. and contributions.

If you have any problems, just leave a note below.

Fixing hangs in Drupal Admin on Media Temple Hosting

So a while back, I identified that Drupal can run incredibly slow on MediaTemple's Grid Service. It's otherwise a great hosting plan that I've been very happy with. SSH access, easy to configure with additional domains, scales well. Of course I forgot about this as I did my Drupal conversion, but it looks like there's a fix.

Now with Drupal

So it's been a while since I've updated the site. I'm still getting great traffic on a few of the key tech articles and screencasts. But I haven't done an update in a while because I was running on an old version of Joomla and it felt like a waste of time to be building out new features and adding content. Several times I've started on a migration to Drupal only to fall short as I got busy with other things. There's a great saying that most designers and web developers will appreciate: "The cobbler's children go unshod."

JQuery lockScroll 1.3

Shortly after creating my JQuery LockScroll plugin, I was given a site design to implement that happened to require that functionality. Talk about fortuitous circumstance! However, an extra wrinkle existed in the site design. Not only did an element need to switch states between fixed and scrollable, but at another point while scrolling down the page, it needed to change contents as well. This could easily be achieved by using the LockScroll plugin twice on the element with different offsets... but I needed some way of distinguishing the 3 different possible states caused by doing this. The best way of doing this was by toggling classes, which the plugin now does. Read on for details of what's new.