<?xml version="1.0" encoding="utf-8"?><feed xmlns="http://www.w3.org/2005/Atom" ><generator uri="https://jekyllrb.com/" version="3.10.0">Jekyll</generator><link href="https://tyma.com/feed.xml" rel="self" type="application/atom+xml" /><link href="https://tyma.com/" rel="alternate" type="text/html" /><updated>2026-10-09T23:13:23+00:00</updated><id>https://tyma.com/feed.xml</id><title type="html">Paul Tyma Blog</title><subtitle>Writing Ideas</subtitle><entry><title type="html">Why We’ll Never Meet Aliens</title><link href="https://tyma.com/why-well-never-meet-aliens/" rel="alternate" type="text/html" title="Why We’ll Never Meet Aliens" /><published>2013-07-02T00:00:00+00:00</published><updated>2013-07-02T00:00:00+00:00</updated><id>https://tyma.com/why-well-never-meet-aliens</id><content type="html" xml:base="https://tyma.com/why-well-never-meet-aliens/"><![CDATA[<p>If you combine all our current knowledge of statistics and astronomy, it’s nearly comical to believe we’re the only intelligent life in the universe. It’s easy to get lost in the numbers thrown around - there are billions of stars and planets in our galaxy and billions of galaxies. Humans are rather bad at fully understanding such large numbers.
<!--more--></p>

<p>Despite where this article might lead, it isn’t about science - its about thinking big. Big enough to consider that if there are any aliens with the ability to come visit us, they would almost assuredly not want to.</p>

<p>Stephen Hawking, the famous physicist, said in an interview that aliens visiting us would be similar to Christopher Columbus first landing on North America (not a good event for the indigenous population). His idea being that they would come for our resources, not with any particular purpose of friendship.</p>

<figure style="float: left; margin: 0 1.5rem 1rem 0; max-width: 40%;">
  <img src="/assets/images/alien.png" alt="Picture of an Alien" />
  <figcaption style="font-size: 0.85em; opacity: 0.8; text-align: center; margin-top: 0.4rem;">
    We come in Pea... actually, we're not coming
  </figcaption>
</figure>

<p>There are a few problems with that thought however. To introduce the idea, consider most any space movie in existence. Movies are of course, just movies, but they have shaped our thinking about meeting aliens. And small thinking it is indeed.</p>

<p>From what movies tell us, it would seem that scientists from alien races pretty much focused on 3 primary technologies: faster-than-light travel, energy weapons, and artificial gravity. Movies don’t highlight artificial gravity much because given our limited view, we pretty much expect gravity to just work and shooting a movie without it would be an unnecessary pain. So screw it, all movie alien races invented artificial gravity.</p>

<p>There’s a lot of implied technology thereafter (i.e. movie aliens don’t often get sick and seem to not worry about eating) but that’s not the fun stuff to think about. Lasers and energy-blasters however, <em>are</em> fun to think about.</p>

<p>Did you ever wonder though - why these same scientists who made these neato energy weapons never bothered to develop targeting systems? They still rely on dismal biological reflexes to aim them. It’s even sillier when alien robot/cyborgs that can outperform humans in every other way somehow still aren’t so great at aiming their laser zapper. They miss their target just as much as the humans do, and by that I mean, a lot.</p>

<p>Its actually rather ridiculous when you think about it - we (as in current state of human tech) already have automated targeting systems that work well with our primitive bullet-guns. We already have targeting systems in existence today better than anything you saw in Star Wars.</p>

<p>Truth is, given how far along we already are - by the time humans develop usable energy weapons - we’ll have awesome targeting systems to match. We won’t miss. It is with fantastically geeky sorrow that I proclaim that there’ll never be an energy pistol or rifle I’ll get to shoot. Sure, there will be energy weapons. Sure, they will shoot. But it won’t be me aiming them. They’ll darn well be perfectly happy aiming themselves. Chances are I’ll probably just be (briefly) running away.</p>

<p>Movies get to ignore whatever they wish. However, reality dictates that science tends to advance in all directions at the same time. Not only because there’s some level of constant pressure in all directions, but because advances in one field often accelerate many others (much like the invention of the computer accelerated all other fields of human science).</p>

