hCard microformat Validator (beta, of course)

This is an unofficial validator¹/conformance checker of the hCard microformat.

Po polsku En français
(translations welcome!)

Input

URL

Check entire XHTML or HTML page by entering its HTTP URL.

Fragment

Paste well-formed XHTML fragment or complete document containing hCard.

Upload

Upload HTML or XHTML file to validate it. For this to work your browser must be setting MIME types properly.

Example

If searching for hCards in the wild is tiring, check one of the test-cases:

Browse examples

API & Other

Any page by Referer

<a href="http://hcard.geekhood.net/referrer/">Validate hCards</a>

Bookmarklet

hCard?

RESTful JSON API

Send GET request to http://hcard.geekhood.net/?url=URL to validate&output=json.

Output will be roughly compatible with the Validator.nu JSON API. Likely to change in the future.

Please use this API for validation, not just as an converter/extraction tool.


Send Feedback

You can send feedback via e-mail or the form below.

If you're reporting a bug or have a suggestion, don't forget to include example hCard code.

Result

Congratulations! No errors found.

  1. No issues found.

    Address State or Province
    California
    City
    San Francisco
    Formatted name
    David  Alan  Schoonover
    Name Given Name
    David
    Additional Name
    Alan
    Family Name
    Schoonover
    URL http://davidschoonover.com

File source

<!DOCTYPE html>
<html>
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8">
    <meta name="viewport" content="width=1300px">
    <link type="text/css" rel="stylesheet" media="screen" href="/css/reset.min.css">
    <link type="text/css" rel="stylesheet" media="screen" href="/css/fonts.css">
    <link type="text/css" rel="stylesheet" media="screen" href="/css/resume.css">
    <link type="image/ico" rel="icon" href="/favicon.ico">
    <link type="image/x-icon" rel="shortcut icon" href="/favicon.ico">
    <title>David Alan Schoonover | Software Engineer
    </title>
    <link rel="profile" href="http://microformats.org/profile/hcard">
  </head>
  <body>
    <nav class="table-of-contents">
      <h2 class="toc">Table of Contents
      </h2>
      <ol class="contents">
        <li><a href="#">Contact Info</a>
        </li>
        <li><a href="#introduction">Introduction</a>
        </li>
        <li><a href="#accomplishments">Accomplishments
            <ol>
              <li><a href="#accomplishments-unicron">AddThis Share-Count Datastore</a>
              </li>
              <li><a href="#accomplishments-wan">Widget Ad Network Framework</a>
              </li>
            </ol></a>
        </li>
        <li><a href="#experience">Experience
            <ol>
              <li><a href="#experience-clearspring">Senior Engineer, Clearspring / AddThis</a>
              </li>
              <li><a href="#experience-lttlst">Architect, The Littlest Battletank</a>
              </li>
              <li><a href="#experience-freelance">Freelance Design & Development</a>
              </li>
              <li><a href="#experience-congress">Political Intern, Rep Gwen Moore</a>
              </li>
              <li><a href="#experience-cornell">Philosophy, Cornell University</a>
              </li>
              <li><a href="#experience-contributions">Projects & Open Source Contributions</a>
              </li>
            </ol></a>
        </li>
        <li><a href="#skills">Skills
            <ol>
              <li><a href="#skills-expertise">Areas of Expertise</a>
              </li>
              <li><a href="#skills-langs">Languages</a>
              </li>
              <li><a href="#skills-tech">Notable Technologies</a>
              </li>
              <li><a href="#skills-speaking">Public Speaking</a>
              </li>
              <li><a href="#skills-art">Art</a>
              </li>
            </ol></a>
        </li>
      </ol>
    </nav>
    <div class="content">
      <div class="box">
        <div id="main" class="inner">
<header class="vcard">
  <h1><a href="http://davidschoonover.com" class="fn n"><span class="given-name">David</span>&nbsp;
<span class="additional-name">Alan</span>&nbsp;
<span class="family-name">Schoonover</span></a>
  </h1>
  <div class="meta contact"><a href="mailto:hi@davidschoonover.com?subject=Resume" class="field email">hi@davidschoonover.com</a><a href="http://davidschoonover.com" class="field url">davidschoonover.com</a><span class="field adr"><span class="locality">San Francisco</span>, 
<abbr title="California" class="region">CA</abbr></span>
  </div>
</header>
<section class="resume">
  <section id="introduction">
    <h2>I Solve Problems
    </h2>
    <p>Hi. I'm a software engineer seeking an organization where I can add value directly through 
the flexible application of cleverness, dedication, and pragmatism. I wear many hats 
to solve problems, and if none fit, I’ve made new hats after consulting trusted hatmakers 
and hatwearers. In the past I've enjoyed working on problems of scalability in the face of big data 
challenges, agile iteration of user-facing software in response to feedback and measurement, 
and building internal tools to meet the observed needs of the team.

    </p>
    <p><b>Update:</b> I am very excited to now be working for <a href="http://wikimediafoundation.org" taget="_blank">The Wikimedia Foundation</a>, 
