I code. I teach. I fly on trapeze. I help bring your vision to life on the web.
michael @ michaelrog.com
713.581.4764
/ michaelrog
<head>   <meta charset="utf-8">  <meta name="viewport" content="width=device-width, initial-scale=1">   <title>Michael Rog: code, for humans</title>  <link rel="canonical" href="https://michaelrog.com">   <meta name="description" content="I run a small web tech team based in Houston, Texas. Code is my happy place. I'd like to be a teacher when I grow up. When not programming, I cook with friends, travel the world, and work out with the circus.">   <script async="" src="https://www.google-analytics.com/analytics.js"></script><script type="application/ld+json">  {   "@context": "http://www.schema.org",   "@type": "person",   "name": "Michael Rog",   "jobTitle": "Web Technologist",   "url": "https://michaelrog.com",   "address": {    "@type": "PostalAddress",    "addressLocality": "Houston",    "addressRegion": "Texas",    "addressCountry": "United States of America"   },   "telephone": "+17135814764",   "sameAs": ["https://twitter.com/michaelrog","https://www.facebook.com/michaelrog"]  }  </script>   <script async="">    // Code background setup    makeCodeSpans = function makeCodeSpans(sourceId, targetId)   {     var sourceElement = document.getElementById(sourceId);    var targetElement = document.getElementById(targetId);     var text = sourceElement.innerHTML;     targetElement.innerHTML = null;     for (var i = 0, length = text.length; i < length; i++) {     var span = document.createElement('span');     var char = (text[i].match(/\s/g) ? span.innerHTML = '&nbsp;' : span.appendChild(document.createTextNode(text[i])));     targetElement.appendChild(span);    }    };   </script>