<p>If Stephen Hawking is right, then he is saying a race of aliens have, at a minimum, perfected faster-than-light travel, conquered longterm biological effects of space radiation, and mastered extreme long distance space navigation just to come to earth and steal our water.</p>

<p>Another consideration that I rather enjoy is that if aliens would come here for resources, then that inherently implies an economic model into their decision. By definition, they need and value resources. Consequently, coming here to get them must have been their most economical choice. Getting resources somewhere closer to home or manufacturing them must be more “expensive” (in some sense of the word) than the cost of them traveling all the way here, gathering our resources (probably atomizing us in the process), and flying them home.</p>

<p>While not impossible, that seems like an unlikely set of events - both technologically and economically. Again, even we can (often expensively) synthesize chemicals when needed. Imagine that tech in a hundred years, or two hundred, or whenever it is you think we’ll be able to travel several light years for a mining expedition. What would be cheaper and better, forge the plutonium at home or send a galactic warship with thousands or warriors (and miners) to some far off planet?</p>

<p>From where we are now, we’re not even close to being able to get to Proxima Centauri (the closest star to us besides the sun). Even the technology required even to get us to Proxima Centauri in less than, say, 1000 years would require tech orders of magnitude from what we have. Propulsion, sustainability, radiation protection, nanotech - you name it.</p>

<p>Currently, our existing space excursions involve us putting bombs underneath rocket-ships, blowing them into space with enough air supply for a few weeks, and bringing them back before the astronauts lose too much bone mass and/or the Tang runs out. If getting humans to another star system is a 100 on some “technology ability scale”, we’re a 2 which is not comparatively far ahead of say, poodles - who are probably at a 1.</p>

<p>The idea that they might come to Earth to colonize hits a similar argument. You could argue that terraforming (or xenoforming for them I suppose) could be a technology more advanced than FTL travel. With that assumption, you could imagine an alien race within the technological sweet spot of knowing how to travel across the universe but not know how to alter planets to suit their biological needs. Coming to colonize Earth could make sense. But this ignores the fact that several other requisite technologies would probably make their need to colonize obsolete.</p>

<p>Before they had FTL travel, they likely spent many decades traveling at less that light speed. Even if not, chances are their ships are quite hospitable to themselves. In fact probably more like sailing biodomes than ships - someplace they could live indefinitely. But a biodome is probably the wrong inference - assuming their bio-scientists were at work while their space-propulsion engineers were perfecting FTL, they would likely have quite minimal external environmental needs. Stuff like air and food has long been technologied away.</p>

<p>The only thing something like Earth could give them is a place to stand on. Xenoforming a planet might be out of their reach, but creating ships to live in is by definition, well within their reach. The home-iness of living on a planet probably is questionable. It won’t be as hospitable as their own ships.</p>

<p>So why else might they want to come here? Maybe they want to trade with us. Well, yeah, right. If you’ve gotten this far it’s obvious we have no tech that would interest them. Maybe we’d be able to trade them some local arts and crafts or pottery or something - but other than that, they won’t be interested in our childish technology.</p>

<p>Well, maybe they want to study us? Well, maybe. It seems probable that if they were on a mission to study life forms, we would not be the first planet they would have visited. Chances are, they’ve seen other life forms already. Probably some at least similar to us. Statistically speaking, we might be interesting but not all that interesting.</p>

<p>Oh yeah - and statistically speaking - what about statistics? Remember, my thesis is that all fields of science tend to advance simultaneously. That includes math and statistics. In order to make FTL ships, laser-guns, and artificial gravity you’re going to need math (and computers) that are light years ahead of ours.</p>

<p>Let’s say they could use their super-advanced Hubble telescope, and see our solar system (at some point in the past). They’d see earth in the goldilocks zone for life. They’d know its land and atmospheric composition. They’d see its oceans and know the planet’s temperature variations. They’d see Jupiter acting as a bodyguard soaking up dangerous asteroids.</p>