the people behind Wikipedia! So I'm sorry to all y'all who keep emailing me &mdash; I am no longer 
available for other work.

    </p>
  </section>
  <section id="accomplishments">
    <h2>Accomplishments
    </h2>
    <section id="accomplishments-unicron">
      <div class="top">
        <h3>AddThis Share-Count and Unicron Datastore
        </h3>
        <div class="meta"><span class="field job-title">Architect, Project Lead, Engineer</span>
          <time class="field">2010
          </time><span class="field org">Clearspring / AddThis</span><span class="field url"><a href="http://addthis.com/get" target="_blank">addthis.com/get</a></span>
        </div>
      </div>
      <div class="bottom">
        <p>I led the team that designed and built Unicron, the real-time analytics system which powers the share-count feature of the 
<a href="http://addthis.com" target="_blank"> AddThis</a> sharing menu. It tracks more than 100M unique URLs across 10M+ 
domains, servicing 60k+ requests per second.

        </p>
        <ul>
          <li>Stream processor with multiple layers of queuing for data routing, reliability, and zero-downtime upgrades (see this <a href="/img/unicron-architecture.png" target="_blank"> pretty architectural diagram </a> for more).

          </li>
          <li>Public API endpoints (Tomcat service) serviced by cluster on Rackspace Cloud, cached by a CDN (Akamai) with a dynamic TTL.
          </li>
          <li>Able to transform into a mechanical planet voiced by Orson Welles.
          </li>
          <li>Designed and developed Cassandra ORM (Vinyl).
          </li>
          <li>Management tools (CLI package and dashboard) to administer (start, stop, monitor), and create (configure, register, populate) a full deployment.
          </li>
          <li>Zabbix monitoring via JMX of both availability and performance.
          </li>
        </ul>
      </div>
    </section>
    <section id="accomplishments-wan">
      <div class="top">
        <h3>Widget Ad Network (WAN) and AdClient Frameworks
        </h3>
        <div class="meta"><span class="field job-title">Architect, Lead Engineer</span>
          <time class="field">2008 &ndash; 2010
          </time><span class="field org">Clearspring / AddThis</span><span class="field url"><a href="http://www.readwriteweb.com/archives/clearspring_launches_widget_ad_network.php" target="_blank">More Info</a></span>
        </div>
      </div>
      <div class="bottom">
        <p>I designed and implemented Clearspring's WAN and AdClient Frameworks, a pair of highly flexible substrate for display, video, and rich-media creatives.
        </p>
        <ul>
          <li>Utilized by hundreds of advertising campaigns across 100M+ views, measurably increasing engagement and ROI.
          </li>
          <li>Public API consumed by a half-dozen artists and engineers, requiring backwards compatibility and feature stability over the course of several years.
          </li>
          <li>Client frameworks in Flash, Flex, and JavaScript.
          </li>
          <li>Management console for campaign configuration, and interactive test harness for creative and developer testing.
          </li>
          <li>High flexibility via cascading configuration specified at build-, serve-, and run-time, allowing operators to tailor units to campaigns and units to intelligently respond to the environment.
          </li>
          <li>Substrate collects analytics, providing insight into performance, interactivity, and audience composition. Metrics customizable on a per-unit and per-campaign basis without code changes.
          </li>
          <li>Technical architecture designed to be flexible enough meet unknown advertiser needs, but minimize bandwidth costs. Driven by a versioned, CDN-served bootstrapper, in turn dynamically loading only the necessary modules at runtime to minimize load.
          </li>
          <li>Extensive headless test suite using Maven+Jenkins, as well as in-page test harness for operator experimentation and developer/studio testing.
          </li>
        </ul>
      </div>
    </section>
  </section>
  <section id="experience">
    <h2>Experience
    </h2>
    <section id="experience-clearspring">
      <div class="top">
        <h3>Senior Engineer, Clearspring / AddThis
        </h3>
        <div class="meta">
          <time class="field">Nov 2007 &ndash; Nov 2010
          </time><span class="field adr">McLean, VA</span><span class="field url"><a href="http://clearspring.com" target="_blank">clearspring.com</a></span><span class="field url"><a href="http://addthis.com" target="_blank">addthis.com</a></span>
        </div>
      </div>
      <div class="bottom">
        <p>See above for primary projects. Additional work:
        </p>
        <ul>
          <li>Maintenance and feature implementation for the popular AddThis sharing tools, with over 10M publishers and seeing 2B+ monthly uniques.
          </li>
          <li>Designed and implemented the <a href="http://www.addthis.com/help/services-api" target="_blank">AddThis Services API</a>
          </li>
          <li>Designed and implemented the <a href="http://www.addthis.com/help/flash-overview" target="_blank">AddThis Client API in Flash</a> (see <a href="http://www.addthis.com/help/flash-examples" target="_blank"> examples</a>).

          </li>
          <li>Internal CLI tools (Metatool, RookCmp) and DSL for querying and analysing in-house server analytics.
          </li>
          <li>Maintenance of legacy in-house Java severs and distributed datastore (Pawns, Bishop)
          </li>
        </ul>
      </div>
    </section>
    <section id="experience-lttlst">
      <div class="top">
        <h3>Architect, The Littlest Battletank
        </h3>
        <div class="meta"><span class="field org">Independent venture</span>
          <time class="field">Nov 2010 &ndash; May 2011
          </time><span class="field adr">San Francisco, CA</span><span class="field url"><a href="http://lttlst.com" target="_blank">lttlst.com</a></span>
        </div>
      </div>
      <div class="bottom">
        <p>An independently-developed HTML5 tank adventure game.
        </p>
        <ul>
          <li>Multiple clients: JavaScript and HTML5 canvas implementation; iOS client using Box2D and Cocos2D.
          </li>
          <li>Development of JS libraries for 2D physics, canvas-backed scene graph, and tools for content creation and module dependency management.
          </li>
        </ul>
      </div>
    </section>
    <section id="experience-freelance">
      <div class="top columns">
        <h3>Freelance Design & Development
        </h3>
        <div class="meta">
          <time class="field">June 2007 &ndash; Nov 2007
          </time><span class="field adr">Washington, DC</span><span class="spacer"></span>
          <time class="field">Nov 2010 &ndash; Present
          </time><span class="field adr">San Francisco, CA</span>
        </div>
        <div class="clearer">
        </div>
      </div>
      <div class="bottom">
        <p>Notable clients:
        </p>
        <ul class="columns">
          <li class="left half col">
            <h4><u>Brandon Bird</u>, artist.
            </h4>
            <div class="meta">
              <time class="field">2011 &ndash; present
              </time><span class="field url"><a href="http://test.brandonbird.com/store/" target="_blank">brandonbird.com/store/</a></span>
            </div>
            <p><i>Internet-famous for the Law & Order coloring book.</i>
            </p>
            <p>Design and development of store framework, with a client-side search engine featuring recursive boolean logic, type awareness in queries (for fields like price), and a simple configuration-driven (YAML) setup allowing
