<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Robert Heaton</title>
    <meta name="google-site-verification" content="nEy67q46N_E4keArl5x0pv_hCQQ_jh0vUFe57wyR3Eg" />

<meta name="twitter:card" content="summary"></meta>
<meta property="og:image" content="https://robertheaton.com/images/icon.png"/>

<meta name="twitter:image" content="https://robertheaton.com/images/icon.png" />


<meta name="twitter:site" content="@RobJHeaton" />

<meta content='width=device-width, initial-scale=1.0, user-scalable=no' name='viewport' />
<meta content='text/html; charset=utf-8' http-equiv='content-type' />
<meta property='og:site_name' content='Robert Heaton' />


  <meta content='https://robertheaton.com' property='og:url' />
  <meta property="og:type" content='blog'/>
  <meta property="og:title" content='Robert Heaton | Blog'/>
  <meta property="og:description" content='Software engineer. One-track lover down a two-way lane'/>
  <meta name="description" content='Software engineer. One-track lover down a two-way lane'/>


<link rel="shortcut icon" href="/images/fav.png"/>
<link rel="stylesheet" href="/css/tachyons.css">
<link rel="stylesheet" href="/css/highlight.css">


<script async src="https://www.googletagmanager.com/gtag/js?id=G-6TZRZLLKCF"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'G-6TZRZLLKCF');
</script>


<style>
  a { color: rgb(0, 0, 238); }
  a.underline { text-decoration-color: rgba(0, 0, 0, .4); }
  blockquote {
    font-style: italic;
    border-left: .5em solid;
    margin: 2em 0;
    padding-left: 2em;
    margin-left: 0;
  }
  article img {
    max-width: 100%;
  }
  hr {
    border: 0;
    border-top: 1px solid #ccc;
    margin: 2em 0;
  }

  .has-pullquote:before {
    /* Reset metrics. */
    padding: 0;
    border: none;

    /* Content */
    content: attr(data-pullquote);

    /* Pull out to the right, modular scale based margins. */
    float: right;
    width: 45%;
    margin: 1em 0 1em 1.5em;

    /* Baseline correction */
    position: relative;
    top: 6px;
    font-size: 1.4em;
    line-height: 1.45em;
  }
</style>

  </head>
  <body class="sans-serif lh-copy">
    <div id="fb-root"></div>
    <div class="flex-l">
      <div class="measure-narrow-l flex-none pa4 dn db-l br-l b--moon-gray"><div style="width: 20em;"><!-- fixed container placeholder --></div></div>
<header class="pa4 flex-auto measure-narrow-l fixed-l">
  <h1 class="mv0 f2 f1-l lh-solid">
    <a href="/" class="link navy fw2 tracked-tight ttu">Robert Heaton</a>
  </h1>

  <p class="f6 dark-gray">
    Software Engineer /
    <br/>One-track lover / Down a two-way lane
  </p>

<style>
  @media (max-width: 767px) {
   .hide-small {
      display: none;
   }
}
</style>

  <nav aria-label="site" class="">
    <ul class="list ml0 pl0 mb0">
      <li class="mt1 mt2-l dib db-l mr3"><a class="link near-black f4-ns underline-hover" href="/">Posts</a></li>
      <li class="mt1 mt2-l dib db-l mr3"><a class="link near-black f4-ns underline-hover" href="/about">About</a></li>
      <li class="mt1 mt2-l dib db-l mr3"><a class="link near-black f4-ns underline-hover" href="https://twitter.com/RobJHeaton">Twitter</a></li>
      <li class="mt1 mt2-l dib db-l mr3"><a class="link near-black f4-ns underline-hover" href="/newsletter">Subscribe</a></li>
      <!-- <li class="mt1 mt2-l dib db-l mr3 hide-small"><a class="link near-black f4-ns underline-hover" href="/office-hours">Office Hours</a></li> -->
      <!--<li class="mt1 mt2-l dib db-l mr3 hide-small"><a class="link near-black f4-ns underline-hover" href="https://advancedbeginners.substack.com">Programming Feedback for Advanced Beginners</a></li>-->
    </ul>
  </nav>
</header>

      <main class="flex-auto nested-img bt bn-l b--moon-gray pl4 pr4 pb4 measure-wide f4">
        <!-- <section class="nl4 ph4 pv3 bt bb b--moon-gray nr4">
