<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.hypsometry.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" xml:lang="en-us">
  <title>The Hypsometry Blog.</title>
  <id>tag:blog.hypsometry.com,2009-11-07:/</id>
  <updated>2011-02-17T16:15:00-08:00</updated>
  <author>
    <name>Christopher Boone</name>
  </author>
  <rights type="text">Copyright 2011 Christopher Boone.</rights>
  
  <link type="text/html" rel="alternate" title="The Hypsometry Blog." href="http://blog.hypsometry.com/" />
  <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.hypsometry.com/hypsometry/blog/articles" /><feedburner:info uri="hypsometry/blog/articles" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>hypsometry/blog/articles</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.hypsometry.com%2Fhypsometry%2Fblog%2Farticles" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.hypsometry.com%2Fhypsometry%2Fblog%2Farticles" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.hypsometry.com%2Fhypsometry%2Fblog%2Farticles" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.hypsometry.com/hypsometry/blog/articles" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.hypsometry.com%2Fhypsometry%2Fblog%2Farticles" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.hypsometry.com%2Fhypsometry%2Fblog%2Farticles" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.hypsometry.com%2Fhypsometry%2Fblog%2Farticles" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><entry>
    <title>XIV.</title>
    <id>tag:blog.hypsometry.com,2011-02-17:/articles/symbolic-code-groups-in-ruby/</id>
    <published>2011-02-17T16:15:00-08:00</published>
    <updated>2011-02-17T16:15:00-08:00</updated>
    <author>
      <name>Christopher Boone</name>
    </author>
    <rights type="text">Copyright 2011 Christopher Boone.</rights>
    <link type="text/html" rel="alternate" href="http://blog.hypsometry.com/articles/symbolic-code-groups-in-ruby/" />
    <content type="html">
&lt;p&gt;This came from somewhere, I&amp;#8217;m sure of it. I found it, used it, loved it, and here we are, years later, and I don&amp;#8217;t have any recollection what that original source was, or who originally coined this simple idiom. Nonetheless, let me present to you a tiny little morsel of Ruby:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;class Symbol
  def code(&amp;amp;block)
    block.call
  end
end&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Include that in your project, and you can write code that does a better job of self-documenting. For example:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;:filter.code do
  def reload_user
    # ..
  end
  
  def verify_humanness
    # ..
  end
end

:form.code do
  def required_status_classname
    # ..
  end
  
  def field_wrapper_classes
    # ..
  end
end&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Simple Ruby syntactic sugar, helping you keep things clear and readable. Not only that, but if you&amp;#8217;re using a block-folding text editor (such as &lt;a href='http://manual.macromates.com/en/navigation_overview#collapsing_text_blocks_foldings'&gt;TextMate&lt;/a&gt;), then you can navigate through your code a little bit more easily.&lt;/p&gt;

&lt;p&gt;
  February 17, 2011. &lt;br /&gt;
  Ashland, Oregon.
&lt;/p&gt;
    &lt;img src="http://feeds.feedburner.com/~r/hypsometry/blog/articles/~4/TakLsdCUvUU" height="1" width="1"/&gt;</content>
  </entry>
  <entry>
    <title>XIII.</title>
    <id>tag:blog.hypsometry.com,2011-02-03:/articles/goudy-on-hypsometry/</id>
    <published>2011-02-03T09:01:00-08:00</published>
    <updated>2011-02-03T09:01:00-08:00</updated>
    <author>
      <name>Christopher Boone</name>
    </author>
    <rights type="text">Copyright 2011 Christopher Boone.</rights>
    <link type="text/html" rel="alternate" href="http://blog.hypsometry.com/articles/goudy-on-hypsometry/" />
    <content type="html">
&lt;p&gt;&lt;a href='http://hypsometry.com/' title='Go to the main Hypsometry site.'&gt;Hypsometry&lt;/a&gt; has a new design, inspired by &lt;a href='http://www.designhistory.org/ArtsCrafts.html' title='Read more about the private press movement and its history.'&gt;the private press movement&lt;/a&gt; and its humanist reaction to the industrialization of printing in the nineteenth century.&lt;/p&gt;
&lt;a href='http://hypsometry.com'&gt;
  &lt;img src='/images/goudy-on-hypsometry/hypsometry-home-heading-720x264.png' height='264' alt='' width='720' /&gt;
&lt;/a&gt;
&lt;p&gt;This design, like &lt;a href='http://blog.hypsometry.dev/articles/hypsography-news/' title='Read about my recent redesign of Hypsography.'&gt;my recent work&lt;/a&gt; on &lt;a href='http://hypsography.com/'&gt;Hypsography&lt;/a&gt;, makes use of &lt;a href='http://code.google.com/p/sortsmill/' title='Go to the Google Code project page for Sorts Mill Goudy.'&gt;Sorts Mill Goudy&lt;/a&gt;, &lt;a href='http://www.theleagueofmoveabletype.com/fonts/6-sorts-mill-goudy' title='Read more about the revival of Goudy Old Style, by Barry Schwartz, on the League of Moveable Type.'&gt;Barry Schwartz&amp;#8217;s excellent revival&lt;/a&gt; of &lt;a href='http://en.wikipedia.org/wiki/Frederic_W._Goudy' title='Read about Frederic Goudy on Wikipedia.'&gt;Frederic Goudy&amp;#8217;s&lt;/a&gt; classic typeface &lt;a href='http://en.wikipedia.org/wiki/Goudy_Old_Style' title='Read about Goudy Old Style on Wikipedia.'&gt;Goudy Old Style&lt;/a&gt;. For its titling, it features &lt;a href='http://www.castletype.com/html/tipoteca/goudy-trajan-regular.html' title='Read about Goudy Trajan on the CastleType site.'&gt;CastleType&amp;#8217;s typeface&lt;/a&gt; &lt;a href='http://www.fontsquirrel.com/fonts/Goudy-Trajan' title='Read about Goudy Trajan on the Font Squirrel.'&gt;Goudy Trajan&lt;/a&gt;, which is a digital revival of Goudy&amp;#8217;s translation of &lt;a href='http://en.wikipedia.org/wiki/Roman_square_capitals' title='Read about Roman majuscules on Wikipedia.'&gt;the Roman majuscules&lt;/a&gt; found on &lt;a href='http://penelope.uchicago.edu/~grout/encyclopaedia_romana/imperialfora/trajan/column.html' title='Read about the column and see a photograph of the majuscules as they appear there.'&gt;Trajan&amp;#8217;s Column.&lt;/a&gt; (Yes, a double revival.)&lt;/p&gt;

&lt;p&gt;The layout is built on a simple grid. (Too simple, really, and insufficiently humanist, at this point.) I&amp;#8217;ve used, and included, &lt;a href='http://analog.coop/'&gt;Analog Coop&amp;#8217;s&lt;/a&gt; &lt;a href='http://hashgrid.com/'&gt;#grid script&lt;/a&gt;, which means that you can type &lt;em&gt;g&lt;/em&gt; and see the grid; type &lt;em&gt;g + h&lt;/em&gt; and have the grid stay visible; or type &lt;em&gt;g + f&lt;/em&gt; to have the grid displayed on top of the site&amp;#8217;s content.&lt;/p&gt;
&lt;a href='http://hypsometry.com'&gt;
  &lt;img src='/images/goudy-on-hypsometry/hypsometry-home-blurb-with-grid-720x192.png' height='192' alt='' width='720' /&gt;
&lt;/a&gt;
&lt;p&gt;Again following in the traditions of the private presses, Hypsometry now has &lt;a href='http://www.google.com/images?q=printer&amp;apos;s+mark' title='See more examples of marks used by printers.'&gt;a printer&amp;#8217;s mark&lt;/a&gt;, with which I&amp;#8217;ve stamped the pages.&lt;/p&gt;
&lt;a href='http://hypsometry.com'&gt;
  &lt;img src='/images/goudy-on-hypsometry/hypsometry-printers-mark-72x72.png' height='72' alt='' width='72' /&gt;
&lt;/a&gt;
&lt;p&gt;More is coming, and I have more to say about all this; but for now, this suffices.&lt;/p&gt;

&lt;p&gt;
  February  3, 2011. &lt;br /&gt;
  Ashland, Oregon.