full control over properties and appearance.

            </p>
          </li>
          <li class="right half col">
            <h4><u>Gordon Sander</u>, writer & photographer.
            </h4>
            <div class="meta">
              <time class="field">2007 &ndash; present
              </time><span class="field url"><a href="http://gordonsander.com" target="_blank">gordonsander.com</a></span>
            </div>
            <p><i>Pulitzer prize nominee and celebrity in Sweden.</i>
            </p>
            <p>Design, dev, and maintenance of full site, including photo galleries, and digitizing decades of essays, articles, and book exercpts. Powered by Wordpress.

            </p>
          </li>
        </ul>
        <div class="clearer">
        </div>
      </div>
    </section>
    <section id="experience-congress">
      <div class="top">
        <h3>Political Intern, Rep Gwen Moore (D-WI)
        </h3>
        <div class="meta">
          <time class="field">Jan 2007 &ndash; June 2007
          </time><span class="field adr">Washington, DC</span><span class="field url"><a href="http://gwenmoore.house.gov/" target="_blank">gwenmoore.house.gov</a></span>
        </div>
      </div>
      <div class="bottom">
        <p>Ms Gwen Moore is the Congressional Representative for the 4th district of Wisconsin, including the hard-working people of Milwaukee.
        </p>
      </div>
    </section>
    <section id="experience-cornell">
      <div class="top">
        <h3>Philosophy, Cornell University
        </h3>
        <div class="meta">
          <time class="field">2002 &ndash; 2007
          </time><span class="field adr">Ithaca, NY</span><span class="field url"><a href="http://cornell.edu/" target="_blank">cornell.edu</a></span>
        </div>
      </div>
      <div class="bottom">
        <ul>
          <li>Parliamentary Debate (APDA): ranked 9th nationally, two 1st-place finishes at tournaments with 200+ attendees, speeches in front of 500+ people.
          </li>
          <li>VP Finance, Cornell Debate Association.
          </li>
          <li>College Scholar program for interdisciplinary study.
          </li>
          <li>President, Risley Residential College: elected seven times; largest residential college on campus.
          </li>
          <li>Financial Manager, Risley College Theatre.
          </li>
        </ul>
      </div>
    </section>
    <section id="experience-contributions">
      <div class="top">
        <h3>Projects & Open Source Contributions
        </h3>
        <div class="meta"><span class="field url"><a href="http://github.com/dsc" target="_blank">github.com/dsc</a></span>
        </div>
      </div>
      <div class="bottom">
        <ul>
          <li>Open Source Projects:
            <ul>
              <li><a href="http://github.com/dsc/connect-compiler" target="_blank">connect-compiler</a> &mdash; connect middleware to dynamically recompile derived assets.
              </li>
              <li><a href="http://github.com/dsc/u.js" target="_blank">u.js</a> &mdash; a minimalist, embeddable JS library.
              </li>
              <li><a href="http://github.com/dsc/bunch" target="_blank">bunch</a> &mdash; Flexible, humane Python dictionaries.
              </li>
              <li><a href="http://github.com/dsc/jsongrep" target="_blank">jsongrep</a> &mdash; grep for JSON.
              </li>
              <li><a href="http://github.com/dsc/coffeecup" target="_blank">coffeecup</a> &mdash; WSGI middleware for CoffeeScript.
              </li>
            </ul>
          </li>
          <li>Games:
            <ul>
              <li><a href="http://tank.less.ly" target="_blank">The Littlest Battletank</a> &mdash; a tank adventure game for the Web and iOS.
              </li>
              <li><a href="http://tire.less.ly/hacking/js-sweeper" target="_blank">js-sweeper</a> &mdash; minesweeper in JavaScript.
              </li>
              <li><a href="http://rpg.ascetics.net/x/" target="_blank">FaceRPG</a> &mdash; a simple Roguelike.
              </li>
            </ul>
          </li>
          <li>Contributions: <a href="http://github.com/dsc/node-seq" target="_blank">node-seq</a>, jQuery, Cassandra
          </li>
        </ul>
      </div>
    </section>
  </section>
  <section id="skills">
    <h2>Skills
    </h2>
    <div class="inner">
      <section id="skills-expertise">
        <div class="top">
          <h3>Areas of Expertise
          </h3>
        </div>
        <div class="bottom">
          <ul>
            <li>Distributed Datastores
            </li>
            <li>Horizontal Scaleability
            </li>
            <li>Cloud-based Architectures
            </li>
            <li>Stream Processing & Analytics
            </li>
            <li>Embedded Web Apps (<i>a la</i> AddThis)
            </li>
            <li>Rich JS Web Apps
            </li>
          </ul>
        </div>
      </section>
      <section id="skills-tech">
        <div class="top">
          <h3>Notable Technologies
          </h3>
        </div>
        <div class="bottom">
          <ul>
            <li>NoSQL (Cassandra, Redis, CouchDB, Neo4J)
            </li>
            <li>Stream Processing (Hadoop, s4, graph algorithms)
            </li>
            <li>Data Analysis (NumPy, SciPy, Incanter)
            </li>
            <li>Application Servers (node.js, Tomcat+Spring, Twisted, Tornado)
            </li>
            <li>Web Frameworks (ExpressJS, Pyramid/Pylons, Django, Flask, web.py)
            </li>
            <li>DSLs (Jison, LEPL, Antlr)
            </li>
          </ul>
        </div>
      </section>
      <section id="skills-langs">
        <div class="top">
          <h3>Languages
          </h3>
        </div>
        <div class="bottom">
          <ul>
            <li>JavaScript / CoffeeScript / Coco
            </li>
            <li>Python
            </li>
            <li>HTML5 / CSS
            </li>
            <li>Java
            </li>
            <li>Ruby
            </li>
            <li>Obj-C
            </li>
          </ul>
        </div>
      </section>
      <section id="skills-speaking">
        <div class="top">
          <h3>Public Speaking
          </h3>
        </div>
        <div class="bottom">
          <ul>
            <li>Organized "brownbag" talks at Clearspring.
            </li>
            <li>Nationally ranked debater in college (9th), winning two 1st-place finishes at tournaments with 200+ attendees, speeches in front of 500+ people.
            </li>
            <li>Student government and theatre experience.
            </li>
          </ul>
        </div>
      </section>
      <section id="skills-art">
        <div class="top">
          <h3>Art
          </h3>
        </div>
        <div class="bottom">
          <ul>
            <li>Portfolio: <a href="http://art.less.ly" target="_blank">art.less.ly</a>
            </li>
            <li>Photography: <a href="http://flickr.com/photos/fedallah" target="_blank">Flickr</a>
            </li>
          </ul>
        </div>
      </section>
    </div>
  </section>