<p>Even today, if we saw such a solar system, we’d have a pretty good idea that life could be there. If our math, statistics and knowledge of other life forms was 1000 times more advanced, how accurately could we predict that the life forms there would have 2 nostrils? How close could we come to guessing exactly what those life forms would be like?</p>

<p>And if we couldn’t get exact - how close would we care to? Does it really matter? In other words, with enough data and statistics they already know we’re here. Just like we know there was water on Mars or high temperatures on Venus.</p>

<p>Even with that however, we’re still thinking too small. It’s not just their science and tech that’s advanced - you need to expect that they have too.</p>

<p>In the 1990’s, if I asked you how many feet were in a mile (and you didn’t know) you could go to a library and look it up. In the 2000’s, you could go to a computer and google it. Today, you can just ask your phone.</p>

<p>It’s not a stretch at all with the advent of wearable computing that coming soon - I can ask you that question and you’ll instantly answer. The interesting part of that is that I won’t know if you knew the answer or instantly looked it up - and more importantly, it won’t matter. If information is reliably fed directly to you from an external source, there’ll be no advantage to remembering anything.</p>

<p>How many years before we have a brain interface to AI? You’d know everything. And its not crazy to think that soon after we’d find ourselves limited by how slow our brains process information. The obvious next step being to augment our brains, our thinking, and in the process - augment who we are. That’s what our scientists will be working on then (and of course, are actually already working on).</p>

<p>How would you change if you had instant brain-level access to all information. How would you change if you were twice as smart as you are now. How about ten times as smart? (Don’t answer, truth is, you’re not smart enough to know).</p>

<p>Now, let’s leap ahead and think about what that looks like in 100 years. Or 1000.  Simply, take a race of beings (us or otherwise), that has a technical evolution from where we are today - to the day we can travel to another solar system.  Don’t just extrapolate to the amazing propulsion system they must have developed; extrapolate all sciences. All technologies. Chemistry, Physics, Math, AI, and maybe most interestingly, our own biology.</p>

<p>By that time - we’d be a scant remnant of what a human looks like today. Movies like to show aliens with over-sized heads and that may well be the case, but not because of biological evolution. Technological evolution will have long surpassed the snail-pass of biological evolution by then (read most any Ray Kurzweil book to hear this a lot).</p>

<p>The question of why aliens might “want to come here” is probably fundamentally flawed because we are forming that question from our current, tiny, viewpoint. The word “want” might not apply at all to someone 1000 times smarter than us.</p>

<p>If we discovered a fish-like creature on Europa today it would be fascinating for us to study it. If however, we were 1000 times smarter and had spent the last 1000 years finding fish-like creatures across the galaxy, and could with 99.99% accuracy predict the exact existence of such creatures from light-years away, it probably wouldn’t be all that interesting to go study another one.</p>

<p>The bottom line is that if an alien race is capable of getting here, all the other technology they’ve requisitely developed in the meantime would make the trip unnecessary at best - and more than likely, simply meaningless.</p>

<p>We’re just not as advanced or as important as we like to think. In the end, there’s no compelling reason to think they’d be interested in meeting us - we simply think too small.</p>]]></content><author><name></name></author><category term="Philosophy" /><category term="Philosophy" /><category term="Aliens" /><category term="Future" /><summary type="html"><![CDATA[We think a lot of ourselves]]></summary></entry><entry><title type="html">A Google Interviewing Story</title><link href="https://tyma.com/google-interviewing-story/" rel="alternate" type="text/html" title="A Google Interviewing Story" /><published>2007-01-10T00:00:00+00:00</published><updated>2007-01-10T00:00:00+00:00</updated><id>https://tyma.com/google-interviewing-story</id><content type="html" xml:base="https://tyma.com/google-interviewing-story/"><![CDATA[<p>A few years ago I was entering the Silicon Valley job market and at that time looking for senior engineering positions. A good rule of thumb about interviewing if you haven’t done it in awhile is to at least somewhat accept that you’ll probably make a few mistakes on your first few tries. Simply, don’t go for your dream job first. There are a million nuances to interviewing that you’ve forgotten, and a few up-front, not-so-important interviews first will educate (or re-educate) about them.
<!--more--></p>