&lt;/p&gt;
    &lt;img src="http://feeds.feedburner.com/~r/hypsometry/blog/articles/~4/HdXqABRzU1o" height="1" width="1"/&gt;</content>
  </entry>
  <entry>
    <title>XII.</title>
    <id>tag:blog.hypsometry.com,2011-01-17:/articles/knuth-on-digital-typography/</id>
    <published>2011-01-17T10:27:00-08:00</published>
    <updated>2011-01-17T10:27:00-08:00</updated>
    <author>
      <name>Christopher Boone</name>
    </author>
    <rights type="text">Copyright 2011 Christopher Boone.</rights>
    <link type="text/html" rel="alternate" href="http://blog.hypsometry.com/articles/knuth-on-digital-typography/" />
    <content type="html">
&lt;blockquote cite='http://www-cs-faculty.stanford.edu/~knuth/dt.html'&gt;
  &lt;p&gt;
    I guess I must have ink in my veins: When I first learned about the potential of digital printing technology, I couldn't resist putting the rest of my life on hold while I tried to adapt the typographic wisdom of previous centuries to the possibilities of the present day.
  &lt;/p&gt;
&lt;/blockquote&gt;&lt;p class='blockquote-citation'&gt;
  &amp;mdash; Donald Knuth, &lt;br /&gt;
  &lt;a href='http://www-cs-faculty.stanford.edu/~knuth/dt.html'&gt;
    &lt;cite&gt;Digital Typography&lt;/cite&gt;.
  &lt;/a&gt;
&lt;/p&gt;

&lt;p&gt;
  January 17, 2011. &lt;br /&gt;
  Ashland, Oregon.
&lt;/p&gt;
    &lt;img src="http://feeds.feedburner.com/~r/hypsometry/blog/articles/~4/uIEoq-MYWQw" height="1" width="1"/&gt;</content>
  </entry>
  <entry>
    <title>XI.</title>
    <id>tag:blog.hypsometry.com,2010-07-22:/articles/rubyist-static-site-generators/</id>
    <published>2010-07-22T10:26:00-07:00</published>
    <updated>2010-07-22T10:26:00-07:00</updated>
    <author>
      <name>Christopher Boone</name>
    </author>
    <rights type="text">Copyright 2011 Christopher Boone.</rights>
    <link type="text/html" rel="alternate" href="http://blog.hypsometry.com/articles/rubyist-static-site-generators/" />
    <content type="html">
&lt;p&gt;Last fall, after years of creating highly dynamic websites and web applications, I reversed directions. Now I aim for as much static HTML as possible. It&amp;#8217;s simpler, faster, cleaner, more elegant, easier to read, and for most projects it&amp;#8217;s all you need.&lt;/p&gt;

&lt;p&gt;&lt;a href='http://hypsography.com/'&gt;Hypsography&lt;/a&gt; and &lt;a href='http://hypsometry.com/'&gt;Hypsometry&lt;/a&gt;, for example, are both entirely static. Hand written HTML, CSS, and Javascript, served up simple and fast.&lt;/p&gt;

&lt;p&gt;This site, &lt;a href='http://blog.hypsometry.com/'&gt;the Hypsometry Blog&lt;/a&gt;, is built with &lt;a href='http://github.com/mojombo/jekyll'&gt;Jekyll&lt;/a&gt;, &lt;a href='http://tom.preston-werner.com/'&gt;Tom Preston-Werner&amp;#8217;s&lt;/a&gt; elegant little Ruby hacker blogging tool. Jekyll takes &lt;a href='http://www.liquidmarkup.org/'&gt;Liquid templates&lt;/a&gt; and fills them with marked-up text, sprinkling a little &lt;a href='http://www.yaml.org/'&gt;YAML&lt;/a&gt; data over the top, and outputs HTML ready for your server. That works well.&lt;/p&gt;

&lt;p&gt;Hypsography, however, is getting to the point where I don&amp;#8217;t want to be maintaining all the code by hand (albeit with heavy help from &lt;a href='http://macromates.com/'&gt;Textmate&lt;/a&gt;), but I also don&amp;#8217;t want to lose the simplicity and speed of serving static files. There&amp;#8217;s no need to migrate to a full-bore content management system, with all the configuration and maintenance hassles that inevitably entails. Jekyll&amp;#8217;s wonderful, but it&amp;#8217;s not usable on sites that aren&amp;#8217;t simple blogs.&lt;/p&gt;

&lt;p&gt;Since Jekyll was released, a slew of static site generators written in Ruby have come along (and some have gone right along too). They all have a basic philosophy similar to &lt;a href='http://tom.preston-werner.com/2008/11/17/blogging-like-a-hacker.html'&gt;that originally outlined by Tom Preston-Werner:&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;They all take templates and content and merge them together, creating static HTML sites ready for deployment. They tend to use YAML for configuration. Most accept multiple markup formats as input. They all can watch your directory for changes in order to rebuild the site dynamically as you work on it.&lt;/p&gt;

&lt;p&gt;Their differences are smaller, but important. Each has a slightly different approach to the same problem, and thus each meets a slightly different need.&lt;/p&gt;

&lt;p&gt;Having spent the past couple days (for the second time in six months) going through the options and evaluating them, I thought I&amp;#8217;d summarize what I&amp;#8217;ve found. Let me point out that all the programs discussed below seem excellent and worth investigation. There are other programs out there which seem less excellent, and I&amp;#8217;ve ignored those here. Please let me know if I&amp;#8217;ve missed anything, of course.&lt;/p&gt;