<form
  action="https://buttondown.email/api/emails/embed-subscribe/heaton"
  method="post"
  target="popupwindow"
  onsubmit="window.open('https://buttondown.email/heaton', 'popupwindow')"
  class="embeddable-buttondown-form"
>
    <label for="mce-EMAIL">
      <h3 class="f3 mt0 mb1">Get new essays sent to you</h3>
    </label>
    <span id="mce-email-describe" class="mt0">
      Subscribe to my new work on programming, security, and a few other
      topics. Published a few times a month.
    </span>
    <br/>
  <input type="email" name="email" id="tlemail" placeholder="Your email address"
    class="bw2 b--dark-gray pa3 ba measure-narrow w-100 mr2" />
      <input type="hidden" value="1" name="embed"/>
      <button type="submit" name="subscribe" id="mc-embedded-subscribe"
        class="bw2 b--green green bg-white dark fw6 pa3 ba mt2 dib hover-white hover-bg-green pointer">Subscribe</button>
    </form>
      <a class="pv2 dib link hover-dark-blue near-black fw6" href="https://twitter.com/robjheaton">
        Follow me on Twitter &#10140;
      </a>
      <a class="pv2 dib link hover-dark-blue near-black fw6" href="https://robertheaton.com/feed.xml">
        RSS &#10140;
      </a>
  </form>
</section>
 -->
        
          <h2 class="mv0 f2 lh-title pt4">About me</h2>
        
        <p>I’m a researcher at <a href="https://anthropic.com">Anthropic</a> on the frontier red team.</p>

<p>I’ve written a book about being a dad that I’m working on <a href="/book-draft-finished">getting published</a>.</p>

<p>On this blog I write about:</p>

<ul>
  <li><a href="https://robertheaton.com/2020/02/05/wacom-drawing-tablets-track-name-of-every-application-you-open/">Uncovering online privacy violations</a></li>
  <li><a href="/2017/11/20/how-does-online-tracking-actually-work/">Online tracking</a></li>
  <li><a href="/2017/10/17/we-see-you-democratizing-de-anonymization/">Being sneaky</a></li>
  <li><a href="https://robertheaton.com/2020/04/27/how-does-a-tcp-reset-attack-work/">Network security</a></li>
  <li><a href="/2018/06/05/why-economists-need-bureaucracy/">Economics</a></li>
  <li><a href="/2018/06/12/programming-projects-for-advanced-beginners-ascii-art/">Teaching programming</a></li>
  <li><a href="/2018/06/25/how-to-read/">Reading</a></li>
  <li><a href="/2016/09/03/ten-somewhat-advanced-magic-the-gathering-plays/">Magic: The Gathering</a></li>
  <li><a href="https://robertheaton.com/2019/06/17/childbirth-a-fathers-eye-view/">Being a parent</a></li>
  <li><a href="/2016/04/09/in-context/">Writing stories</a></li>
  <li><a href="https://robertheaton.com/2018/12/06/a-blogging-style-guide/">Writing clearly</a></li>
  <li><a href="https://robertheaton.com/2020/03/13/smile-by-papa-gary-computer-remix/">Synthwave music production</a></li>
  <li><a href="https://robertheaton.com/2018/07/04/i-went-to-skyrim-once/">Video games</a></li>
</ul>

<p>I also like chess, but I haven’t written any blog posts about that. I used to <a href="/2014/10/25/tales-from-a-san-francisco-housing-search/">live in San Francisco</a>. Now I live in London.</p>

<h2 id="contact">Contact</h2>

<p>I’m on <a href="https://twitter.com/robjheaton">Twitter</a> and I use email - <code class="language-plaintext highlighter-rouge">robqheaton at gmail dot com</code>. I’d love to hear from you about anything that’s on your mind.</p>


      </main>
    </div>
    <footer class="w-100 bt b--moon-gray pa4 tc">
  <a class="mh1 link underline-hover" href="/">Home</a> /
  <a class="mh1 link underline-hover" href="/archive">Archive</a> /
  <a class="mh1 link underline-hover" href="/feed.xml">RSS</a> /
  <a class="mh1 link underline-hover" href="https://twitter.com/robjheaton">Twitter</a> /
  <a class="mh1 link underline-hover" href="/office-hours">Office hours</a> /
  <a class="mh1 link underline-hover" href="/tipoffs">Tipoffs</a> /
  <a class="mh1 link underline-hover" href="https://soundcloud.com/rob24242/">SoundCloud</a>
</footer>

  </body>
</html>