<p>One of the first places I interviewed was a company called gofish.com. As far as I know - gofish is an utterly different company now than when I interviewed there. I’m almost sure that everyone I met there no longer works there, so the actual company isn’t terribly relevant to the story. But the interviewer is. My technical interview there was with a guy named Guy.</p>

<p>Guy wore leather pants. Its a well-known fact that interviewers in leather pants are “extra” scary. And Guy was by no means a let down. He was also a technical crack-shot. And he was a technical crack-shot in leather pants - seriously, I didn’t have a chance.</p>

<p>One question he asked me I’ll never forget. In truth, its a pretty innocuous question - but it’s also pretty standard fare for silicon valley interviewing questions at that time.</p>

<p>Here it is:</p>

<p>Say you have one string of alphabetic characters, and say you have another, guaranteed smaller string of alphabetic characters. Algorithmically speaking, what’s the fastest way to find out if all the characters in the smaller string are in the larger string?</p>

<p>For example, if the two strings were:</p>

<div class="language-plaintext highlighter-rouge"><div class="highlight"><pre class="highlight"><code>String 1: ABCDEFGHLMNOPQRS
String 2: DCGSRQPOM
</code></pre></div></div>

<p>You’d get true as every character in string2 is in string1. If the two strings were:</p>

<p>String 1: ABCDEFGHLMNOPQRS
String 2: DCGSRQPOZ</p>

<p>you’d get false as Z isn’t in the first string.</p>

<p>When he asked the question I literally jumped to my feet. Finally, a question I could answer with some confidence. (Note my answer to him was solely considering the worst cases as there are plenty enough nuances there for an interview question).</p>

<p>The naive way to do this operation would be to iterate over the 2nd string once for each character in the 1st string. That’d be O(n<em>m) in algorithm parlance where n is the length of string1 and m is the length of string2. Given the strings in our above example, thats 16</em>8 = 128 operations in the worst case.</p>

<p>A slightly better way would be to sort each string and then do a stepwise iteration of both sorted strings simultaneously. Sorting both strings would be (in the general case) O(m log m) + O(n log n) and the linear scan after that is O(m+n). Again for our strings above, that would be 16<em>4 + 8</em>3 = 88 plus a linear scan of both strings at a cost of 16 + 8 = 24. Thats 88 + 24 = 112 total operations. Slightly better. (As the size of the strings grow, this method would start to look better and better)</p>

<p>Finally, I told him the best method would simply be O(n+m). That is, iterate through the first string and put each character in a hashtable (cost of O(n) or 16). Then iterate the 2nd string and query the hashtable for each character you find. If its not found, you don’t have a match. That would cost 8 operations - so both operations together is a total of 24 operations. Not bad and way better than the other solutions.</p>

<p>Guy wasn’t impressed. He showed it by rustling his leather pants a bit. “Can you do better?” he asked.</p>

<p>What the heck? What did this guy want? I looked at the whiteboard and turned back to him. “No, O(n+m) is the best you have - I mean, you can’t do this without looking at each character at least once - and this solution is looking at each character precisely once”. The more I thought about it, the more I knew I was right.</p>

<p>He stepped up to the whiteboard, “What if - given that we have a limited range of possible characters - I assigned each character of the alphabet to a prime number starting with 2 and going up from there. So A would be 2, and B would be 3, and C would be 5, etc. And then I went through the first string and ‘multiplied’ each character’s prime number together. You’d end up with some big number right? And then - what if I iterated through the 2nd string and ‘divided’ by every character in there. If any division gave a remainder - you knew you didn’t have a match. If there was no remainders through the whole process, you knew you had a subset. Would that work?”</p>

<p>Every once in awhile - someone thinks so fantastically far out of your box you really need a minute to catch up. And now that he was standing, his leather pants weren’t helping with this.</p>

<p>Now mind you - Guy’s solution (and of course, needless to say I doubt Guy was the first to ever think of this) was algorithmically speaking no better than mine. Even practically, you’d still probably use mine as it was more general and didn’t make you deal with messy big integers. But on the “clever scale”, Guy’s was way, way, (way) more fun.</p>