&lt;p&gt;(There is one other useful approach to all this: Writing your own generator using &lt;a href='http://en.wikipedia.org/wiki/Rake_(software)'&gt;Rake&lt;/a&gt;, YAML, and &lt;a href='http://github.com/defunkt/mustache'&gt;Mustache&lt;/a&gt;. This is quite appealing, but not what I&amp;#8217;m in the market for today. &lt;a href='http://ozmm.org/posts/static_sites_with_mustache.html'&gt;Chris Wanstrath wrote about his approach last year&lt;/a&gt;, if you&amp;#8217;re interested.)&lt;/p&gt;

&lt;p&gt;Here follows my one-sentence summaries of all the Rubyist static site generators that I&amp;#8217;ve looked at recently:&lt;/p&gt;

&lt;h2 id='bonsai'&gt;&lt;a href='http://tinytree.info/'&gt;Bonsai.&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Beautiful, simple, flexible (uses &lt;a href='http://github.com/rtomayko/tilt'&gt;Tilt&lt;/a&gt; for template handling), progressive (HTML5 by default), but the current version doesn&amp;#8217;t work out of the box and it&amp;#8217;s intended primarily for portfolio sites. (&lt;a href='http://tinytree.info/'&gt;Project site&lt;/a&gt;, &lt;a href='http://github.com/benschwarz/bonsai'&gt;Github&lt;/a&gt;.)&lt;/p&gt;

&lt;h2 id='middleman'&gt;&lt;a href='http://wiki.github.com/tdreyno/middleman/'&gt;Middleman.&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Rails-like (in ways both good and bad), highly configurable and flexible, and includes automatic minification of CSS and Javascript, as well as other useful optimizations. (&lt;a href='http://awardwinningfjords.com/2009/10/22/middleman.html'&gt;Introductory post&lt;/a&gt;, &lt;a href='http://wiki.github.com/tdreyno/middleman/'&gt;Github&lt;/a&gt;.)&lt;/p&gt;

&lt;h2 id='nanoc'&gt;&lt;a href='http://nanoc.stoneship.org/'&gt;Nanoc.&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Extremely powerful and extensible, perhaps too much so, and prefers configuration to convention. (&lt;a href='http://nanoc.stoneship.org/'&gt;Project site&lt;/a&gt;, &lt;a href='http://github.com/ddfreyne/nanoc'&gt;Github&lt;/a&gt;.)&lt;/p&gt;

&lt;h2 id='staticmatic'&gt;&lt;a href='http://staticmatic.rubyforge.org/'&gt;Staticmatic.&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Simple, clean, but strangely &lt;a href='http://haml-lang.com/'&gt;Haml&lt;/a&gt;-dependent. (&lt;a href='http://staticmatic.rubyforge.org/'&gt;Ruby Forge&lt;/a&gt;, &lt;a href='http://github.com/staticmatic/staticmatic'&gt;Github&lt;/a&gt;.)&lt;/p&gt;

&lt;h2 id='webby'&gt;&lt;a href='http://webby.rubyforge.org/'&gt;Webby.&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Simple, flexible, quite Jekyllish. (&lt;a href='http://webby.rubyforge.org/'&gt;Ruby Forge&lt;/a&gt;, &lt;a href='http://github.com/TwP/webby'&gt;Github&lt;/a&gt;.)&lt;/p&gt;

&lt;h2 id='webgen'&gt;&lt;a href='http://webgen.rubyforge.org/'&gt;Webgen.&lt;/a&gt;&lt;/h2&gt;

&lt;p&gt;Powerful, extensible, slightly rigid in operation. (&lt;a href='http://webgen.rubyforge.org/'&gt;Ruby Forge&lt;/a&gt;, &lt;a href='http://github.com/gettalong/webgen'&gt;Github&lt;/a&gt;.)&lt;/p&gt;

&lt;h2 id='not_quite_a_conclusion'&gt;Not quite a conclusion.&lt;/h2&gt;

&lt;p&gt;That&amp;#8217;s the list, and those are my notes. You can probably guess which I&amp;#8217;m going to try out on Hypsography, but whether or not you can, you&amp;#8217;ll be hearing more about the results here.&lt;/p&gt;

&lt;h2 id='a_historical_aside'&gt;A historical aside.&lt;/h2&gt;

&lt;p&gt;Since &lt;a href='/articles/three-things-about-pivot/'&gt;I wrote once before about static site generation&lt;/a&gt;, I&amp;#8217;ve taken this opportunity to begin restoring old articles to the Hypsometry Blog. As such, there is now an article zero: &lt;a href='/articles/nulla/'&gt;Nulla&lt;/a&gt;, actually, since &lt;a href='http://en.wikipedia.org/wiki/Roman_numerals#Zero'&gt;the Romans didn&amp;#8217;t really have notation for zero.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Nulla serves as a marker. All articles older than it are reprints, numbered negatively (which is also an anachronism, but hey), and probably slightly altered from their original forms. All articles newer are indeed new, part of &lt;a href='/articles/ashland-mccarthy-and-the-field-guide/'&gt;this latest iteration of the Hypsometry Blog.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;As time passes, I&amp;#8217;ll continue working my way through the Hypsometry archives, digging out other older articles perhaps worthy of a second look. Or at least worthy of having their links preserved. Don&amp;#8217;t take them too seriously &amp;#8211; they&amp;#8217;re oldies, but not necessarily goodies.&lt;/p&gt;

&lt;p&gt;
  July 22, 2010. &lt;br /&gt;
  Ashland, Oregon.
&lt;/p&gt;
    &lt;img src="http://feeds.feedburner.com/~r/hypsometry/blog/articles/~4/RqGkMYtjvl4" height="1" width="1"/&gt;</content>
  </entry>
  <entry>
    <title>X.</title>
    <id>tag:blog.hypsometry.com,2010-06-29:/articles/art-not-ads/</id>
    <published>2010-06-29T19:11:00-07:00</published>
    <updated>2010-06-29T19:11:00-07:00</updated>
    <author>
      <name>Christopher Boone</name>
    </author>
    <rights type="text">Copyright 2011 Christopher Boone.</rights>
    <link type="text/html" rel="alternate" href="http://blog.hypsometry.com/articles/art-not-ads/" />
    <content type="html">
&lt;a href='http://www.adfreeblog.org/'&gt;
  &lt;img src='http://www.adfreeblog.org/art_not_ads.jpg' alt='Art Not Ads' /&gt;
&lt;/a&gt;

&lt;p&gt;
  June 29, 2010. &lt;br /&gt;
  Ashland, Oregon.
&lt;/p&gt;
    &lt;img src="http://feeds.feedburner.com/~r/hypsometry/blog/articles/~4/2VnXvUO9A44" height="1" width="1"/&gt;</content>
  </entry>
  <entry>
    <title>IX.</title>
    <id>tag:blog.hypsometry.com,2010-06-23:/articles/the-serfdom-of-crowds/</id>
    <published>2010-06-23T15:56:00-07:00</published>
    <updated>2010-06-23T15:56:00-07:00</updated>
    <author>
      <name>Christopher Boone</name>
    </author>
    <rights type="text">Copyright 2011 Christopher Boone.</rights>
    <link type="text/html" rel="alternate" href="http://blog.hypsometry.com/articles/the-serfdom-of-crowds/" />
    <content type="html">
&lt;p&gt;Sometime in the mid-nineties, around the time I stopped reading &lt;a href='http://en.wikipedia.org/wiki/Mondo_2000'&gt;Mondo 2000&lt;/a&gt;, &lt;a href='http://www.jaronlanier.com/'&gt;Jaron Lanier&lt;/a&gt; stopped annoying me. I assumed he was still out there, being all far out and dreaded and inter-disciplinary, but he no longer forced his way into my attention, and was thus out of mind.&lt;/p&gt;

&lt;p&gt;Apparently he&amp;#8217;s not yet out of sight. He has in the interim, however, become more articulate, more insightful, and more interesting. This past January his newest book, &lt;a href='http://books.google.com/books?id=sqNWqEB8Ie0C'&gt;&lt;em&gt;You Are Not a Gadget,&lt;/em&gt;&lt;/a&gt; was published, and in February &lt;a href='http://harpers.org/'&gt;&lt;em&gt;Harper&amp;#8217;s Magazine&lt;/em&gt;&lt;/a&gt; published an excerpt called &lt;a href='http://harpers.org/archive/2010/02/0082805'&gt;&amp;#8216;The serfdom of crowds.&amp;#8217;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;(The complete article is only available online to &lt;em&gt;Harper&amp;#8217;s&lt;/em&gt; subscribers, but there is &lt;a href='http://www.scribd.com/doc/25828774/James-Lanier-The-Serfdom-of-Crowds'&gt;an illicit version available on Scribd&lt;/a&gt;, in beautiful HTML5. That said, I recommend that you go to &lt;a href='http://nces.ed.gov/surveys/libraries/librarysearch/'&gt;your local library&lt;/a&gt; and read the damn thing in print.)&lt;/p&gt;

&lt;p&gt;Let me quote from it at length, to give you something of its full flavor. Here is Lanier discussing the collapse of the financial markets in 2008 and how that related to, and derived from, the essential inequality of the current structure of the web:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;True believers in the hive mind seem to think that no number of layers of abstraction in a financial system can dull the system’s efficacy. The crowd works for free, and statistical algorithms supposedly take the risk out of making bets if you are a lord of the cloud. But who is that lord who owns the cloud that connects the crowd? Not just anybody. A lucky few (for luck is all that can possibly be involved) will own it. Entitlement has achieved its singularity and become infinite.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;What has allowed this infinite entitlement, this neo-feudalism? We have, in a thousand little ways:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;People degrade themselves all the time in order to make machines seem smart. We have repeatedly demonstrated our species’s bottomless ability to lower our standards to make information technology good.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I would amend the last sentence to refer more generally to &amp;#8216;technology&amp;#8217;, rather than just to &amp;#8216;information technology,&amp;#8217; for this lowering of standards is wide-spread. For example, it is precisely what allows us to claim that items fabricated from synthetic chemicals and compounds and shaped roughly into the appearance of traditional foodstuffs are, in any way, actually food.&lt;/p&gt;

&lt;p&gt;Lanier is focused here specifically on the web side of this argument, not on the general case; but many of the things he writes apply more generally. For example:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Enlightened designers leave open the possibility of metaphysical specialness either in humans or in the potential for for unforeseen creative processes that we can’t yet capture in software systems. That kind of modesty is the signature quality of being human-centered.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;To return to my example, this is the difference between manufacturing bread in factories and baking loaves in a wood-fired oven. (Brief aside: When did we begin using &lt;a href='http://www.etymonline.com/index.php?term=manufacture'&gt;&amp;#8216;manufactured&amp;#8217;&lt;/a&gt; to mean &amp;#8216;not manufactured?&amp;#8217;)&lt;/p&gt;

&lt;p&gt;The former method asserts that there is nothing special about having a human bake bread; everything involved can be simplified down such that mechanical and software systems can handle it. The latter method, on the other hand, recognizes that there is potential inherent in the baking process that only a baker can explore. Choosing the first method devalues the second &amp;#8211; devalues the method, devalues the bread, and devalues both the baker and the eater.&lt;/p&gt;

&lt;p&gt;To return to Lanier, on this devaluation and its causes:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;What computerized analysis of all the country’s school tests has done to education is exactly what Facebook has done to friendships. In both cases, life is turned into a database. Both degradations are based on the same philosophical mistake, which is the belief that computers can presently represent human thought or human relationships. These are things computers cannot currently do.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;And on the resultant effects of this devaluation, this forced technological simplification, this database as life:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;When technologists deploy a computer model of something like learning or friendship in a way that has an effect on real lives, they are relying on faith. When they ask people to live their lives through their models, they are potentially reducing life itself.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;
  June 23, 2010. &lt;br /&gt;
  Ashland, Oregon.
&lt;/p&gt;
    &lt;img src="http://feeds.feedburner.com/~r/hypsometry/blog/articles/~4/j1k8m9W8qZo" height="1" width="1"/&gt;</content>
  </entry>
  <entry>
    <title>VIII.</title>
    <id>tag:blog.hypsometry.com,2010-06-14:/articles/html5-and-safari-reader/</id>
    <published>2010-06-14T12:56:00-07:00</published>
    <updated>2010-06-14T12:56:00-07:00</updated>
    <author>
      <name>Christopher Boone</name>
    </author>
    <rights type="text">Copyright 2011 Christopher Boone.</rights>
    <link type="text/html" rel="alternate" href="http://blog.hypsometry.com/articles/html5-and-safari-reader/" />
    <content type="html">
&lt;p&gt;As you know, &lt;a href='http://www.apple.com/safari/'&gt;Safari 5&lt;/a&gt; came out last week. Two of its best features are &lt;a href='http://www.apple.com/safari/whats-new.html#reader'&gt;the Safari Reader&lt;/a&gt; and &lt;a href='http://www.apple.com/safari/whats-new.html#html5'&gt;much improved support for HTML5&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Reader you know about. You might not know, however, that &lt;a href='http://rakaz.nl/2010/06/html5-test-updated-how-well-does-your-browser-support-html5-now.html'&gt;Safari 5 now outscores all other browsers&lt;/a&gt; on &lt;a href='http://html5test.com/'&gt;the HTML5 test&lt;/a&gt;. That&amp;#8217;s exciting. It&amp;#8217;s not complete support, but it&amp;#8217;s a lot of the essentials. And, after all, the spec itself isn&amp;#8217;t even complete yet.&lt;/p&gt;

&lt;p&gt;Another thing you might not know is that I&amp;#8217;m working almost exclusively in &lt;a href='http://en.wikipedia.org/wiki/Html5'&gt;HTML5&lt;/a&gt; these days. If there&amp;#8217;s a reason not to use it, I&amp;#8217;m not; but it&amp;#8217;s my default and my preference. That means that my photography portfolio site &amp;#8211; &lt;a href='http://hypsography.com/'&gt;Hypsography&lt;/a&gt; &amp;#8211; is all HTML5 under the surface. And that, in turn, means that &lt;a href='http://hypsography.com/news/'&gt;the news articles I write for Hypsography&lt;/a&gt; make appropriate use of &lt;a href='http://www.whatwg.org/specs/web-apps/current-work/#the-article-element'&gt;the &lt;code&gt;article&lt;/code&gt; element&lt;/a&gt;, along with many other semantic elements. One &lt;code&gt;&amp;lt;article&amp;gt;&lt;/code&gt; equals one article. Simple and clear.&lt;/p&gt;

&lt;p&gt;Let&amp;#8217;s review what &lt;a href='http://www.apple.com/safari/whats-new.html#reader'&gt;Apple says about Safari Reader&lt;/a&gt;:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;As you browse the web, Safari detects if you’re on a web page with an article. Click the Reader icon in the Smart Address Field, and the article appears instantly in one continuous, clutter-free view. You see every page of the article — whether two or twenty.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Totally. And it works really well, at least when you&amp;#8217;re reading &lt;a href='http://nytimes.com/'&gt;the Times&lt;/a&gt;. When you&amp;#8217;re reading Hypsography, however, it works a little less well:&lt;/p&gt;
&lt;img src='/images/html5-and-safari-reader/year-review-reader-top-720x408.png' height='408' alt='' width='720' /&gt;
&lt;p&gt;That&amp;#8217;s not ideal. The ice photograph that&amp;#8217;s intruding in the middle of the text is enclosed in an &lt;a href='http://www.whatwg.org/specs/web-apps/current-work/#the-aside-element'&gt;&lt;code&gt;aside&lt;/code&gt;&lt;/a&gt;, which should be considered &amp;#8220;tangentially related to the content around&amp;#8221; it, but Safari apparently doesn&amp;#8217;t get that. But at least it&amp;#8217;s readable, somewhat. And, looking under the surface with the Web Inspector, this misinterpretation looks fixable via CSS.&lt;/p&gt;

&lt;p&gt;What&amp;#8217;s worse is what happens when you scroll to the end of the article:&lt;/p&gt;
&lt;img src='/images/html5-and-safari-reader/year-review-reader-bottom-720x408.png' height='408' alt='' width='720' /&gt;
&lt;p&gt;Safari has decided that the article ends there. Arbitrarily decided, it seems, since the article does not end there. In fact, of the five sections into which that article &amp;#8211; &lt;a href='http://hypsography.com/news/end-of-the-year-review-2009/'&gt;An end of the year review, inspired by Mr. Dalton Rooney&lt;/a&gt; &amp;#8211; is divided, Safari has chosen to include only two of them. The first and the third sections. Naturally.&lt;/p&gt;

&lt;p&gt;Let me clarify this a smidge more: The five sections into which this article is divided are delineated by &lt;a href='http://www.whatwg.org/specs/web-apps/current-work/#the-section-element'&gt;&lt;code&gt;section&lt;/code&gt;&lt;/a&gt; tags, all of which are contained with the one parent &lt;code&gt;article&lt;/code&gt;. This is semantic, this is simple, and this is clear. You might figure it&amp;#8217;d be easy too.&lt;/p&gt;

&lt;p&gt;Oh well.&lt;/p&gt;

&lt;p&gt;If anybody out there has an understanding of what precisely Safari Reader looks for in an article, please let me know. Thanks, and good luck.&lt;/p&gt;

&lt;p&gt;
  June 14, 2010. &lt;br /&gt;
  Ashland, Oregon.
&lt;/p&gt;
    &lt;img src="http://feeds.feedburner.com/~r/hypsometry/blog/articles/~4/lc7BD5aM7-8" height="1" width="1"/&gt;</content>
  </entry>
  <entry>
    <title>VII.</title>
    <id>tag:blog.hypsometry.com,2010-06-07:/articles/hypsometrys-simple-portfolio/</id>
    <published>2010-06-07T13:59:00-07:00</published>
    <updated>2010-06-07T13:59:00-07:00</updated>
    <author>
      <name>Christopher Boone</name>
    </author>
    <rights type="text">Copyright 2011 Christopher Boone.</rights>
    <link type="text/html" rel="alternate" href="http://blog.hypsometry.com/articles/hypsometrys-simple-portfolio/" />
    <content type="html">
&lt;p&gt;After a diapause of several years, &lt;a href='http://hypsometry.com/#portfolio'&gt;Hypsometry again has a portfolio section.&lt;/a&gt;&lt;/p&gt;
&lt;a href='http://hypsometry.com/#portfolio'&gt;
  &lt;img src='/images/hypsometrys-simple-portfolio/hpm-portfolio-fritzhorstman-720x240.png' height='240' alt='' width='720' /&gt;
&lt;/a&gt;

&lt;p&gt;
  June  7, 2010. &lt;br /&gt;
  Ashland, Oregon.
&lt;/p&gt;
    &lt;img src="http://feeds.feedburner.com/~r/hypsometry/blog/articles/~4/3U1IyGwBjDw" height="1" width="1"/&gt;</content>
  </entry>
  <entry>
    <title>VI.</title>
    <id>tag:blog.hypsometry.com,2010-01-15:/articles/true-small-capitals-with-font-face/</id>
    <published>2010-01-15T11:27:00-08:00</published>
    <updated>2010-01-15T11:27:00-08:00</updated>
    <author>
      <name>Christopher Boone</name>
    </author>
    <rights type="text">Copyright 2011 Christopher Boone.</rights>
    <link type="text/html" rel="alternate" href="http://blog.hypsometry.com/articles/true-small-capitals-with-font-face/" />
    <content type="html">
&lt;p&gt;One small, but quite good, reason to rejoice at the coming of a widely useable &lt;code&gt;@font-face:&lt;/code&gt; &lt;strong&gt;True small capitals are now possible on the web.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;Small capitals are, &lt;a href='http://ilovetypography.com/2008/02/20/small-caps/' title='Read about small capitals on I Love Typography.'&gt;as Alec Julien put it&lt;/a&gt;, &amp;#8220;upper case glyphs drawn at a lower case scale.&amp;#8221; They are not, however, simply regular capitals shrunk down; they are properly their own font, with their own characteristics, designed to work with both regular capital and lower case letters.&lt;/p&gt;

&lt;p&gt;To be more precise: 1. The cap height of a small capital is the same as, or just slightly larger than, the x-height of the typeface&amp;#8217;s lower case letters. 2. The weight of the strokes of a small capital are comparable, visually speaking, to the weight of the strokes of the typeface in general, at the size being used. 3. The proportions of a small capital are also comparable, visually speaking, to the proportions of the characters of the typeface in general, at the size being used.&lt;/p&gt;

&lt;p&gt;Two implications of the latter two points are that the strokes and proportions of a given small capital letter will be heavier and more spread out than the strokes and proportions of the same letter upper cased, at the same point size. This is because small capitals have the form of regular capital letters, but the characteristics of the lower case.&lt;/p&gt;

&lt;p&gt;Unfortunately, true small capitals are hard to come by these days. Computer software, as a rule, uses fake small capitals, created simply by scaling down upper case letters so that they are smaller than the originals, but larger than the associated lower case. This is true of web browsers as well as word processors, desktop publishing applications, and vector editors.&lt;/p&gt;

&lt;p&gt;For instance, the second line above should look about like this, using true, properly designed small capitals: &lt;img src='/images/true-small-capitals-with-font-face/first-paragraph-true-small-capitals.png' alt='' /&gt; But, had I not &lt;code&gt;@font-face&lt;/code&gt; to rely on, your web browser&amp;#8217;s fake small capitals would make it look more like this: &lt;img src='/images/true-small-capitals-with-font-face/first-paragraph-fake-small-capitals.png' alt='' /&gt; Not at all the same thing, clearly. The proportions of the second example are all wrong &amp;#8211; simultaneously too big and too thin, tracked too tightly, and rather difficult to read. The first example is balanced, strong, eminently legible.&lt;/p&gt;

&lt;p&gt;Using true small capitals on the web was not possible until recently, at least not with type that is actually type. Let&amp;#8217;s look at how it works, and also, along the way, at several ways to fake small capitals. Comparing them all side by side will make even clearer the import of the differences I described above.&lt;/p&gt;

&lt;h2 id='1_setting_the__property_to_'&gt;1. Setting the &lt;code&gt;font-variant&lt;/code&gt; property to &lt;code&gt;small-caps&lt;/code&gt;.&lt;/h2&gt;

&lt;p&gt;This is what should work. &lt;a href='http://www.w3.org/TR/CSS21/fonts.html#small-caps' title='Read about the font-variant property in the CSS standard on the W3C website.'&gt;The W3C CSS standard tells us that &lt;code&gt;font-variant: small-caps&lt;/code&gt; will instruct the browser to do the right thing.&lt;/a&gt; &amp;#8220;A value of &amp;#8216;small-caps&amp;#8217; selects a small-caps font&amp;#8221;, it says.&lt;/p&gt;

&lt;p&gt;This is how your browser interprets &lt;code&gt;font-variant: small-caps&lt;/code&gt;:&lt;/p&gt;
&lt;p class='small-capitals-example'&gt;
  &lt;span class='small-capitals-font-variant'&gt;
    Giambattista Bodoni: February 16, 1740 in Saluzzo &amp;ndash; November 29, 1813 in Parma.
  &lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;That looks okay, I guess. In comparison to the small capitals, the upper case letters and numerals look overly heavy. Some of the small capital letters &amp;#8211; the &lt;em&gt;t&lt;/em&gt; and the &lt;em&gt;m&lt;/em&gt;, for instance &amp;#8211; have strokes that are so thin as to almost vanish.&lt;/p&gt;

&lt;p&gt;Let&amp;#8217;s look at a second example, to make the differences clearer:&lt;/p&gt;
&lt;p class='small-capitals-example'&gt;
  &lt;span class='small-capitals-font-variant-partial'&gt;
    A &lt;span&gt;a&lt;/span&gt; a &amp;mdash; M &lt;span&gt;m&lt;/span&gt; m &amp;mdash; X &lt;span&gt;x&lt;/span&gt; x
  &lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;Now you can see quite clearly that the cap height of the small capitals is substantially larger than the x-height of the lower case letters, to say nothing of the overshoot of letters like &lt;em&gt;a&lt;/em&gt; and &lt;em&gt;m&lt;/em&gt;. Also, you can see how the proportions and weights of these fake small capitals match neither the upper case nor the lower case. All in all, this style of fake small capitals works quite poorly.&lt;/p&gt;

&lt;p&gt;But why is this? The typeface in which this page is set &amp;#8211; &lt;a href='http://iginomarini.com/fell/the-revival-fonts/' title='Go to the IM Fell revival page.'&gt;IM Fell Great Primer&lt;/a&gt; &amp;#8211; has a small capitals variant, so why do the browsers not use it? After all, the CSS standard says that they should when &lt;code&gt;font-variant: small-caps&lt;/code&gt; is used.&lt;/p&gt;

&lt;p&gt;Sadly, no browser has actually implemented this. Instead of looking to see whether true small capitals are available, they all jump to the next portion of the standard:&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;It is acceptable (but not required) if the small-caps font is a created by taking a normal font and replacing the lower case letters by scaled upper case characters.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I&amp;#8217;m not sure who, precisely, thinks that that is acceptable, but even if it were, it is surely not acceptable to ignore existing small capital fonts created by proper methods in favor of bogus ones created on the fly.&lt;/p&gt;

&lt;h2 id='2_the_joe_clark_method'&gt;2. The Joe Clark method.&lt;/h2&gt;

&lt;p&gt;Faced with the problems above, &lt;a href='http://joeclark.org/' title='Go to joeclark.org.'&gt;Joe Clark&lt;/a&gt; suggested &lt;a href='http://joeclark.org/' title='Go to joeclark.org.'&gt;a simple alternative&lt;/a&gt;: Convert the text to capitals and reduce its size. This is, of course, exactly what the browsers do when you specify &lt;code&gt;font-variant: small-caps&lt;/code&gt;. The slight theoretical advantage provided by Joe Clark&amp;#8217;s method is that you can more precisely and carefully control how much the fake small capitals are scaled down, leading, perhaps to better matching of heights, proportions, and weights. A simple example:&lt;/p&gt;
&lt;p class='small-capitals-example'&gt;
  &lt;span class='small-capitals-joe-clark'&gt;
    Giambattista Bodoni: February 16, 1740 in Saluzzo &amp;ndash; November 29, 1813 in Parma.
  &lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;Of course, applied like that, Joe Clark&amp;#8217;s method forces all letters and numerals to small capitals, even if that&amp;#8217;s not what you desired. A slightly more sophisticated version of his method would apply the technique selectively &amp;#8211; say, to letters that are already lower cased. Let&amp;#8217;s assume that you have an automatic way to do so &amp;#8211; a CMS plugin, for example, or a clever piece of Javascript:&lt;/p&gt;
&lt;p class='small-capitals-example'&gt;
  &lt;span class='small-capitals-clever-joe-clark'&gt;
    G&lt;span&gt;iambattista&lt;/span&gt; B&lt;span&gt;odoni&lt;/span&gt;:
    F&lt;span&gt;ebruary&lt;/span&gt; 16, 1740 &lt;span&gt;in&lt;/span&gt; S&lt;span&gt;aluzzo&lt;/span&gt; &amp;ndash;
    N&lt;span&gt;ovember&lt;/span&gt; 29, 1813 &lt;span&gt;in&lt;/span&gt; P&lt;span&gt;arma&lt;/span&gt;.
  &lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;This, of course, is a total pain in the ass, and it makes a bit of a hash of the text&amp;#8217;s HTML. On the other hand, it does allow for more precise control of the size of the fake small capitals, which might be helpful.&lt;/p&gt;

&lt;p&gt;To see that more clearly, here is a third example &amp;#8211; the same as the one in &amp;#167;1:&lt;/p&gt;
&lt;p class='small-capitals-example'&gt;
  &lt;span class='small-capitals-clever-joe-clark'&gt;
    A &lt;span&gt;a&lt;/span&gt; a &amp;mdash; M &lt;span&gt;m&lt;/span&gt; m &amp;mdash; X &lt;span&gt;x&lt;/span&gt; x
  &lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;You see the same problems as in &amp;#167;1: The Joe Clark small capitals are too big and their proportions are wrong. The weights, however, are not quite as bad. Let&amp;#8217;s look at a fourth example, comparing the &lt;code&gt;font-variant&lt;/code&gt; method and the Joe Clark method, in that order, to see how the two compare:&lt;/p&gt;
&lt;p class='small-capitals-example'&gt;
  &lt;span class='small-capitals-font-variant'&gt;a&lt;/span&gt;
  &lt;span class='small-capitals-joe-clark'&gt;a&lt;/span&gt; &amp;mdash;
  &lt;span class='small-capitals-font-variant'&gt;m&lt;/span&gt;
  &lt;span class='small-capitals-joe-clark'&gt;m&lt;/span&gt; &amp;mdash;
  &lt;span class='small-capitals-font-variant'&gt;x&lt;/span&gt;
  &lt;span class='small-capitals-joe-clark'&gt;x&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;The proportions and weights of Joe Clark&amp;#8217;s fake small capitals are better than those of the &lt;code&gt;font-variant&lt;/code&gt; method, but only because the letters themselves are even larger. Hard to call that an improvement.&lt;/p&gt;

&lt;h2 id='3_the_nick_shinn_method'&gt;3. The Nick Shinn method.&lt;/h2&gt;

&lt;p&gt;This problem of how to fake small capitals when no proper ones exist, or the software will not let you access them, is not unique to the web. &lt;a href='http://shinntype.com/' title='Go to shinntype.com.'&gt;Nick Shinn&lt;/a&gt; has suggested that, in addition to capitalizing and reducing the size of the text, &lt;a href='http://typophile.com/node/56161' title='Read about Nick Shinn style fake small capitals on Typophile.'&gt;you should increase its weight.&lt;/a&gt; This allows for making the small capitals a little smaller &amp;#8211; a little closer to the actual x-height of the typeface &amp;#8211; while better preserving their weights and proportions.&lt;/p&gt;

&lt;p&gt;A simple example:&lt;/p&gt;
&lt;p class='small-capitals-example'&gt;
  &lt;span class='small-capitals-nick-shinn'&gt;
    Giambattista Bodoni: February 16, 1740 in Saluzzo &amp;ndash; November 29, 1813 in Parma.
  &lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;A more sophisticated example, again &amp;#8211; as in &amp;#167;2 &amp;#8211; imagining some sort of automated helper, and ignoring the complexity of the technique and the hash it makes of the HTML:&lt;/p&gt;
&lt;p class='small-capitals-example'&gt;
  &lt;span class='small-capitals-clever-nick-shinn'&gt;
    G&lt;span&gt;iambattista&lt;/span&gt; B&lt;span&gt;odoni&lt;/span&gt;:
    F&lt;span&gt;ebruary&lt;/span&gt; 16, 1740 &lt;span&gt;in&lt;/span&gt; S&lt;span&gt;aluzzo&lt;/span&gt; &amp;ndash;
    N&lt;span&gt;ovember&lt;/span&gt; 29, 1813 &lt;span&gt;in&lt;/span&gt; P&lt;span&gt;arma&lt;/span&gt;.
  &lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;This looks better in some ways, and worse in others. It is still basically unacceptable. Perhaps in some contexts, with some combinations of typeface and size, this might work well. Here, despite the improvement in small capital size, the overly heavy weight is too much. Of course, the typeface you see here has no true bold weight, so your browser is faking it; perhaps it is too much to hope that a faked heavy weight could help us, in turn, fake small capitals.&lt;/p&gt;

&lt;p&gt;Let&amp;#8217;s compare upper case, lower case, and Nick Shinn small capitals:&lt;/p&gt;
&lt;p class='small-capitals-example'&gt;
  &lt;span class='small-capitals-clever-nick-shinn'&gt;
    A &lt;span&gt;a&lt;/span&gt; a &amp;mdash; M &lt;span&gt;m&lt;/span&gt; m &amp;mdash; X &lt;span&gt;x&lt;/span&gt; x
  &lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;Correct height and proportions with excessively heavy weight is no better than incorrect height. And it turns out that the x-heights are not in fact correct: They only appear correct at this size of type. Try resizing the text in your browser window, and you&amp;#8217;ll see that the evenness is limited to the sizes I&amp;#8217;ve set here.&lt;/p&gt;

&lt;p&gt;A fourth example, this time comparing the &lt;code&gt;font-variant&lt;/code&gt; method, the Joe Clark method, and the Nick Shinn method, presented in that order:&lt;/p&gt;
&lt;p class='small-capitals-example'&gt;
  &lt;span class='small-capitals-font-variant'&gt;a&lt;/span&gt;
  &lt;span class='small-capitals-joe-clark'&gt;a&lt;/span&gt;
  &lt;span class='small-capitals-nick-shinn'&gt;a&lt;/span&gt; &amp;mdash;
  &lt;span class='small-capitals-font-variant'&gt;m&lt;/span&gt;
  &lt;span class='small-capitals-joe-clark'&gt;m&lt;/span&gt;
  &lt;span class='small-capitals-nick-shinn'&gt;m&lt;/span&gt; &amp;mdash;
  &lt;span class='small-capitals-font-variant'&gt;x&lt;/span&gt;
  &lt;span class='small-capitals-joe-clark'&gt;x&lt;/span&gt;
  &lt;span class='small-capitals-nick-shinn'&gt;x&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;Of these three, the browser scaling method seems the best, despite is many flaws. None produce good results, and it&amp;#8217;s far and away the simplest.&lt;/p&gt;

&lt;h2 id='4_using_'&gt;4. Using &lt;code&gt;@font-face&lt;/code&gt;.&lt;/h2&gt;

&lt;p&gt;There is an additional problem here, besides the technical failings of the browsers and the limits of what you can express using CSS: Proper small capital fonts are a rarity. Type designers design them, foundries sell them, but few non&amp;#8211;professionals have them on their computers.&lt;/p&gt;

&lt;p&gt;The typeface in which the Hypsometry Blog is set is &lt;a href='http://iginomarini.com/fell/the-revival-fonts/' title='Go to the IM Fell revival page.'&gt;IM Fell Great Primer&lt;/a&gt;, a beautiful typeface first cut by Peter de Walpergen, acquired by John Fell in the late 1680s, and digitally revived by &lt;a href='http://iginomarini.com/' title='Go to iginomarini.com.'&gt;Igino Marini&lt;/a&gt;. In its original metal, IM Fell Great Primer consisted of romans, italics, and small capitals. Sr Marini has created OpenType versions of all three, and made them freely available. As such, I can use &lt;code&gt;@font-face&lt;/code&gt; to specify the use of the small capitals variant.&lt;/p&gt;

&lt;p&gt;An example:&lt;/p&gt;
&lt;p class='small-capitals-example'&gt;
  &lt;span class='small-capitals-font-face'&gt;
    Giambattista Bodoni: February 16, 1740 in Saluzzo &amp;ndash; November 29, 1813 in Parma.
  &lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;And, again, a comparison with the upper and lower cases:&lt;/p&gt;
&lt;p class='small-capitals-example'&gt;
  &lt;span class='small-capitals-font-face-partial'&gt;
    A &lt;span&gt;a&lt;/span&gt; a &amp;mdash; M &lt;span&gt;m&lt;/span&gt; m &amp;mdash; X &lt;span&gt;x&lt;/span&gt; x
  &lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;Glorious. The cap height of the small capital &lt;em&gt;x&lt;/em&gt; is precisely the same as the x-height of the lower case &lt;em&gt;x&lt;/em&gt; &amp;#8211; and this holds true even if you resize the text away from how I&amp;#8217;ve set it here. The cap heights of the small capitals &lt;em&gt;a&lt;/em&gt; and &lt;em&gt;m&lt;/em&gt; are smaller than the overshoot of the lowercase &lt;em&gt;a&lt;/em&gt; and &lt;em&gt;m&lt;/em&gt;. The visual weight and proportions of the small capitals are all quite similar to those of the lower case letters, even while the forms of the small capitals remain true to the appearance of the upper case.&lt;/p&gt;

&lt;p&gt;Just to be absolutely clear, let&amp;#8217;s see all four methods lined up side by side &amp;#8211; &lt;code&gt;font-variant: small-caps&lt;/code&gt; on the left, followed by the Joe Clark method, the Nick Shinn method, and the true small capitals of &lt;code&gt;@font-face&lt;/code&gt;:&lt;/p&gt;
&lt;p class='small-capitals-example'&gt;
  &lt;span class='small-capitals-font-variant'&gt;a&lt;/span&gt;
  &lt;span class='small-capitals-joe-clark'&gt;a&lt;/span&gt;
  &lt;span class='small-capitals-nick-shinn'&gt;a&lt;/span&gt;
  &lt;span class='small-capitals-font-face'&gt;a&lt;/span&gt; &amp;mdash;
  &lt;span class='small-capitals-font-variant'&gt;m&lt;/span&gt;
  &lt;span class='small-capitals-joe-clark'&gt;m&lt;/span&gt;
  &lt;span class='small-capitals-nick-shinn'&gt;m&lt;/span&gt;
  &lt;span class='small-capitals-font-face'&gt;m&lt;/span&gt; &amp;mdash;
  &lt;span class='small-capitals-font-variant'&gt;x&lt;/span&gt;
  &lt;span class='small-capitals-joe-clark'&gt;x&lt;/span&gt;
  &lt;span class='small-capitals-nick-shinn'&gt;x&lt;/span&gt;
  &lt;span class='small-capitals-font-face'&gt;x&lt;/span&gt;
&lt;/p&gt;
&lt;p&gt;The &lt;code&gt;@font-face&lt;/code&gt; method is far and away the best. Unfortunately, it is the best in appearance and the worst to use.&lt;/p&gt;

&lt;p&gt;The biggest problem, as mentioned above, is that few typefaces have proper small capital variants. Of those that do, some include them within the regular roman file, which puts them off limits to web use. &lt;a href='http://en.wikipedia.org/wiki/Small_capitals#Unicode' title='Read about small capitals in Unicode on Wikipedia.'&gt;Unicode currently does not define a place for small capitals&lt;/a&gt;, which means that browser cannot access them.&lt;/p&gt;

&lt;p&gt;For example, you&amp;#8217;re likely to have &lt;a href='http://typedia.com/explore/typeface/linotype-didot/' title='Read about Linotype Didot on Typedia.'&gt;the typeface Didot&lt;/a&gt; on your computer. The roman of that Didot includes small capitals, but as glyphs 264&amp;#8211;389, located in the Unicode range called &amp;#8220;Glyph Variants&amp;#8221;, which you cannot access within a browser.&lt;/p&gt;

&lt;p&gt;Assuming that you&amp;#8217;re using a typeface that includes proper small capitals, and that those small capitals are included as their own distinct font file, then you must declare a &lt;code&gt;@font-face&lt;/code&gt; rule that makes use of them. &lt;a href='http://www.w3.org/TR/css3-fonts/#the-font-face-rule' title='Read about the @font-face rule on the W3C website.'&gt;In theory,&lt;/a&gt; you would do have already defined your romans and italics something like this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;@font-face {
  font-family: &amp;quot;IM Fell Great Primer&amp;quot;;
  src: local(&amp;quot;IM FELL Great Primer&amp;quot;);
}

@font-face {
  font-family: &amp;quot;IM Fell Great Primer&amp;quot;;
  font-style: italic;
  src: local(&amp;quot;IM FELL Great Primer Italic&amp;quot;);
}&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;In other words, we&amp;#8217;re defining a font family named IM Fell Great Primer, the roman of which can be found locally as &amp;#8220;IM FELL Great Primer&amp;#8221;, and the italic of which as &amp;#8220;IM FELL Great Primer Italic.&amp;#8221; The browser loads both of those fonts, and when a reference to &lt;code&gt;font-family: IM Fell Great Primer&lt;/code&gt; is found it uses the former when &lt;code&gt;font-style&lt;/code&gt; is &lt;code&gt;normal&lt;/code&gt;, and the latter when &lt;code&gt;italic.&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;According to the W3C standard, there should be no difference when defining a small capitals variant:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;@font-face {
  font-family: &amp;quot;IM Fell Great Primer&amp;quot;;
  font-variant: small-caps;
  src: local(&amp;quot;IM FELL Great Primer SC&amp;quot;);
}&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;In other words, the font referred to by this &lt;code&gt;@font-face&lt;/code&gt; rule is the small capitals variant of the IM Fell Great Primer family, and can be found locally under the name &amp;#8220;IM FELL Great Primer SC.&amp;#8221; When the browser encounters a reference to &lt;code&gt;font-family: IM Fell Great Primer&lt;/code&gt; with &lt;code&gt;font-variant: small-caps&lt;/code&gt;, it should then go ahead and use the font referenced above. An example of such a reference:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;p strong {
  font-variant: small-caps;
}&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;However, the browsers do not yet understand this. &lt;a href='https://developer.mozilla.org/en/CSS/@font-face' title='Read about @font-face on the Mozilla Developer Center.'&gt;Firefox, for instance, only understands &lt;code&gt;font-weight&lt;/code&gt; and &lt;code&gt;font-style&lt;/code&gt; within &lt;code&gt;@font-face&lt;/code&gt; rules.&lt;/a&gt; That means that you cannot rely on the browsers to automatically use the proper small capitals variant, even when you have explicitly told them the necessary details. Instead, you must define a redundant rule like this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;@font-face {
  font-family: &amp;quot;IM Fell Great Primer SC&amp;quot;;
  src: local(&amp;quot;IM FELL Great Primer SC&amp;quot;);
}&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;And then use it like this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;p strong {
  font-family: &amp;quot;IM Fell Great Primer SC&amp;quot;;
}&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;That way you have explicitly told your browser where to find the small capitals variant and when to use it. And, when forced in this fashion, the browsers do finally get things right.&lt;/p&gt;