</section>
        </div>
        <div id="sidebar">
          <div class="innerz">
            <section class="contact"><a href="mailto:hi@davidschoonover.com?subject=Resume" class="button"><span class="inner">Contact Me</span></a>
            </section>
            <section class="links">
              <h2 class="out">Elsewhere
              </h2>
              <ul>
                <li class="github"><a href="http://github.com/dsc" target="_blank">github</a>
                </li>
                <li class="art"><a href="http://art.less.ly/" target="_blank">art</a>
                </li>
                <li class="flickr"><a href="http://flickr.com/photos/fedallah" target="_blank">photography</a>
                </li>
              </ul>
            </section>
            <section class="download">
              <h2 class="dl">Download
              </h2>
              <ul>
                <li class="pdf"><a href="/doc/dschoonover-resume.pdf" target="_blank">PDF</a>
                </li>
                <li class="doc"><a href="/doc/dschoonover-resume.doc" target="_blank">Word Document</a>
                </li>
                <li class="txt"><a href="/doc/dschoonover-resume.md.txt" target="_blank">Plain Text</a>
                </li>
              </ul>
            </section>
            <section class="sharing">
              <h2 class="share">Share
              </h2>
              <div class="addthis_toolbox addthis_default_style"><a class="addthis_button_preferred_1"></a><a class="addthis_button_preferred_2"></a><a class="addthis_button_preferred_3"></a><a class="addthis_button_preferred_4"></a><a class="addthis_button_compact"></a><a class="addthis_counter addthis_bubble_style"></a>
              </div>
            </section>
          </div>
        </div>
        <footer>
          <div class="columns">
            <div class="col left">
              <p><strong>View Source: </strong><a href="/src/resume.jade.txt" target="_blank">resume.jade</a>, 
<a href="/src/dev-server.co.txt" target="_blank">dev-server.co</a>
              </p>
              <p>This document contains <a href="http://microformats.org" target="_blank">microformats</a>: 