<p>I didn’t get the job. Or I think they offered me some trial position or something that I refused, but it didn’t matter. I was on to bigger and better things.</p>

<p>Next, I interviewed at become.com. After a phone interview with the CTO he sent me a “programming assignment”. It was a bit over the top - but in retrospect, worth the 3 days it took me to complete. I got an interview and a job offer - but the biggest value was what the programming assignment forced me to go out and learn. I had to build a web-crawler, a spellchecker/fixer, and a few other things. Good stuff. In the end however, I turned down the offer.</p>

<p>Finally, I had an interview at Google. I’ve written before that the Google interviewing process does tend to live up to the hype. Its long - its rigorous and in all honesty, pretty darn fair. They do as best they can to learn about you and your abilities in an interview setting. By no means is that an exact science, but I’m convinced they give it a good try.</p>

<p>My 4th technical interview at Google was with a woman engineer that honestly seemed a bit bored of interviewing. I had done well in all my previous interviews there and was feeling pretty good about my chances. I was confident that if I did nothing ridiculously silly - I’d get the job.</p>

<p>She asked me a few softball questions about sorting or design, I’m not sure. But towards the end of our 45 minutes she told me “I have one more question. Let’s say you have a string of alphabetic characters of some length. And you have another, shorter string of characters. How would you go about finding if all the characters in the smaller string are in the larger string?”</p>

<p>Woah. Deja-Guy.</p>

<p>Now, I could have probably stopped the interview right there. I could have said “Ahee! I just got this question a few weeks ago!” which was true. But when I was asked it a few weeks previous - I did get it right. It truly was a question I knew the answer to. Almost as if Guy had been one of my study partners for this very interview. And heck, people study interview questions on the internet all the time - by me non-chalantly answering the question I wouldn’t be “lying” in any way. I did know the answer on my own!</p>

<p>Now you might think, that in the instant after her asking, and before the moment of time that I began speaking that the entire last paragraph sequenced through my thought process rationalizing that I was, indeed, morally in the right to calmly answer the question and take credit for the answer. But sadly, that wasn’t the case. Metaphorically, it was more like she asked the question and my brain immediately raised its hand and started shouting “Me! ooh! ooh! ooh me! I know! ask me!” My brain kept trying to wrestle mouth-control away from me (which happens plenty) but only by stalwart resolve was I able to retain composure.</p>

<p>So I answered. Calmly. With almost unearthly grace and poise. And with a purposeful demeanor - with, I think, a confidence that only someone with complete and encyclopedic knowledge of this timeless and subtle problem would hold.</p>

<p>I breezed over the naive solution as if it were unworthy. I mentioned the sorting solution as if it were wearing a red-shirt on an early episode of Star Trek. And finally, nonchalantly, almost as if I had invented all things good and algorithmically efficient, mentioned the O(n+m) linear solution.</p>

<p>Now mind you - despite my apparent poise - the entire time I was fighting my brain who, internally, was screaming at me – “TELL HER THE PRIME NUMBER SOLUTION YOU DIMWIT !”</p>

<p>I ignored his pitiful pleas.</p>

<p>As I finished the linear solution explanation, her head dutifully sank with complete non-surprise and she started writing in her notes. She had probably asked that question a hundred times before and I’d guess most people got it right. She probably wrote “yep. boring interview. got boring string question right. no surprise. boring guy but probable hire”</p>

<p>I waited a moment. I let the suspense build as long as possible. I am truly convinced that even a moment longer would have resulted in my brain throwing itself fully into an embolism resulting in me blurting out unintelligible mis-facts about prime numbers.</p>

<p>I broke the calm. “You know, there is another, somewhat cleverer solution”</p>

<p>She lethargically looked up with only a glimmer of hope.</p>

<p>“Given that our range of characters is limited. We could assign each character to a prime number starting at 2. After that we could ‘multiply’ each character of the large string and then ‘divide’ by each character of the small string. If the division operation left no remainder, we’d know we have a subset.”</p>