&lt;h2 id='5_other_details'&gt;5. Other details.&lt;/h2&gt;

&lt;p&gt;It&amp;#8217;s a bit convoluted, all this, and I haven&amp;#8217;t even touched on how to properly prepare your font files for browser use, or how to really make use of &lt;code&gt;@font-face&lt;/code&gt;. To summarize, &lt;a href='http://www.fontsquirrel.com/' title='Go to fontsquirrel.com.'&gt;use the Font Squirrel.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;To see the CSS for all the methods discussed above, &lt;a href='http://github.com/cboone/hypsometric-css/tree/master/typography/small-capitals/' title='Go to the small capitals section of the Hypsometric CSS project on Github.'&gt;take a look at my Hypsometric CSS project.&lt;/a&gt; If you have any questions or suggestions, do let me know.&lt;/p&gt;
&lt;style type='text/css'&gt;
  #everything p.small-capitals-example {
    margin: 1.5em auto; /* 24px = 1 line, centered */

    text-indent: 0;
    text-align: center;
  }
  
  #everything p.small-capitals-example span.small-capitals-font-variant,
  #everything p.small-capitals-example span.small-capitals-font-variant-partial span {
    font-variant: small-caps;
  }
  
  #everything p.small-capitals-example span.small-capitals-joe-clark,
  #everything p.small-capitals-example span.small-capitals-clever-joe-clark span {
    font-size: smaller;
    text-transform: uppercase;
  }
  
  #everything p.small-capitals-example span.small-capitals-nick-shinn,
  #everything p.small-capitals-example span.small-capitals-clever-nick-shinn span {
    font-size: 0.6875em; /* 11px */
    font-weight: bolder;
    text-transform: uppercase;
  }
  
  #everything p.small-capitals-example span.small-capitals-font-face,
  #everything p.small-capitals-example span.small-capitals-font-face-partial span {
    font-family: "IM FELL Great Primer SC";
  }