<a href="http://microformats.org/wiki/hcard" target="_blank">hCard</a>&mdash;
<a href="http://hcard.geekhood.net/?url=http%3A%2F%2Fdavidschoonover.com#result" target="_blank">validate</a>.

              </p>
            </div>
            <div class="col right">
              <div class="copyright">Copyright &copy 2011, David Schoonover &mdash; All rights reserved.
              </div>
            </div>
          </div>
          <div class="clearer">
          </div>
        </footer>
      </div>
    </div>
    <div class="scripts">
      <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
      <script>!window.jQuery && document.write('<script src="/js/jquery-1.7.1.min.js"></scr'+'ipt>');</script>
      <script src="/js/resume.js" type="text/javascript"></script>
      <script>var addthis_config = { data_track_addressbar: true };</script>
      <script src="//s7.addthis.com/js/250/addthis_widget.js#pubid=ra-4ec433f550160904" type="text/javascript"></script>
      <script>var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-26700046-1']);
_gaq.push(['_trackPageview']);

(function(){
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script>
    </div>
  </body>
</html>

Parsed source

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <meta http-equiv="content-type" content="text/html; charset=utf-8"/>
    <meta name="viewport" content="width=1300px"/>
    <link type="text/css" rel="stylesheet" media="screen" href="/css/reset.min.css"/>
    <link type="text/css" rel="stylesheet" media="screen" href="/css/fonts.css"/>
    <link type="text/css" rel="stylesheet" media="screen" href="/css/resume.css"/>
    <link type="image/ico" rel="icon" href="/favicon.ico"/>
    <link type="image/x-icon" rel="shortcut icon" href="/favicon.ico"/>
    <title>David Alan Schoonover | Software Engineer
    </title>
    <link rel="profile" href="http://microformats.org/profile/hcard"/>
  </head>
  <body>
    <nav class="table-of-contents"><h2 class="toc">Table of Contents
      </h2>
      <ol class="contents"><li><a href="#">Contact Info</a>
        </li>
        <li><a href="#introduction">Introduction</a>
        </li>
        <li><a href="#accomplishments">Accomplishments
            <ol><li><a href="#accomplishments-unicron">AddThis Share-Count Datastore</a>
              </li>
              <li><a href="#accomplishments-wan">Widget Ad Network Framework</a>
              </li>
            </ol></a>
        </li>
        <li><a href="#experience">Experience
            <ol><li><a href="#experience-clearspring">Senior Engineer, Clearspring / AddThis</a>
              </li>
              <li><a href="#experience-lttlst">Architect, The Littlest Battletank</a>
              </li>
              <li><a href="#experience-freelance">Freelance Design &amp; Development</a>
              </li>
              <li><a href="#experience-congress">Political Intern, Rep Gwen Moore</a>
              </li>
              <li><a href="#experience-cornell">Philosophy, Cornell University</a>
              </li>
              <li><a href="#experience-contributions">Projects &amp; Open Source Contributions</a>
              </li>
            </ol></a>
        </li>
        <li><a href="#skills">Skills
            <ol><li><a href="#skills-expertise">Areas of Expertise</a>
              </li>
              <li><a href="#skills-langs">Languages</a>
              </li>
              <li><a href="#skills-tech">Notable Technologies</a>
              </li>
              <li><a href="#skills-speaking">Public Speaking</a>
              </li>
              <li><a href="#skills-art">Art</a>
              </li>
            </ol></a>
        </li>
      </ol></nav><div class="content">
      <div class="box">
        <div id="main" class="inner">
<header class="vcard"><h1><a href="http://davidschoonover.com" class="fn n"><span class="given-name">David</span> 
<span class="additional-name">Alan</span> 
<span class="family-name">Schoonover</span></a>
  </h1>
  <div class="meta contact"><a href="mailto:hi@davidschoonover.com?subject=Resume" class="field email">hi@davidschoonover.com</a><a href="http://davidschoonover.com" class="field url">davidschoonover.com</a><span class="field adr"><span class="locality">San Francisco</span>, 
<abbr title="California" class="region">CA</abbr></span>
  </div>
</header><section class="resume"><section id="introduction"><h2>I Solve Problems
    </h2>
    <p>Hi. I'm a software engineer seeking an organization where I can add value directly through 
the flexible application of cleverness, dedication, and pragmatism. I wear many hats 
to solve problems, and if none fit, I’ve made new hats after consulting trusted hatmakers 
and hatwearers. In the past I've enjoyed working on problems of scalability in the face of big data 
challenges, agile iteration of user-facing software in response to feedback and measurement, 
and building internal tools to meet the observed needs of the team.

    </p>
    <p><b>Update:</b> I am very excited to now be working for <a href="http://wikimediafoundation.org" taget="_blank">The Wikimedia Foundation</a>, 
the people behind Wikipedia! So I'm sorry to all y'all who keep emailing me — I am no longer 
available for other work.

    </p>
  </section><section id="accomplishments"><h2>Accomplishments
    </h2>
    <section id="accomplishments-unicron"><div class="top">
        <h3>AddThis Share-Count and Unicron Datastore
        </h3>
        <div class="meta"><span class="field job-title">Architect, Project Lead, Engineer</span>
          <time class="field">2010
          </time><span class="field org">Clearspring / AddThis</span><span class="field url"><a href="http://addthis.com/get" target="_blank">addthis.com/get</a></span>
        </div>
      </div>
      <div class="bottom">
        <p>I led the team that designed and built Unicron, the real-time analytics system which powers the share-count feature of the 
<a href="http://addthis.com" target="_blank"> AddThis</a> sharing menu. It tracks more than 100M unique URLs across 10M+ 
domains, servicing 60k+ requests per second.

        </p>
        <ul><li>Stream processor with multiple layers of queuing for data routing, reliability, and zero-downtime upgrades (see this <a href="/img/unicron-architecture.png" target="_blank"> pretty architectural diagram </a> for more).

          </li>
          <li>Public API endpoints (Tomcat service) serviced by cluster on Rackspace Cloud, cached by a CDN (Akamai) with a dynamic TTL.
          </li>
          <li>Able to transform into a mechanical planet voiced by Orson Welles.
          </li>
          <li>Designed and developed Cassandra ORM (Vinyl).
          </li>
          <li>Management tools (CLI package and dashboard) to administer (start, stop, monitor), and create (configure, register, populate) a full deployment.
          </li>
          <li>Zabbix monitoring via JMX of both availability and performance.
          </li>
        </ul></div>
    </section><section id="accomplishments-wan"><div class="top">
        <h3>Widget Ad Network (WAN) and AdClient Frameworks
        </h3>
        <div class="meta"><span class="field job-title">Architect, Lead Engineer</span>
          <time class="field">2008 – 2010
          </time><span class="field org">Clearspring / AddThis</span><span class="field url"><a href="http://www.readwriteweb.com/archives/clearspring_launches_widget_ad_network.php" target="_blank">More Info</a></span>
        </div>
      </div>
      <div class="bottom">
        <p>I designed and implemented Clearspring's WAN and AdClient Frameworks, a pair of highly flexible substrate for display, video, and rich-media creatives.
        </p>
        <ul><li>Utilized by hundreds of advertising campaigns across 100M+ views, measurably increasing engagement and ROI.
          </li>
          <li>Public API consumed by a half-dozen artists and engineers, requiring backwards compatibility and feature stability over the course of several years.
          </li>
          <li>Client frameworks in Flash, Flex, and JavaScript.
          </li>
          <li>Management console for campaign configuration, and interactive test harness for creative and developer testing.
          </li>
          <li>High flexibility via cascading configuration specified at build-, serve-, and run-time, allowing operators to tailor units to campaigns and units to intelligently respond to the environment.
          </li>
          <li>Substrate collects analytics, providing insight into performance, interactivity, and audience composition. Metrics customizable on a per-unit and per-campaign basis without code changes.
          </li>
          <li>Technical architecture designed to be flexible enough meet unknown advertiser needs, but minimize bandwidth costs. Driven by a versioned, CDN-served bootstrapper, in turn dynamically loading only the necessary modules at runtime to minimize load.
          </li>
          <li>Extensive headless test suite using Maven+Jenkins, as well as in-page test harness for operator experimentation and developer/studio testing.
          </li>
        </ul></div>
    </section></section><section id="experience"><h2>Experience
    </h2>
    <section id="experience-clearspring"><div class="top">
        <h3>Senior Engineer, Clearspring / AddThis
        </h3>
        <div class="meta">
          <time class="field">Nov 2007 – Nov 2010
          </time><span class="field adr">McLean, VA</span><span class="field url"><a href="http://clearspring.com" target="_blank">clearspring.com</a></span><span class="field url"><a href="http://addthis.com" target="_blank">addthis.com</a></span>
        </div>
      </div>
      <div class="bottom">
        <p>See above for primary projects. Additional work:
        </p>
        <ul><li>Maintenance and feature implementation for the popular AddThis sharing tools, with over 10M publishers and seeing 2B+ monthly uniques.
          </li>
          <li>Designed and implemented the <a href="http://www.addthis.com/help/services-api" target="_blank">AddThis Services API</a>
          </li>
          <li>Designed and implemented the <a href="http://www.addthis.com/help/flash-overview" target="_blank">AddThis Client API in Flash</a> (see <a href="http://www.addthis.com/help/flash-examples" target="_blank"> examples</a>).

          </li>
          <li>Internal CLI tools (Metatool, RookCmp) and DSL for querying and analysing in-house server analytics.
          </li>
          <li>Maintenance of legacy in-house Java severs and distributed datastore (Pawns, Bishop)
          </li>
        </ul></div>
    </section><section id="experience-lttlst"><div class="top">
        <h3>Architect, The Littlest Battletank
        </h3>
        <div class="meta"><span class="field org">Independent venture</span>
          <time class="field">Nov 2010 – May 2011
          </time><span class="field adr">San Francisco, CA</span><span class="field url"><a href="http://lttlst.com" target="_blank">lttlst.com</a></span>
        </div>
      </div>
      <div class="bottom">
        <p>An independently-developed HTML5 tank adventure game.
        </p>
        <ul><li>Multiple clients: JavaScript and HTML5 canvas implementation; iOS client using Box2D and Cocos2D.
          </li>
          <li>Development of JS libraries for 2D physics, canvas-backed scene graph, and tools for content creation and module dependency management.
          </li>
        </ul></div>
    </section><section id="experience-freelance"><div class="top columns">
        <h3>Freelance Design &amp; Development
        </h3>
        <div class="meta">
          <time class="field">June 2007 – Nov 2007
          </time><span class="field adr">Washington, DC</span><span class="spacer"/>
          <time class="field">Nov 2010 – Present
          </time><span class="field adr">San Francisco, CA</span>
        </div>
        <div class="clearer">
        </div>
      </div>
      <div class="bottom">
        <p>Notable clients:
        </p>
        <ul class="columns"><li class="left half col">
            <h4><u>Brandon Bird</u>, artist.
            </h4>
            <div class="meta">
              <time class="field">2011 – present
              </time><span class="field url"><a href="http://test.brandonbird.com/store/" target="_blank">brandonbird.com/store/</a></span>
            </div>
            <p><i>Internet-famous for the Law &amp; Order coloring book.</i>
            </p>
            <p>Design and development of store framework, with a client-side search engine featuring recursive boolean logic, type awareness in queries (for fields like price), and a simple configuration-driven (YAML) setup allowing
full control over properties and appearance.

            </p>
          </li>
          <li class="right half col">
            <h4><u>Gordon Sander</u>, writer &amp; photographer.
            </h4>
            <div class="meta">
              <time class="field">2007 – present
              </time><span class="field url"><a href="http://gordonsander.com" target="_blank">gordonsander.com</a></span>
            </div>
            <p><i>Pulitzer prize nominee and celebrity in Sweden.</i>
            </p>
            <p>Design, dev, and maintenance of full site, including photo galleries, and digitizing decades of essays, articles, and book exercpts. Powered by Wordpress.

            </p>
          </li>
        </ul><div class="clearer">
        </div>
      </div>
    </section><section id="experience-congress"><div class="top">
        <h3>Political Intern, Rep Gwen Moore (D-WI)
        </h3>
        <div class="meta">
          <time class="field">Jan 2007 – June 2007
          </time><span class="field adr">Washington, DC</span><span class="field url"><a href="http://gwenmoore.house.gov/" target="_blank">gwenmoore.house.gov</a></span>
        </div>
      </div>
      <div class="bottom">
        <p>Ms Gwen Moore is the Congressional Representative for the 4th district of Wisconsin, including the hard-working people of Milwaukee.
        </p>
      </div>
    </section><section id="experience-cornell"><div class="top">
        <h3>Philosophy, Cornell University
        </h3>
        <div class="meta">
          <time class="field">2002 – 2007
          </time><span class="field adr">Ithaca, NY</span><span class="field url"><a href="http://cornell.edu/" target="_blank">cornell.edu</a></span>
        </div>
      </div>
      <div class="bottom">
        <ul><li>Parliamentary Debate (APDA): ranked 9th nationally, two 1st-place finishes at tournaments with 200+ attendees, speeches in front of 500+ people.
          </li>
          <li>VP Finance, Cornell Debate Association.
          </li>
          <li>College Scholar program for interdisciplinary study.
          </li>
          <li>President, Risley Residential College: elected seven times; largest residential college on campus.
          </li>
          <li>Financial Manager, Risley College Theatre.
          </li>
        </ul></div>
    </section><section id="experience-contributions"><div class="top">
        <h3>Projects &amp; Open Source Contributions
        </h3>
        <div class="meta"><span class="field url"><a href="http://github.com/dsc" target="_blank">github.com/dsc</a></span>
        </div>
      </div>
      <div class="bottom">
        <ul><li>Open Source Projects:
            <ul><li><a href="http://github.com/dsc/connect-compiler" target="_blank">connect-compiler</a> — connect middleware to dynamically recompile derived assets.
              </li>
              <li><a href="http://github.com/dsc/u.js" target="_blank">u.js</a> — a minimalist, embeddable JS library.
              </li>
              <li><a href="http://github.com/dsc/bunch" target="_blank">bunch</a> — Flexible, humane Python dictionaries.
              </li>
              <li><a href="http://github.com/dsc/jsongrep" target="_blank">jsongrep</a> — grep for JSON.
              </li>
              <li><a href="http://github.com/dsc/coffeecup" target="_blank">coffeecup</a> — WSGI middleware for CoffeeScript.
              </li>
            </ul></li>
          <li>Games:
            <ul><li><a href="http://tank.less.ly" target="_blank">The Littlest Battletank</a> — a tank adventure game for the Web and iOS.
              </li>
              <li><a href="http://tire.less.ly/hacking/js-sweeper" target="_blank">js-sweeper</a> — minesweeper in JavaScript.
              </li>
              <li><a href="http://rpg.ascetics.net/x/" target="_blank">FaceRPG</a> — a simple Roguelike.
              </li>
            </ul></li>
          <li>Contributions: <a href="http://github.com/dsc/node-seq" target="_blank">node-seq</a>, jQuery, Cassandra
          </li>
        </ul></div>
    </section></section><section id="skills"><h2>Skills
    </h2>
    <div class="inner">
      <section id="skills-expertise"><div class="top">
          <h3>Areas of Expertise
          </h3>
        </div>
        <div class="bottom">
          <ul><li>Distributed Datastores
            </li>
            <li>Horizontal Scaleability
            </li>
            <li>Cloud-based Architectures
            </li>
            <li>Stream Processing &amp; Analytics
            </li>
            <li>Embedded Web Apps (<i>a la</i> AddThis)
            </li>
            <li>Rich JS Web Apps
            </li>
          </ul></div>
      </section><section id="skills-tech"><div class="top">
          <h3>Notable Technologies
          </h3>
        </div>
        <div class="bottom">
          <ul><li>NoSQL (Cassandra, Redis, CouchDB, Neo4J)
            </li>
            <li>Stream Processing (Hadoop, s4, graph algorithms)
            </li>
            <li>Data Analysis (NumPy, SciPy, Incanter)
            </li>
            <li>Application Servers (node.js, Tomcat+Spring, Twisted, Tornado)
            </li>
            <li>Web Frameworks (ExpressJS, Pyramid/Pylons, Django, Flask, web.py)
            </li>
            <li>DSLs (Jison, LEPL, Antlr)
            </li>
          </ul></div>
      </section><section id="skills-langs"><div class="top">
          <h3>Languages
          </h3>
        </div>
        <div class="bottom">
          <ul><li>JavaScript / CoffeeScript / Coco
            </li>
            <li>Python
            </li>
            <li>HTML5 / CSS
            </li>
            <li>Java
            </li>
            <li>Ruby
            </li>
            <li>Obj-C
            </li>
          </ul></div>
      </section><section id="skills-speaking"><div class="top">
          <h3>Public Speaking
          </h3>
        </div>
        <div class="bottom">
          <ul><li>Organized "brownbag" talks at Clearspring.
            </li>
            <li>Nationally ranked debater in college (9th), winning two 1st-place finishes at tournaments with 200+ attendees, speeches in front of 500+ people.
            </li>
            <li>Student government and theatre experience.
            </li>
          </ul></div>
      </section><section id="skills-art"><div class="top">
          <h3>Art
          </h3>
        </div>
        <div class="bottom">
          <ul><li>Portfolio: <a href="http://art.less.ly" target="_blank">art.less.ly</a>
            </li>
            <li>Photography: <a href="http://flickr.com/photos/fedallah" target="_blank">Flickr</a>
            </li>
          </ul></div>
      </section></div>
  </section></section></div>
        <div id="sidebar">
          <div class="innerz">
            <section class="contact"><a href="mailto:hi@davidschoonover.com?subject=Resume" class="button"><span class="inner">Contact Me</span></a>
            </section><section class="links"><h2 class="out">Elsewhere
              </h2>
              <ul><li class="github"><a href="http://github.com/dsc" target="_blank">github</a>
                </li>
                <li class="art"><a href="http://art.less.ly/" target="_blank">art</a>
                </li>
                <li class="flickr"><a href="http://flickr.com/photos/fedallah" target="_blank">photography</a>
                </li>
              </ul></section><section class="download"><h2 class="dl">Download
              </h2>
              <ul><li class="pdf"><a href="/doc/dschoonover-resume.pdf" target="_blank">PDF</a>
                </li>
                <li class="doc"><a href="/doc/dschoonover-resume.doc" target="_blank">Word Document</a>
                </li>
                <li class="txt"><a href="/doc/dschoonover-resume.md.txt" target="_blank">Plain Text</a>
                </li>
              </ul></section><section class="sharing"><h2 class="share">Share
              </h2>
              <div class="addthis_toolbox addthis_default_style"><a class="addthis_button_preferred_1"/><a class="addthis_button_preferred_2"/><a class="addthis_button_preferred_3"/><a class="addthis_button_preferred_4"/><a class="addthis_button_compact"/><a class="addthis_counter addthis_bubble_style"/>
              </div>
            </section></div>
        </div>
        <footer><div class="columns">
            <div class="col left">
              <p><strong>View Source: </strong><a href="/src/resume.jade.txt" target="_blank">resume.jade</a>, 
<a href="/src/dev-server.co.txt" target="_blank">dev-server.co</a>
              </p>
              <p>This document contains <a href="http://microformats.org" target="_blank">microformats</a>: 
<a href="http://microformats.org/wiki/hcard" target="_blank">hCard</a>—
<a href="http://hcard.geekhood.net/?url=http%3A%2F%2Fdavidschoonover.com#result" target="_blank">validate</a>.

              </p>
            </div>
            <div class="col right">
              <div class="copyright">Copyright &amp;copy 2011, David Schoonover — All rights reserved.
              </div>
            </div>
          </div>
          <div class="clearer">
          </div>
        </footer></div>
    </div>
    <div class="scripts">
      <script src="//ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"/><script>!window.jQuery &amp;&amp; document.write('&lt;script src="/js/jquery-1.7.1.min.js"&gt;'+'ipt&gt;');</script><script src="/js/resume.js" type="text/javascript"/><script>var addthis_config = { data_track_addressbar: true };</script><script src="//s7.addthis.com/js/250/addthis_widget.js#pubid=ra-4ec433f550160904" type="text/javascript"/><script>var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-26700046-1']);
_gaq.push(['_trackPageview']);

(function(){
    var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
    ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
    var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
})();
</script></div>
  </body>
</html>

Credits

Written by . Icons are from Tango Icon Library. Test cases include hCard Acid test by Dmitry Baranovskiy, examples from microformats.org and hCard test suite.

Source code is available under the BSD license.


¹ It's not a validator in the XML/SGML sense.