Colophon

December 01, 2014

Imprinted at Marin County, California
in Lucas Valley
by 359 North Inc.
2015

From Wikipedia:

In publishing, a colophon is a brief statement containing information about the publication of a book such as the place of publication, the publisher, and the date of publication. A colophon may also be emblematic or pictorial in nature. Colophons were formerly printed at the ends of books, but in modern works they are usually located at the verso of the title-leaf.

colophon


The inspiration for this colophon came from Daring Fireball and NSHipster. They both offer colophons and led us to our choices of Markdown and Jekyll (subsequently Octopress).

This colophon is as much for us as it is for you. While you might be interested in how we built our site, we need to keep a record somewhere of our intent and our results. This is it.

Text and Photographs

The pages and posts are, for the most part, written in Markdown. We occasionally use a bit of HTML when we want to do something we can’t figure out quickly in Markdown.

We took the photographs. See them all here.


Static Website and Blog

We realized pretty quickly that we wanted a static website and blog. Looking at Jekyll via NSHipster, we somehow found Octopress, which has a nice collection of pre-built themes.

Three themes caught our interest early on:

  1. MediumFox by Adrian Artiles which can be seen at adrianartiles.com

  2. Reynard by Nikhil Mungel which can be seen at blog.hyfather.com

  3. HPSTR by Jake Zimmerman which can be seen at blog.zimmerman.io and which is itself based upon a Jekyll theme by Michael Rose found here.

Of the three, we elected to go with HPSTR, although both of the others had some appealing features which were preferable.

Most of our changes were cosmetic and elementary - you can see them by comparing this site side-by-side with Jake Zimmerman’s blog. The most substantive change was to restructure the theme to support a static web site with subsidiary blog: thus the navigation bar. We also fixed up the individual post page a bit. We added DuckDuckGo as our search engine, although we considered that a subsidiary function and did not put it in the navigation bar.

We possibly could have made better choices, but we simply don’t have the expertise, nor the time required to acquire the expertise. Unlike the mobile world, where the vendors essentially provide all the tools needed for a particular ecosystem, there is so much choice for web tools that it’s not possibly to even survey what’s available. We’ve seen a few justifications in the corporate world that simply amount to personal preference. If our website works well, it’s a tribute to search engines, the work of the people named above, and happy accident. We did have to re-learn more than we wanted about some aspects of HTML and CSS. We hope to forget all that shortly.


Infrastructure

Amazon S3 seems to be the consensus choice for static web hosting, so we chose that. Setting it up was not too hard, and we used s3cmd to move our files up to S3. For convenience we added a task to the Rakefile in our Jekyll/Octopress installation as follows:

s3cmd additions to Rakefile
1
2
3
4
5
6
s3_bucket = "359north.com"

desc "Deploy website via s3cmd"
task :s3 do
puts "## Deploying website via s3cmd"
ok_failed system("s3cmd sync --acl-public --reduced-redundancy public/* s3://#{s3_bucket}/")

All we have to do then is issue the command rake s3 in the Terminal App and we are done.`

To improve the performance of the site, and protect against DDOS and other attacks we chose CloudFlare, rather than Amazon Cloudfront. CloudFlare simply seemed easier to understand and better suited to our needs.

Disqus was used to add commenting to blog posts and selected pages. Probably the easiest add, as we just had to set up an account and add the appropriate information to the _config.yml file in our installation.

We also have some legacy infrastructure. For more than a decade we’ve had shared hosts or VPS accounts with JaguarPC and registered our domain names at their associated company AletiaNIC. They’ve been effective and cheap, and rather than move our domains and email services around, we decided to stick with them. The only problem we had was with using cPanel to manage our accounts at JaguarPC once we activated CloudFlare: the usual cPanel URL won’t work, but JaguarPC quickly provided an alternate URL that worked just fine. A discussion of the issues starts here.

Finally, we’ve been using DuckDuckGo personally, and used it to implement site search: the UI is nice, the DuckDuckGo team is responsive, and the privacy considerations are important for us. By responsive we mean that when we reported that their search engine failed when searching for “Moll Flanders” we got a response from a real person saying that the issue was fixed in less than 45 minutes. That’s responsive!


Conclusions

This took longer than we hoped, but not longer than we expected. We’ve now got a robust, stable system where we can easily add content as we create it. We might have made some better choices, but these are more than good enough for now.