&lt;/style&gt;

&lt;p&gt;
  January 15, 2010. &lt;br /&gt;
  Ashland, Oregon.
&lt;/p&gt;
    &lt;img src="http://feeds.feedburner.com/~r/hypsometry/blog/articles/~4/cTSPMMtQ22c" height="1" width="1"/&gt;</content>
  </entry>
  <entry>
    <title>V.</title>
    <id>tag:blog.hypsometry.com,2010-01-07:/articles/hypsography-news/</id>
    <published>2010-01-07T11:00:00-08:00</published>
    <updated>2010-01-07T12:00:00-08:00</updated>
    <author>
      <name>Christopher Boone</name>
    </author>
    <rights type="text">Copyright 2011 Christopher Boone.</rights>
    <link type="text/html" rel="alternate" href="http://blog.hypsometry.com/articles/hypsography-news/" />
    <content type="html">
&lt;p&gt;Over at &lt;a href='http://hypsography.com/' title='Go to hypsography.com.'&gt;Hypsography&lt;/a&gt; my work is continuing apace, and that pace is increasing. I&amp;#8217;m continuing my explorations of &lt;a href='http://books.google.com/books?id=44Yq6UplAbAC' title='Read about *An Essay on Typography* by Eric Gill, on Google Books.'&gt;humane typography&lt;/a&gt; there. The site is now set in &lt;a href='http://code.google.com/p/sortsmill/' title='Go to the Google Code project page for Sorts Mill Goudy.'&gt;Sorts Mill Goudy&lt;/a&gt;, &lt;a href='http://www.theleagueofmoveabletype.com/fonts/6-sorts-mill-goudy' title='Read more about the revival of Goudy Old Style, by Barry Schwartz, on the League of Moveable Type.'&gt;an excellent revival&lt;/a&gt; of &lt;a href='http://en.wikipedia.org/wiki/Frederic_W._Goudy' title='Read about Frederic Goudy on Wikipedia.'&gt;Frederic Goudy&amp;#8217;s&lt;/a&gt; incomparable &lt;a href='http://en.wikipedia.org/wiki/Goudy_Old_Style' title='Read about Goudy Old Style on Wikipedia.'&gt;Goudy Old Style&lt;/a&gt;.&lt;/p&gt;
&lt;a href='http://hypsography.com'&gt;
  &lt;img src='/images/hypsography-news/hypsography-heading-720x72.png' height='72' alt='' width='720' /&gt;
