<!doctype html>
<html lang="en">
  <head>
    <script async src="https://www.googletagmanager.com/gtag/js?id=UA-43613920-1"></script>
    <script src="/static/gtag.js"></script>
    <meta charset="utf-8">
    <meta http-equiv="x-ua-compatible" content="ie=edge">
    <meta name="viewport" content="width=device-width, initial-scale=1">
    <meta name="description" content="">
    <meta name="author" content="John Mastro">
    <title>John Mastro</title>
    <link rel="alternate" type="application/atom+xml" href="https://jbm.io/atom.xml" title="John Mastro Atom Feed">
    <!--[if lt IE 9]>
    <script src="/static/html5shiv.min.js"></script>
    <![endif]-->
    <link rel="stylesheet" href="/static/normalize.min.css">
    <link rel="stylesheet" href="/static/base.min.css">
    <link rel="stylesheet" href="/static/style.css">
    <!-- Favicon variations and markup generated via
         https://realfavicongenerator.net -->
    <link rel="apple-touch-icon" sizes="180x180" href="/apple-touch-icon.png">
    <link rel="icon" type="image/png" sizes="32x32" href="/favicon-32x32.png">
    <link rel="icon" type="image/png" sizes="16x16" href="/favicon-16x16.png">
    <link rel="manifest" href="/site.webmanifest">
    <link rel="mask-icon" href="/safari-pinned-tab.svg" color="#5bbad5">
    <meta name="msapplication-TileColor" content="#2d89ef">
    <meta name="theme-color" content="#000000">
  </head>
  <body>
    <header id="main-header">
      <div id="logo">
        <a href="https://jbm.io/">John Mastro</a>
      </div>
      <nav>
        <a href="https://jbm.io/archive.html">archive</a>
      </nav>
    </header>
    <main>
<article>
  <section id="prelude">
    <p>Hello. I&rsquo;m a software engineer based in Brooklyn, NY. I work on platforms for engineers,
data analysts, and data scientists.</p>
<h2>Elsewhere</h2>
<p>I&rsquo;m <a href="https://github.com/johnmastro">@johnmastro</a> on GitHub. I don&rsquo;t have much of a presence on social
media, so the best way to get in touch is to send me an email using the address
below.</p>
  </section>
  <section id="recent-articles">
    <h2>Recent articles</h2>
    <ul id="recent-article-list">
      <li><a href="https://jbm.io/2018/05/sky-0-0-7.html">Sky 0.0.7: Basic equality</a></li>
      <li><a href="https://jbm.io/2018/04/sky-0-0-6.html">Sky 0.0.6: Making all symbols readable</a></li>
      <li><a href="https://jbm.io/2018/04/sky-0-0-5.html">Sky 0.0.5: A not-quite-REPL</a></li>
      <li><a href="https://jbm.io/2018/04/sky-0-0-4.html">Sky 0.0.4: Reading data</a></li>
      <li><a href="https://jbm.io/2018/03/sky-0-0-3.html">Sky-0.0.3: Printing data</a></li>
      <li><a href="https://jbm.io/2018/03/maintaining-unidecode-for-emacs.html">I'm now maintaining Unidecode for Emacs</a></li>
      <li><a href="https://jbm.io/2018/03/sky-0-0-2.html">Sky 0.0.2: Immediate integers and characters</a></li>
      <li><a href="https://jbm.io/2018/02/sky-0-0-1.html">Sky 0.0.1: Basic data model</a></li>
      <li><a href="https://jbm.io/2018/02/blog-reboot.html">Blog reboot</a></li>
    </ul>
    <p>
      See the <a href="https://jbm.io/archive.html">archive page</a> for more
      posts.
    </p>
  </section>
</article>
    </main>
    <footer>
      <div class="copyright">
        &copy; 2018-2024 John Mastro
      </div>
      <div class="contact">
        <span id="contact-email">jbm@[this domain]</span>
      </div>
    </footer>
    <script src="/static/email.js"></script>
  </body>
</html>
