Archive | Design

Server-Side Analytics and NoJS

The current system of analytics tracking is so very broken, let us count the ways: Most solutions require third party trackers These are easily blocked by third-party ad blockers/privacy tools They are mostly javascript (and javascript can be disabled) They are a privacy nightmare, even when implemented properly They slow a site down by increasing […]

Continue Reading

Inkscape – Open Source Vector Graphics

Inkscape is an amazing vector graphics editor. It is free and open source and works on a variety of platforms, including Linux, Windows and OSX. Inkscape replaces Corel Draw and Adobe Illustrator and can read their files, and is a first class citizen among these other editors. This page will be semi-regularly updated to put […]

Continue Reading

2017 Responsive Design

Zurb's 21 Responsive Design Trends That Will Shape 2017 is useful reading. Of course not everyone will agree on 21 trends, and 21 isn't actually helpful to focus on. Nonetheless, many of these should/will need to be dealt with in 2017. Here are the one's I found most useful: Split Screen Divide a site into […]

Continue Reading

Colorblindness Online Marketing

Colorblindness Colorblindness affects approximately 5-8% of the population, mainly males. The visualization of these kinds of colorblindness is eye-opening, to say the least. The most common form of colorblindness is deuteranomaly, which is red-green. The colorblindness simulations show the color red as indistinguishable from a certain shade of green. Actually to my eyes the dichromatic […]

Continue Reading

Amazon UCC128 Barcode

Updated 24-Nov-2018 Publishing Toolchain/Workflow Notes Syntax for ISBN .eps ./bookland -o 978-0-9822972-7-8.eps 978-0-9822972-7-8 Syntax for Amazon ASIN (effectively a hyphen-less ISBN-10 of the ISBN-13) encode128 0982297270 Take output and use Code128 Font to display The Amazon Barcode Note for revision: the latest version of encode128 is using different start/stop characters than what is displayed/discussed below. […]

Continue Reading

Image Metadata

While this is an aspect of a style guide (for the structure of the metadata itself), this is very much a devops document, for use and manipulation of metadata in publishing. The basic point is that certain kinds of information about an image file is most conveniently kept inside the file itself, accessed and manipulated programmatically. One example use is presenting the dimensions of images in web pages using CSS. Since the dimensional information (width and height) is already present in the image itself, there is no reason why that information cannot be read and the CSS generated from it. A more crude, but effective approach is to put this same information in the image filename, in some consistent way. However, there is more information that may be needed, such as title, caption, source, author, date, etc. The best approach would be to ensure that all editors can read (and manipulate) such information, and at the least not discard it.

Preferred Workflow

It would be best if metadata could be added, modified at each stage of editing, and by default would be preserved on copy, export, format changes, compression, etc. Generally things start with or result in various formats, including: - .svg (native Inkscape) - .xcf (native GIMP - .png - .ico is essentially a .png renamed - .jpg - .gif (rarely, if ever)

Metadata Standards

Turns out there is more than one way to stuff a keyword. For JPG there is EXIF, but for PNG or SVG there are other standards, as in PNG does not have EXIF. The common is XMP, an adobe XML format. Also there is IPTC tags. When looking at a file with a tool, generally a few different bits and bobs are present. In SVG this is a Dublin Core standard, and in PNG the same is generally available.

Image Editors and Metadata Behavior

Currently, the most convenient tools (aka, the ones I use), and their status on JPG Exif and PNG metadata (XMP):

OSX Preview

  • Will blank overwrite PNG metadata added by ImageMagick or Exiftool.1 However, if the metadata is written by Inkscape in an SVG file and then exported as PNG, it will read it correctly. This is because Inkscape puts the info in front of IDAT, but the others do not.
  • Cannot edit PNG metadata


  • Somewhat awkward XML editor for SVG metadata. Don't use this or it will corrupt the file.
  • File > Document Metadata provides a nice Dublin Core interface
  • Various chunks n stuff in PNG files


  • EXIF, XMP metadata editor/viewer added as of Gimp 2.9.4 (possibly 2.9.2). It is under the menu > Image > Image Metadata. Note that these are the experimental/unstable releases (stable releases are every few years, so if you want this functionality, have to live on the edge a bit).
  • Partha's McGimp variants, the McGimp 2.9.5 64-bit Experimental, or McGimp 2.9.5 64-bit Color Corrected Experimental, are based on 2.9.4 (and are interesting projects in their own right, with HDR extensions and plugins).
  • Unfortunately GIMP won't keep metadata in the XCF native GIMP file.
  • Too bad this doesn't work, that is it cannot edit metadata in JPG files.


  • Turn off remove metadata options to preserve metadata


  • Can read and write all metadata, but does it in a way that OSX Preview will ignore/overwrite
  • If the metadata is originally created by Inkscape, it can edit it in a way that preserves

  1. Turns out Apple's implementation of XMP in Preview does not follow the specification (what's new here, who'da guessed...) and overwrites XMP if it comes after IDAT. - Supposedly ImageMagick can read and write and not lose anything between JPG and PNG, need to explore this further, as this is unclear with both statements being made.


    Turns out that Exiftool sucks equally as bad. Not to mention the university site hosting Exiftool is down.


    • Like Inkscape, PNGCommentator actually implements things correctly. Oddly, it will show two Titles if one is inserted by ImageMagick or ExifTool. It will also crash a bit.
    • Overall, good results. Works well, has wildcard and batch processing options, but only deals with PNG.


    So there is this tool called Exiv2 that can do exactly the issue, namely cross-filetype, multi-faceted metadata editing. No Exiv2 binary/DMG for OSX, though lots of people put in the time to compile Exiv2 from source. So, I went the BREW path, as I believe it has fewer issues (for me) than PORTS. First, my BREW was messed up because of Yosemite, but I got this unwedged. - Note there is a handy NodeJS for Exiv2 as well. - Too bad the damned thing wouldn't read my files, every attempt said no EXIF or XMP data present 

Font Natively – Wordpress

Wordpress is rolling out a Native Font Stack which is meant to stop loading of external fonts (namely from Google). A very worthy endeavor. I've got this stack now running on toward the same end. I'm fine with the typography, and basically it has simply been a drop-in replacement for the previous stack. > […]

Continue Reading

Smart Interior Spaces

A smart home has a certain promise to it, that is, an intellect, a brain. But before we apply that metaphor we need to understand the basic elements of a home (and only after that, what would make it smart). But even the idea of a home is already too constraining and not accurate in […]

Continue Reading

Fonts, Typefaces, Typography

Note: All else being equal, select TTFs if they are hinted, and OTF fonts if not. Note: Symlink in fonts to /usr/share/fonts and fc-cache -fv in Debian and other Linux. - Note: For managing fonts in Debian, see Managing Fonts in Debian Fonts, Typeface, and Typography -- what a mess. Not only does one have […]

Continue Reading

Evolution is Adaptation, not Fate

Evolution is about adaptation (and natural selection) but the part most interesting is the adaptation that is possible in our individual lives. This does not mean we can become another species in one generation, but that we are an adaptive organism. Some folks talk about evolution in the same terms as fate. While this is […]

Continue Reading