&lt;/a&gt;
&lt;p&gt;If you view the site using &lt;a href='http://www.mozilla.com/' title='Download the latest version of Firefox.'&gt;a recent version of Firefox&lt;/a&gt;, you&amp;#8217;ll even see that the &lt;em&gt;f&lt;/em&gt; and &lt;em&gt;i&lt;/em&gt; of &lt;em&gt;field&lt;/em&gt; are joined into one ligature &amp;#8211; as they should be. Firefox is currently the only browser that supports &lt;a href='http://en.wikipedia.org/wiki/Opentype#Advanced_typography' title='Read about OpenType and its typographic abilities on Wikipedia.'&gt;serious OpenType typographic enhancements&lt;/a&gt;. Where by &lt;em&gt;serious&lt;/em&gt; I mean &lt;a href='http://opentype.info/blog/2008/06/14/kerning-and-opentype-features-in-firefox-3/' title='Read about the newly acquired typographic abilities of Firefox on the blog OpenType.'&gt;kerning&lt;/a&gt; and &lt;a href='http://www.dria.org/wordpress/archives/2008/06/10/651/' title='Read more about the newly acquired typographic abilities of Firefox on dria.org.'&gt;ligatures&lt;/a&gt;. Yes, 460 years have passed since Gutenberg began printing with moveable type, and we are just now returning to those basic capabilities.&lt;/p&gt;