<p>I’m guessing that at this point, she looked pretty much as I did when Guy had said the same thing to me. General loss of composure, one pupil was dilated, slight spitting while talking.</p>

<p>After a moment, she blurted “But.. wait that wouldn’… yes it would! But how.. what if.. wow. wow. that works! Neat!”</p>

<p>I sniffed triumphantly. I wrote down “She gave me a ‘Neat!’” in my interviewing notes. I’m pretty sure I was getting the job before that question, but it was pretty clear that I was in for sure now. What’s more, I’m pretty confident that I (or more precisely, Guy) had just made her day.</p>

<p>I spent 3 years working at Google and had a great time. I quit in 2008 to CTO a new startup and have subsequently started another of my own after that. About a year ago I randomly met Guy at a start-up party who had no idea who I was but when I recounted this story he nearly peed his leather pants laughing.</p>

<p>Again, if there is a moral here - it’s to never chase your dream job before you chase a few you’re willing to fail at. Apart from the interviewing experience you’ll gain, you never know who might just get you ready for that big interview. In fact, that rule just might work for a lot of things in life.</p>

<p>And seriously, if you get the chance and you’re looking to hire a crackshot engineer - you could do far worse than hiring Guy. That dude knows things.</p>

<p>The main purpose of this article is to make sure that all basic HTML Elements are decorated with CSS so as to not miss any possible elements when creating new themes for Hugo.
<!--more--></p>

<h2 id="headings">Headings</h2>

<p>Let’s start with all possible headings. The HTML <code class="language-plaintext highlighter-rouge">&lt;h1&gt;</code>—<code class="language-plaintext highlighter-rouge">&lt;h6&gt;</code> elements represent six levels of section headings. <code class="language-plaintext highlighter-rouge">&lt;h1&gt;</code> is the highest section level and <code class="language-plaintext highlighter-rouge">&lt;h6&gt;</code> is the lowest.</p>

<h1 id="heading-1">Heading 1</h1>

<p>The main purpose of this article is to make sure that all basic HTML Elements are decorated with CSS so as to not miss any possible elements when creating new themes for Hugo.
<!--more--></p>

<h2 id="headings-1">Headings</h2>

<p>Let’s start with all possible headings. The HTML <code class="language-plaintext highlighter-rouge">&lt;h1&gt;</code>—<code class="language-plaintext highlighter-rouge">&lt;h6&gt;</code> elements represent six levels of section headings. <code class="language-plaintext highlighter-rouge">&lt;h1&gt;</code> is the highest section level and <code class="language-plaintext highlighter-rouge">&lt;h6&gt;</code> is the lowest.</p>

<h1 id="heading-1-1">Heading 1</h1>
<h2 id="heading-2">Heading 2</h2>
<h3 id="heading-3">Heading 3</h3>
<h4 id="heading-4">Heading 4</h4>
<h5 id="heading-5">Heading 5</h5>
<h6 id="heading-6">Heading 6</h6>

<hr />

<h2 id="paragraph">Paragraph</h2>

<p>According to the <a href="https://www.w3.org/TR/html5/dom.html#elements">HTML5 specification</a> by <a href="https://www.w3.org/">W3C</a>, <strong>HTML documents consist of a tree of elements and text</strong>. Each element is denoted in the source by a <a href="https://www.w3.org/TR/html5/syntax.html#syntax-start-tags">start tag</a>, such as <code class="language-plaintext highlighter-rouge">&lt;body&gt;</code>, and an <a href="https://www.w3.org/TR/html5/syntax.html#syntax-end-tags">end tag</a>, such as <code class="language-plaintext highlighter-rouge">&lt;/body&gt;</code>. (<em>Certain start tags and end tags can in certain cases be omitted and are implied by other tags.</em>)</p>

<p>Elements can have attributes, which control how the elements work. For example, hyperlink are formed using the <code class="language-plaintext highlighter-rouge">a</code> element and its <code class="language-plaintext highlighter-rouge">href</code> attribute.</p>

<h2 id="list-types">List Types</h2>

<h3 id="ordered-list">Ordered List</h3>

<ol>
  <li>First item</li>
  <li>Second item</li>
  <li>Third item</li>
