Skip to navigation [a]

June 24, 2009

Designful //

This week I started reading the latest book by Marty Neumeier called The Designful Company which, simply put, should probably be required reading for all business executives or anyone who owns their own company today.

d x d = :D

Early on in the book the above equation is referenced. For me it summarizes a key problem I have with most companies and their products but also one of the problems I have with the vast myriad of “design” companies out there. I’ll elaborate on this specifically in another piece (soon).

As with his other books, all of which I also highly recommend, there’s loads of keen, thoughtful advice that could help turn around companies that might be struggling in the current economy, but also help those who are thriving be even better, stronger and more mindful of their global impact.

June 20, 2009

Preventing Contact Form Spam //

When I moved the Notebook site over from the wishingline.com domain over to this one, one of the things I wanted to do was rebuild the contact form from scratch and integrate it into the base Movable Type install that manages things behind the scenes.

That was a fairly simple process overall and using a bit of PHP, jQuery and Ajax magic, I built the form so that it works whether Javascript is enabled in the browser or not. Unobtrusive progressive enhancement - it’s good. You should try it.

Where I ran into a problem though was that all of a sudden bots were going to town on the form and I was getting all kinds of spam through the form, despite work put into preventing that at the start - eg. ensuring the form would only accept local requests from the same domain, using secret server-level key validation, etc.

Ultimately what proved to cure the problem: give the fields unusual names. If you have a field that collects a person’s name, don’t name it “name” or an email address, “email”. Bots look for that and can easily exploit it.

Truth be told: I knew this. Maybe you already do too, but an occasional reminder never hurts.

May 26, 2009

Looking Glass //

In Through the Looking Glass, Lewis Caroll wrote:

It takes all the running you can do to keep in the same place. If you want to get somewhere else, you must run at least twice as fast as that.

In a roundabout way I think that passage perfectly sums up the state of the web industry for me in 2009 and is a perfect lead-in to mention issue number 284 of A List Apart which features an article on the topic of Burnout by yours truly.

It was a challenging article to write simply because it was so deeply rooted in my own personal experiences and I hope readers take note and are interested in continuing the discussion further because, obvious or not, the web and design industries are intrinsically ripe for extreme cases of burnout.

My thanks to Carolyn Wood, Krista Stevens, Erin Kissane, Zeldman et al.

May 19, 2009

MSMTP and Virtual Hosts //

Last year when I originally moved the Wishingline site and a handful of others over a shiny new slice at Slicehst one of the issues I ran into was handling outgoing mail from contact forms, Movable Type, etc. I’m no server admin and despite knowing enough to be dangerous, setting up a secure mail server that can handle multiple domains was definitely outside my comfort zone.

Thanks to Ethan, I discovered a gem of an open source project called MSMTP which was just what I needed; the exception being that I couldn’t figure out how to use it with multiple domains. Until last week that is.

Of course it’s really easy.

Installing and Configuring for Multiple Domains

MSMTP provides two ways you can configure the software using a simple and well-documented configuration file format. It’s all plain text so it’s easy to create, edit and back up.

Installing the Software

Installing MSMSTP requires the following packages which can be installed using the aptitude tool on Ubuntu. Installation on other *nixes may vary.


$ aptitude install msmtp msmtp-mta ca-certificates
Configuration

Once you have everything installed, you need to create a configuration file either in /etc/msmtprc or by creating a user-specific one in your user’s home directory. If you need mail services for more than one domain, I suggest using the global configuration option.

I’m going to assume you’re reasonably comfortable working in a Unix environment from here on out though if you know what you’re doing you can do all of this just as easily using ExpanDrive and TextMate without having to touch the Terminal.


$ sudo nano /etc/msmtprc

Once the nano editor has opened a new blank file for you, enter the following and replace the example configuration as needed. I’m including examples for two domains so you get the idea.


# Account: domain1.com
account         domain1
host            smtp.gmail.com
port            587
auto_from       off
auth            on
user            hello@domain1.com
password        PASSWORD
tls             on
tls_starttls    on
from            robot@domain1.com
maildomain      domain1.com
tls_trust_file  /etc/ssl/certs/ca-certificates.crt
logfile
syslog          LOG_MAIL

# Set a default account to use
account default : domain1

# Account: domain2.com
account         domain2
host            smtp.gmail.com
port            587
auto_from       off
auth            on
user            hello@domain2.com
password        PASSWORD
tls             on
tls_starttls    on
from            robot@domain2.com
maildomain      domain2.com
tls_trust_file  /etc/ssl/certs/ca-certificates.crt
logfile
syslog          LOG_MAIL

Repeat as necessary to add more domains. Save your changes by typing Control-O and pressing Enter. Then type Control-X to exit the editor.

Virtual Host Configuration

Assuming you’re using PHP with Apache as your web server, you can add the last two lines in the example below to each virtual host to specify which configuration account you’d like to use to send mail.


<VirtualHost *:80>
  ServerAdmin webmaster@domain1.com
  ServerName domain1.com
  DocumentRoot /home/user/sites/domain1/
  DirectoryIndex index.html index.php

  # MSMTP configuration for this domain
  php_admin_value sendmail_path "/usr/bin/msmtp -a domain1 -t"
</VirtualHost>

Replace domain1 with the correct domain obviously. This should correspond to the account names specified in the /etc/msmtprc file.

Alternatively you need to instruct your middleware or framework to use MSMTP instead of Sendmail/Postfix to send mail and pass the same account parameter whenever called. Most have some form of configuration option to allow this.

That’s it.

May 13, 2009

Slab //

If you thought slab serifs were hot a few months ago, then they must be on fire right now given the release this week of not one, but two smokin’ new families of slab serifs - Neutraface Slab from House Industries and Sentinel from Hoefler & Frere-Jones.

Font samples from Neutraface Slab by House Industries and Sentinel by Hoefler and Frere-Jones

If anyone’s looking for me, I’ll be burying my wallet in the back yard.

When you get to the bottom you go back to the top of the slide… or check out our B-sides

It’s all interconnected …On A Long Piece Of String

Flickr Photos // See the rest

Get social and don’t be a lurker

Elsewhere // Click to view
Feeds //

[Ad] I’ve gone CRANKY for ‘09. Have you? Advertisement


06