&lt;p&gt;At any rate, Sorts Mill Goudy is a beautifully rendered typeface. &lt;a href='http://crudfactory.com/' title='Go to The Crud Factory, the main website of Barry Schwartz.'&gt;Barry Schwartz&lt;/a&gt; is its author, and he has made it available under both &lt;a href='http://en.wikipedia.org/wiki/SIL_Open_Font_License' title='Read about the Open Font License on Wikipedia.'&gt;the Open Font License&lt;/a&gt; and &lt;a href='http://www.opensource.org/licenses/mit-license.php' title='Read about the MIT License on the Open Source Initiative site.'&gt;the MIT License&lt;/a&gt;: &lt;a href='http://www.theleagueofmoveabletype.com/fonts/6-sorts-mill-goudy' title='Read more about the revival of Goudy Old Style, by Barry Schwartz, on the League of Moveable Type.'&gt;OFL Sorts Mill Goudy&lt;/a&gt; and &lt;a href='http://code.google.com/p/sortsmill/' title='Go to the Google Code project page for Sorts Mill Goudy.'&gt;MIT Sorts Mill Goudy&lt;/a&gt;. You can also find it &lt;a href='http://typedia.com/explore/typeface/sorts-mill-goudy/' title='Read about Sorts Mill Goudy on the Typedia.'&gt;in the Typedia&lt;/a&gt;, along with another excellent, though less completely realized, Goudy revival by Mr Schwartz: &lt;a href='http://typedia.com/explore/typeface/goudy-bookletter-1911/' title='Read about Goudy Bookletter 1911 on the Typedia.'&gt;Goudy Bookletter 1911&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I used &lt;a href='http://www.fontsquirrel.com/' title='Go to the Font Squirrel website.'&gt;the Font Squirrel&amp;#8217;s&lt;/a&gt; &lt;a href='http://www.fontsquirrel.com/fontface/generator' title='Go to the @font-face generator on fontsquirrel.com.'&gt;&lt;code&gt;@font-face&lt;/code&gt; generator&lt;/a&gt; to prepare the files for Hypsography, and I highly recommend it. To make the process even simpler, the Font Squirrel already has &lt;a href='http://www.fontsquirrel.com/fonts/OFL-Sorts-Mill-Goudy' title='Go to the OFL Sorts Mill Goudy page on Font Squirrel.'&gt;OFL Sorts Mill Goudy&lt;/a&gt; in its archive, along with &lt;a href='http://www.fontsquirrel.com/fontfacedemo/OFL-Sorts-Mill-Goudy' title='Go to the OFL Sorts Mill Goudy @font-face demo page on fontsquirrel.com, where you can download a pre-made @font-face kit.'&gt;a pre-generated &lt;code&gt;@font-face&lt;/code&gt; kit.&lt;/a&gt; Or, if you prefer, both &lt;a href='http://the-crud-factory.kernest.com/fonts/ofl-sorts-mill-goudy-regular' title='Go to the OFL Sorts Mill Goudy page on kernest.com.'&gt;Kernest&lt;/a&gt; and &lt;a href='http://typekit.com/fonts/494' title='Go to the the OFL Sorts Mill Goudy page on typekit.com.'&gt;Typekit&lt;/a&gt; also include Mr Schwartz&amp;#8217;s Goudy revival.&lt;/p&gt;

