CINXE.COM
Posts in 2011 - Human Who Codes
<!DOCTYPE html> <html lang="en"> <head> <script async src="https://www.googletagmanager.com/gtag/js?id=G-DF11Y9MFRM"></script> <script>(function(){const analytics_id = "G-DF11Y9MFRM"; window.dataLayer = window.dataLayer || []; function gtag(){dataLayer.push(arguments);} gtag('js', new Date()); gtag('config', analytics_id); })();</script> <!-- Global Metadata --> <meta charset="utf-8"> <meta name="viewport" content="width=device-width,initial-scale=1"> <link rel="icon" type="image/png" href="/favicon.png"> <meta name="generator" content="Astro v2.6.5"> <meta name="ttw" content="cfanq3r"> <!-- Primary Meta Tags --> <title>Posts in 2011 - Human Who Codes</title> <meta name="title" content="Posts in 2011 - Human Who Codes"> <meta name="description" content="The Official Web Site of Nicholas C. Zakas"> <!-- Canonical URLs --> <link rel="canonical" href="https://humanwhocodes.com/blog/2011/"> <!-- Feeds --> <link rel="alternate" type="application/rss+xml" title="Human Who Codes - Blog" href="https://humanwhocodes.com/feeds/blog.xml"> <link rel="alternate" type="application/json" title="Human Who Codes - Blog" href="https://humanwhocodes.com/feeds/blog.json"> <link rel="alternate" type="application/rss+xml" title="Human Who Codes - Snippets" href="https://humanwhocodes.com/feeds/snippets.xml"> <link rel="alternate" type="application/json" title="Human Who Codes - Snippets" href="https://humanwhocodes.com/feeds/snippets.json"> <link rel="alternate" type="application/rss+xml" title="Human Who Codes - All" href="https://humanwhocodes.com/feeds/all.xml"> <link rel="alternate" type="application/json" title="Human Who Codes - All" href="https://humanwhocodes.com/feeds/all.json"> <!-- Open Graph / Facebook --> <meta property="og:type" content="website"> <meta property="og:url" content="https://humanwhocodes.com/blog/2011/"> <meta property="og:title" content="Posts in 2011 - Human Who Codes"> <meta property="og:description" content="The Official Web Site of Nicholas C. Zakas"> <meta property="og:image" content="https://humanwhocodes.com/favicon.png"> <!-- Twitter --> <meta property="twitter:site" content="@humanwhocodes"> <meta property="twitter:creator" content="@slicknet"> <meta property="twitter:card" content="summary_large_image"> <meta property="twitter:url" content="https://humanwhocodes.com/blog/2011/"> <meta property="twitter:title" content="Posts in 2011 - Human Who Codes"> <meta property="twitter:description" content="The Official Web Site of Nicholas C. Zakas"> <meta property="twitter:image" content="https://humanwhocodes.com/favicon.png"> <link rel="stylesheet" href="/_astro/_...page_.5b80b47b.css" /> <link rel="stylesheet" href="/_astro/about.7a05c7cf.css" /></head> <body itemscope itemtype="http://schema.org/WebPage"> <header class="highlight-background"> <nav role="navigation" class="page-width center center-text gutters collapsible-corners"> <h1 class="no-margin"><a href="/"><img src="/_astro/logo-full-web.fbbbde18.svg" alt="Human Who Codes" height="50"></a></h1> <ul class="inline-list inline-spaced-list center-text-on-small-screens overflow-x-scroll all-caps bold"> <li class="hide-offscreen"><a href="#content">Skip to content</a></li> <li><a href="/books/" class="dark-text no-underline">Books</a></li> <li><a href="/reading/" class="dark-text no-underline">Reading</a></li> <li><a href="/coaching/" class="dark-text no-underline">Coaching</a></li> <li><a href="/newsletter/" class="dark-text no-underline">Newsletter</a></li> <!-- <li><a href="/speaking/" class="dark-text no-underline">Speaking</a></li> --> <li><a href="/donate/" class="dark-text no-underline">Donate</a></li> <li><a href="/contact/" class="dark-text no-underline">Contact</a></li> </ul> </nav> </header> <hr> <div class="content-background"> <div id="page-grid" class="page-width page-grid center"> <main id="content" role="main" class="content-width gutters"> <h2 class="no-margin">Posts in 2011</h2> <div class="post-blurb margin-bottom astro-3IOAXW6H"> <div class="post-head astro-3IOAXW6H"> <h3 class="no-margin-bottom astro-3IOAXW6H"><a href="/blog/2011/01/11/the-sorry-state-of-the-css3-specifications" class="astro-3IOAXW6H">The sorry state of the CSS3 specifications</a></h3> <p class="byline astro-3IOAXW6H"><i class="astro-3IOAXW6H">January 11, 2011</i> </p> </div> </div><div class="post-blurb margin-bottom astro-3IOAXW6H"> <div class="post-head astro-3IOAXW6H"> <h3 class="no-margin-bottom astro-3IOAXW6H"><a href="/blog/2011/02/08/on-ua-sniffing-browser-detection-and-alexs-post" class="astro-3IOAXW6H">On UA sniffing, browser detection, and Alex's post</a></h3> <p class="byline astro-3IOAXW6H"><i class="astro-3IOAXW6H">February 8, 2011</i> </p> </div> </div><div class="post-blurb margin-bottom astro-3IOAXW6H"> <div class="post-head astro-3IOAXW6H"> <h3 class="no-margin-bottom astro-3IOAXW6H"><a href="/blog/2011/02/14/separating-javascript-download-and-execution" class="astro-3IOAXW6H">Separating JavaScript download and execution</a></h3> <p class="byline astro-3IOAXW6H"><i class="astro-3IOAXW6H">February 14, 2011</i> </p> </div> </div><div class="post-blurb margin-bottom astro-3IOAXW6H"> <div class="post-head astro-3IOAXW6H"> <h3 class="no-margin-bottom astro-3IOAXW6H"><a href="/blog/2011/02/22/the-importance-of-being-versioned" class="astro-3IOAXW6H">The importance of being versioned</a></h3> <p class="byline astro-3IOAXW6H"><i class="astro-3IOAXW6H">February 22, 2011</i> </p> </div> </div><div class="post-blurb margin-bottom astro-3IOAXW6H"> <div class="post-head astro-3IOAXW6H"> <h3 class="no-margin-bottom astro-3IOAXW6H"><a href="/blog/2011/03/22/using-html5-semantic-elements-today" class="astro-3IOAXW6H">Using HTML5 semantic elements today</a></h3> <p class="byline astro-3IOAXW6H"><i class="astro-3IOAXW6H">March 22, 2011</i> </p> </div> </div><div class="post-blurb margin-bottom astro-3IOAXW6H"> <div class="post-head astro-3IOAXW6H"> <h3 class="no-margin-bottom astro-3IOAXW6H"><a href="/blog/2011/04/05/lessons-on-font-face-from-the-f2e-summit" class="astro-3IOAXW6H">Lessons on @font-face from the F2E Summit</a></h3> <p class="byline astro-3IOAXW6H"><i class="astro-3IOAXW6H">April 5, 2011</i> </p> </div> </div><div class="post-blurb margin-bottom astro-3IOAXW6H"> <div class="post-head astro-3IOAXW6H"> <h3 class="no-margin-bottom astro-3IOAXW6H"><a href="/blog/2011/05/03/better-javascript-animations-with-requestanimationframe" class="astro-3IOAXW6H">Better JavaScript animations with requestAnimationFrame</a></h3> <p class="byline astro-3IOAXW6H"><i class="astro-3IOAXW6H">May 3, 2011</i> </p> </div> </div><div class="post-blurb margin-bottom astro-3IOAXW6H"> <div class="post-head astro-3IOAXW6H"> <h3 class="no-margin-bottom astro-3IOAXW6H"><a href="/blog/2011/06/03/on-leaving-yahoo-and-whats-next" class="astro-3IOAXW6H">On leaving Yahoo! and what's next</a></h3> <p class="byline astro-3IOAXW6H"><i class="astro-3IOAXW6H">June 3, 2011</i> </p> </div> </div><div class="post-blurb margin-bottom astro-3IOAXW6H"> <div class="post-head astro-3IOAXW6H"> <h3 class="no-margin-bottom astro-3IOAXW6H"><a href="/blog/2011/06/15/introducing-css-lint-2" class="astro-3IOAXW6H">Introducing CSS Lint</a></h3> <p class="byline astro-3IOAXW6H"><i class="astro-3IOAXW6H">June 15, 2011</i> </p> </div> </div><div class="post-blurb margin-bottom astro-3IOAXW6H"> <div class="post-head astro-3IOAXW6H"> <h3 class="no-margin-bottom astro-3IOAXW6H"><a href="/blog/2011/06/19/book-review-eloquent-javascript" class="astro-3IOAXW6H">Book review: Eloquent JavaScript</a></h3> <p class="byline astro-3IOAXW6H"><i class="astro-3IOAXW6H">June 19, 2011</i> </p> </div> </div><div class="post-blurb margin-bottom astro-3IOAXW6H"> <div class="post-head astro-3IOAXW6H"> <h3 class="no-margin-bottom astro-3IOAXW6H"><a href="/blog/2011/07/21/quick-and-dirty-spinning-up-a-new-ec2-web-server-in-five-minutes" class="astro-3IOAXW6H">Quick and dirty: Spinning up a new EC2 web server in five minutes</a></h3> <p class="byline astro-3IOAXW6H"><i class="astro-3IOAXW6H">July 21, 2011</i> </p> </div> </div><div class="post-blurb margin-bottom astro-3IOAXW6H"> <div class="post-head astro-3IOAXW6H"> <h3 class="no-margin-bottom astro-3IOAXW6H"><a href="/blog/2011/08/09/introduction-to-the-page-visibility-api" class="astro-3IOAXW6H">Introduction to the Page Visibility API</a></h3> <p class="byline astro-3IOAXW6H"><i class="astro-3IOAXW6H">August 9, 2011</i> </p> </div> </div><div class="post-blurb margin-bottom astro-3IOAXW6H"> <div class="post-head astro-3IOAXW6H"> <h3 class="no-margin-bottom astro-3IOAXW6H"><a href="/blog/2011/08/18/css-lint-updated-to-0-5-0" class="astro-3IOAXW6H">CSS Lint updated to 0.5.0</a></h3> <p class="byline astro-3IOAXW6H"><i class="astro-3IOAXW6H">August 18, 2011</i> </p> </div> </div><div class="post-blurb margin-bottom astro-3IOAXW6H"> <div class="post-head astro-3IOAXW6H"> <h3 class="no-margin-bottom astro-3IOAXW6H"><a href="/blog/2011/09/03/css-lint-v0-6-0-now-available" class="astro-3IOAXW6H">CSS Lint v0.6.0 now available</a></h3> <p class="byline astro-3IOAXW6H"><i class="astro-3IOAXW6H">September 3, 2011</i> </p> </div> </div><div class="post-blurb margin-bottom astro-3IOAXW6H"> <div class="post-head astro-3IOAXW6H"> <h3 class="no-margin-bottom astro-3IOAXW6H"><a href="/blog/2011/09/15/experimenting-with-ecmascript-6-proxies" class="astro-3IOAXW6H">Experimenting with ECMAScript 6 proxies</a></h3> <p class="byline astro-3IOAXW6H"><i class="astro-3IOAXW6H">September 15, 2011</i> </p> </div> </div><div class="post-blurb margin-bottom astro-3IOAXW6H"> <div class="post-head astro-3IOAXW6H"> <h3 class="no-margin-bottom astro-3IOAXW6H"><a href="/blog/2011/09/19/script-yielding-with-setimmediate" class="astro-3IOAXW6H">Script yielding with setImmediate</a></h3> <p class="byline astro-3IOAXW6H"><i class="astro-3IOAXW6H">September 19, 2011</i> </p> </div> </div><div class="post-blurb margin-bottom astro-3IOAXW6H"> <div class="post-head astro-3IOAXW6H"> <h3 class="no-margin-bottom astro-3IOAXW6H"><a href="/blog/2011/10/03/when-web-standards-fail-us" class="astro-3IOAXW6H">When web standards fail us</a></h3> <p class="byline astro-3IOAXW6H"><i class="astro-3IOAXW6H">October 3, 2011</i> </p> </div> </div><div class="post-blurb margin-bottom astro-3IOAXW6H"> <div class="post-head astro-3IOAXW6H"> <h3 class="no-margin-bottom astro-3IOAXW6H"><a href="/blog/2011/10/11/simple-maintainable-templating-with-javascript" class="astro-3IOAXW6H">Simple, maintainable templating with JavaScript</a></h3> <p class="byline astro-3IOAXW6H"><i class="astro-3IOAXW6H">October 11, 2011</i> </p> </div> </div><div class="post-blurb margin-bottom astro-3IOAXW6H"> <div class="post-head astro-3IOAXW6H"> <h3 class="no-margin-bottom astro-3IOAXW6H"><a href="/blog/2011/10/14/css-lint-v0-7-0-released" class="astro-3IOAXW6H">CSS Lint v0.7.0 released</a></h3> <p class="byline astro-3IOAXW6H"><i class="astro-3IOAXW6H">October 14, 2011</i> </p> </div> </div><div class="post-blurb margin-bottom astro-3IOAXW6H"> <div class="post-head astro-3IOAXW6H"> <h3 class="no-margin-bottom astro-3IOAXW6H"><a href="/blog/2011/10/20/so-you-want-to-write-javascript-for-a-living-repost" class="astro-3IOAXW6H">So you want to write JavaScript for a living? [repost]</a></h3> <p class="byline astro-3IOAXW6H"><i class="astro-3IOAXW6H">October 20, 2011</i> </p> </div> </div><div class="post-blurb margin-bottom astro-3IOAXW6H"> <div class="post-head astro-3IOAXW6H"> <h3 class="no-margin-bottom astro-3IOAXW6H"><a href="/blog/2011/10/24/css-lint-v0-8-0-now-available" class="astro-3IOAXW6H">CSS Lint v0.8.0 now available</a></h3> <p class="byline astro-3IOAXW6H"><i class="astro-3IOAXW6H">October 24, 2011</i> </p> </div> </div><div class="post-blurb margin-bottom astro-3IOAXW6H"> <div class="post-head astro-3IOAXW6H"> <h3 class="no-margin-bottom astro-3IOAXW6H"><a href="/blog/2011/10/25/improving-rhino-cli-utility-performance" class="astro-3IOAXW6H">Improving Rhino CLI utility performance</a></h3> <p class="byline astro-3IOAXW6H"><i class="astro-3IOAXW6H">October 25, 2011</i> </p> </div> </div><div class="post-blurb margin-bottom astro-3IOAXW6H"> <div class="post-head astro-3IOAXW6H"> <h3 class="no-margin-bottom astro-3IOAXW6H"><a href="/blog/2011/11/04/custom-types-classes-using-object-literals-in-javascript" class="astro-3IOAXW6H">Custom types (classes) using object literals in JavaScript</a></h3> <p class="byline astro-3IOAXW6H"><i class="astro-3IOAXW6H">November 4, 2011</i> </p> </div> </div><div class="post-blurb margin-bottom astro-3IOAXW6H"> <div class="post-head astro-3IOAXW6H"> <h3 class="no-margin-bottom astro-3IOAXW6H"><a href="/blog/2011/11/18/setting-up-multi-user-apache-on-ec2" class="astro-3IOAXW6H">Setting up multi-user Apache on EC2</a></h3> <p class="byline astro-3IOAXW6H"><i class="astro-3IOAXW6H">November 18, 2011</i> </p> </div> </div><div class="post-blurb margin-bottom astro-3IOAXW6H"> <div class="post-head astro-3IOAXW6H"> <h3 class="no-margin-bottom astro-3IOAXW6H"><a href="/blog/2011/11/22/book-review-closure-the-definitive-guide" class="astro-3IOAXW6H">Book review: Closure: the Definitive Guide</a></h3> <p class="byline astro-3IOAXW6H"><i class="astro-3IOAXW6H">November 22, 2011</i> </p> </div> </div><div class="post-blurb margin-bottom astro-3IOAXW6H"> <div class="post-head astro-3IOAXW6H"> <h3 class="no-margin-bottom astro-3IOAXW6H"><a href="/blog/2011/11/29/how-content-delivery-networks-cdns-work" class="astro-3IOAXW6H">How content delivery networks (CDNs) work</a></h3> <p class="byline astro-3IOAXW6H"><i class="astro-3IOAXW6H">November 29, 2011</i> </p> </div> </div><div class="post-blurb margin-bottom astro-3IOAXW6H"> <div class="post-head astro-3IOAXW6H"> <h3 class="no-margin-bottom astro-3IOAXW6H"><a href="/blog/2011/12/14/timer-resolution-in-browsers" class="astro-3IOAXW6H">Timer resolution in browsers</a></h3> <p class="byline astro-3IOAXW6H"><i class="astro-3IOAXW6H">December 14, 2011</i> </p> </div> </div><div class="post-blurb margin-bottom astro-3IOAXW6H"> <div class="post-head astro-3IOAXW6H"> <h3 class="no-margin-bottom astro-3IOAXW6H"><a href="/blog/2011/12/16/book-review-html-css" class="astro-3IOAXW6H">Book review: HTML &#038; CSS</a></h3> <p class="byline astro-3IOAXW6H"><i class="astro-3IOAXW6H">December 16, 2011</i> </p> </div> </div><div class="post-blurb margin-bottom astro-3IOAXW6H"> <div class="post-head astro-3IOAXW6H"> <h3 class="no-margin-bottom astro-3IOAXW6H"><a href="/blog/2011/12/20/introducing-props2js" class="astro-3IOAXW6H">Introducing Props2Js</a></h3> <p class="byline astro-3IOAXW6H"><i class="astro-3IOAXW6H">December 20, 2011</i> </p> </div> </div> </main> <div id="sidebar" class="sidebar-width sidebar-background gutters hide-on-small-screens"> <h1 class="hide-offscreen">Additional Information</h1> <script async type="text/javascript" src="//cdn.carbonads.com/carbon.js?serve=CKYIEK3Y&placement=humanwhocodescom" id="_carbonads_js"></script> <h2 class="smaller-font">My Books</h2> <ul class="inline-list inline-image-list"> <li><a href="https://www.lulu.com/en/us/shop/nicholas-c-zakas/understanding-javascript-promises/paperback/product-2yvnqn.html"><img src="/images/books/promises.png" alt="Understanding JavaScript Promises" width="100"></a></li><li><a href="https://geni.us/hwc-es6-book"><img src="/images/books/understandinges6ns.png" alt="Understanding ECMAScript 6" width="100"></a></li><li><a href="https://geni.us/hwc-oopjs-book"><img src="/images/books/oopinjsns.png" alt="The Principles of Object-Oriented JavaScript" width="100"></a></li><li><a href="https://geni.us/hwc-mjs-book"><img src="/images/books/maintainablejs.png" alt="Maintainable JavaScript" width="100"></a></li> </ul> <h2 class="smaller-font">Recent Snippets</h2> <ul> <li><a href="/snippets/2024/03/publishing-to-jsr-release-please/">Publishing to JSR using release-please</a></li><li><a href="/snippets/2023/11/how-to-setup-known-hosts-jenkins-pipeline/">How to setup a known_hosts file for a Jenkins pipeline job</a></li><li><a href="/snippets/2023/01/mimicking-dirname-filename-nodejs-esm/">Mimicking __dirname and __filename in ESM modules in Node.js</a></li><li><a href="/snippets/2022/02/eleventy-npm-modules-client/">How to add npm packages for client-side use in Eleventy</a></li><li><a href="/snippets/2021/03/create-user-linux-ssh-key/">Creating a new user with an SSH key on Linux</a></li><li><a href="/snippets/2021/02/how-to-setup-deploy-web-application-dokku/">How to setup and deploy a web application on Dokku</a></li><li><a href="/snippets/2021/02/how-to-regain-jenkins-web-access-after-lockout/">How to regain Jenkins web access after being locked out</a></li><li><a href="/snippets/2020/10/create-typescript-declarations-from-javascript-jsdoc/">Create TypeScript declarations from JavaScript and JSDoc</a></li><li><a href="/snippets/2020/10/read-environment-variables-deno/">How to read environment variables in Deno using JavaScript</a></li><li><a href="/snippets/2020/08/validate-github-webhook-signature-nodejs/">How to validate the signature of a GitHub webhook using Node.js</a></li> </ul> <h2 class="smaller-font">Archives (20 Years)</h2> <ul> <li><a href="/blog/2024/">2024</a></li><li><a href="/blog/2023/">2023</a></li><li><a href="/blog/2022/">2022</a></li><li><a href="/blog/2021/">2021</a></li><li><a href="/blog/2020/">2020</a></li><li><a href="/blog/2019/">2019</a></li><li><a href="/blog/2018/">2018</a></li><li><a href="/blog/2016/">2016</a></li><li><a href="/blog/2015/">2015</a></li><li><a href="/blog/2014/">2014</a></li><li><a href="/blog/2013/">2013</a></li><li><a href="/blog/2012/">2012</a></li><li><a href="/blog/2011/">2011</a></li><li><a href="/blog/2010/">2010</a></li><li><a href="/blog/2009/">2009</a></li><li><a href="/blog/2008/">2008</a></li><li><a href="/blog/2007/">2007</a></li><li><a href="/blog/2006/">2006</a></li><li><a href="/blog/2005/">2005</a></li><li><a href="/blog/2004/">2004</a></li> </ul> </div> </div> </div> <hr> <footer class="inverted-colors"> <div class="page-width center"> <div class="page-grid orange-border-bottom"> <div class="margin-top content-width gutters"> <div class="collapsible-media-box"> <div class="media-box-media center-text"> <img src="/_astro/me-150x150.0969500a.jpg" alt="Photo of Nicholas C. Zakas" width="150" class="circle-image"> </div> <div> <h2 class="no-margin-top center-text-on-mobile">About the Human</h2> <p>Hi, I'm Nicholas C. Zakas, an independent software developer living in Mountain View, California. I've been a software architect at companies like Yahoo and Box, as well as an author and speaker. I created the <a href="https://eslint.org">ESLint</a> open source project and wrote several <a href="https://humanwhocodes.com/books">books</a>. At the moment, I'm <a href="https://humanwhocodes.com/blog/2014/04/02/i-have-lyme-disease/">recovering from Lyme disease</a> and haven't been able to leave my home much in the past five years. (<a href="https://medium.com/lyme-disease-warrior/progress-report-october-2018-fc38d4769e65">Health update</a>, <a rel="me" href="/about">More about me</a>)</p> </div> </div> </div> <div class="margin-top sidebar-width hide-on-small-screens"> <h2 class="no-margin-top">On the Web</h2> <ul> <li><a href="https://fosstodon.org/@nzakas" rel="me">Mastodon</a></li> <li><a href="https://www.twitter.com/slicknet/">Twitter</a></li> <li><a href="https://www.github.com/nzakas/">GitHub</a></li> <li><a href="https://www.instagram.com/humanwhocodes">Instagram</a></li> <li><a href="https://www.youtube.com/channel/UC95Pwj8oPPZN2mJCEtMqOsg">YouTube</a></li> <li><a href="https://www.linkedin.com/in/nzakas">LinkedIn</a></li> <li><a href="https://www.slideshare.net/nzakas/presentations/">Slideshare</a></li> <li><a href="https://amazon.com/author/nzakas/">Amazon</a></li> </ul> </div> </div> <p class="center-text"><a href="/policies/privacy">Privacy Policy</a> | <a href="/policies/terms">Terms of Service</a></p> <p class="center-text">Copyright © 2020-2024 Human Who Codes LLC. Content licensed under a <a href="http://creativecommons.org/licenses/by-nc-nd/3.0/" rel="nofollow noopener">Creative Commons Attribution-NonCommercial-NoDerivs 3.0 Unported License</a>.<br>Some links may be affiliate links. We may get paid if you buy something or take an action after clicking one of these. As an Amazon Associate we earn from qualifying purchases. <a href="/feeds/blog.xml">Blog Feed</a></p> </div> </footer> </body></html>