</ol>

<h3 id="unordered-list">Unordered List</h3>

<ul>
  <li>List item</li>
  <li>Another item</li>
  <li>And another item</li>
</ul>

<h3 id="nested-list">Nested list</h3>

<ul>
  <li>First item</li>
  <li>Second item
    <ul>
      <li>Second item First subitem</li>
      <li>Second item second subitem
        <ul>
          <li>Second item Second subitem First sub-subitem</li>
          <li>Second item Second subitem Second sub-subitem</li>
          <li>Second item Second subitem Third sub-subitem</li>
        </ul>
      </li>
      <li>Second item Third subitem
        <ol>
          <li>Second item Third subitem First sub-subitem</li>
          <li>Second item Third subitem Second sub-subitem</li>
          <li>Second item Third subitem Third sub-subitem</li>
        </ol>
    &lt;/ul&gt;
  </li>
  <li>Third item</li>
</ul>

### Definition List

HTML also supports definition lists.

<dl>
  <dt>Blanco tequila</dt>
  <dd>The purest form of the blue agave spirit...</dd>
  <dt>Reposado tequila</dt>
  <dd>Typically aged in wooden barrels for between two and eleven months...</dd>
</dl>

## Blockquotes

The blockquote element represents content that is quoted from another source, optionally with a citation which must be within a `footer` or `cite` element, and optionally with in-line changes such as annotations and abbreviations.

&gt; Quoted text.
&gt; This line is part of the same quote.
&gt; Also you can *put* **Markdown** into a blockquote.

Blockquote with a citation.

<blockquote>
  <p>My goal wasn't to make a ton of money. It was to build good computers. I only started the company when I realized I could be an engineer forever.</p>
  <footer>— <cite>Steve Wozniak</cite></footer>
</blockquote>

According to Mozilla's website, <q cite="https://www.mozilla.org/en-US/about/history/details/">Firefox 1.0 was released in 2004 and became a big success.</q>

## Tables

Tables aren't part of the core Markdown spec, but Hugo supports them.

| ID  | Make      | Model   | Year |
| --- | --------- | ------- | ---- |
| 1   | Honda     | Accord  | 2009 |
| 2   | Toyota    | Camry   | 2012 |
| 3   | Hyundai   | Elantra | 2010 |

Colons can be used to align columns.

| Tables      | Are           | Cool         |
|:----------- |:-------------:| ------------:|
| align: left | align: center | align: right |
| align: left | align: center | align: right |
| align: left | align: center | align: right |

You can also use inline Markdown.

| Inline     | Markdown  | In                | Table      |
| ---------- | --------- | ----------------- | ---------- |
| *italics*  | **bold**  | ~~strikethrough~~ | `code`     |

## Code

```html
&lt;!DOCTYPE html&gt;
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <title>Example HTML5 Document</title>
</head>
<body>
  <p>Test</p>
</body>
</html>
```


&lt;!DOCTYPE html&gt;
<html lang="en">
<head>
  <meta charset="UTF-8" />
  <title>Example HTML5 Document</title>
</head>
<body>
  <p>Test</p>
</body>
</html>


## Other stuff — abbr, sub, sup, kbd, etc.

<abbr title="Graphics Interchange Format">GIF</abbr> is a bitmap image format.

H<sub>2</sub>O

C<sub>6</sub>H<sub>12</sub>O<sub>6</sub>

X<sup>n</sup> + Y<sup>n</sup> = Z<sup>n</sup>

Press <kbd>X</kbd> to win. Or press <kbd><kbd>CTRL</kbd>+<kbd>ALT</kbd>+<kbd>F</kbd></kbd> to show FPS counter.

<mark>As a unit of information in information theory, the bit has alternatively been called a shannon</mark>, named after Claude Shannon, the founder of field of information theory.
</li></ul>]]></content><author><name></name></author><category term="Software Engineering" /><category term="Software Engineering" /><category term="Interviewing" /><category term="Guy in the leather pants" /><summary type="html"><![CDATA[That time I interviewed at Google]]></summary></entry></feed>