&lt;p&gt;From the information available on the project site, Sorts Mill Goudy appears to be a work in progress. Nonetheless, it seems quite ready for use right now. Using &lt;a href='http://nicewebtype.com/' title='Go to Nice Web Type.'&gt;Tim Brown&amp;#8217;s&lt;/a&gt; &lt;a href='http://webfontspecimen.com/' title='Go to the Web Font Specimen site, by Tim Brown.'&gt;web font specimen&lt;/a&gt;, I&amp;#8217;ve put up &lt;a href='http://hypsography.com/typefaces/specimens/mill-sorts-goudy/' title='Go to the Sorts Mill Goudy web font specimen on Hypsography.'&gt;a demonstration page for Sorts Mill Goudy on Hypsography&lt;/a&gt;, for your further inspection.&lt;/p&gt;

&lt;p&gt;To return to my initial point: &lt;a href='http://hypsography.com/' title='Go to hypsography.com.'&gt;Hypsography&lt;/a&gt; has a new look, &lt;a href='http://hypsography.com/news/' title='Go to the News section on hypsography.com.'&gt;a new section for news and other ephemera&lt;/a&gt;, and &lt;a href='http://hypsography.com/guide/forests/' title='Go to the Forests page of the Hypsography guide.'&gt;a newly added tetraptych.&lt;/a&gt; Enjoy.&lt;/p&gt;
&lt;a href='http://hypsography.com'&gt;
  &lt;img src='/images/hypsography-news/hypsography-forests-720x144.jpg' height='144' alt='' width='720' /&gt;
&lt;/a&gt;

&lt;p&gt;
  January  7, 2010. &lt;br /&gt;
  Ashland, Oregon.
&lt;/p&gt;
    &lt;img src="http://feeds.feedburner.com/~r/hypsometry/blog/articles/~4/efXWh0Bq5vM" height="1" width="1"/&gt;</content>
  </entry>
</feed>

