hCard microformat Validator (beta, of course)

This is an unofficial validator¹/conformance checker of the hCard microformat.

Po polsku En français
(translations welcome!)

Input

URL

Check entire XHTML or HTML page by entering its HTTP URL.

Fragment

Paste well-formed XHTML fragment or complete document containing hCard.

Upload

Upload HTML or XHTML file to validate it. For this to work your browser must be setting MIME types properly.

Example

If searching for hCards in the wild is tiring, check one of the test-cases:

Browse examples

API & Other

Any page by Referer

<a href="http://hcard.geekhood.net/referrer/">Validate hCards</a>

Bookmarklet

hCard?

RESTful JSON API

Send GET request to http://hcard.geekhood.net/?url=URL to validate&output=json.

Output will be roughly compatible with the Validator.nu JSON API. Likely to change in the future.

Please use this API for validation, not just as an converter/extraction tool.


Send Feedback

You can send feedback via e-mail or the form below.

If you're reporting a bug or have a suggestion, don't forget to include example hCard code.

Result

Congratulations! No errors found.

    • Warn: Image with alt attribute inside value

      The alt attribute may be ignored unless you put class directly on <img>.

      More info

    • Info: This URL has uid class and may be used as OpenID

      More info

    • Warn: n property is empty

      Check syntax. Remove property from document if it doesn't have (non-empty) value.

    Formatted name
    Joe Gregorio
    UID value https://stream.bitworking.org
    URL

File source

<!DOCTYPE html>
<html>
<head>
  <title>Joe Gregorio - Stream</title>
    <link rel="alternate" type="application/atom+xml" title="Feed" href="/feed">
  <meta charset="utf-8" />
  <meta http-equiv="X-UA-Compatible" content="IE=egde,chrome=1">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <style type="text/css" media="screen">
.created {
  font-size: 80%;
  color: #555;
}

body {
  margin: 0;
  font: 400 12px/1.5 Roboto, Helvetica, Arial, sans-serif;
}

a {
  color: #294082;
}

nav {
  margin: 0;
  border-bottom: solid 1px #900;
  padding: 0;
  text-align: center;
}

article {
  margin: 1em;
}

.post-meta,
.post-content {
  margin: 1em;
}

.header {
  margin: 0;
  border-bottom: solid 1px #900;
  padding: 0;
  text-align: center;
}

footer {
  margin: 0;
  border-top: solid 1px #900;
  padding: 0;
  text-align: center;
}

footer > * {
  display: inline-block;
}

h1 {
  color: #900;
  font-size: 18px;
  margin: 0.6em;
}

h2 {
  font-size: 16px;
  color: #444;
  margin: 0;
}

.editor > * {
  padding: 0.25em;
  display: block;
  margin: 0.6em;
}

input[type=submit],
button {
  background: #eee;
}

form * {
  padding: 0.4em;
  display: block;
  margin: 0.6em 0;
}

form input[type=text],
form textarea {
  width: 90%;
  width: calc(100% - 1em);
}

.entry {
 
  margin: 1em;
  padding: 1em;
}

#webmention {
  margin-left: 1em;
  margin-bottom: 2em;
  font-size: 80%;
}

#webmention h3 {
  border-bottom: solid lightgray 1px;
}

.wm-content {
  display: block;
  margin-bottom: 1em;
}
  </style>

</head>
<body>
  <div class=header>
    <h1>Joe Gregorio | Stream</h1>
  </div>
  
  
		<div class=entry>
      <span class=created title="2019-08-15 17:16:36.152708 &#43;0000 UTC">2 months ago</span>
      <h2><a href="/entry/02634a359ca64656e1f6b7eb4f12e2b4">elements-sk@v3.0.0</a></h2>
			<div>
				<p>Just published <a href="https://www.npmjs.com/package/elements-sk">v3.0.0 of elements-sk</a>. The bump in major version number is because dialog-sk was removed from the library. Now that the <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog">dialog element</a> exists and has a good <a href="https://github.com/GoogleChrome/dialog-polyfill">polyfill</a> it was time to abandon the custom element.</p>

<p>This is my preferred direction in library change direction, i.e. getting smaller over time.</p>
<a href='https://brid.gy/publish/twitter'></a> <a href='https://fed.brid.gy/'></a>
			</div>
		</div>
  
		<div class=entry>
      <span class=created title="2019-08-10 18:03:33.014977 &#43;0000 UTC">2 months ago</span>
      <h2><a href="/entry/11c87ad134131c998df87251088123bb">Saving here for future reference: History and effective use of Vim</a></h2>
			<div>
				<p><a href="https://begriffs.com/posts/2019-07-19-history-use-vim.html">History and effective use of Vim</a>.</p>
<a href='https://brid.gy/publish/twitter'></a> <a href='https://fed.brid.gy/'></a>
			</div>
		</div>
  
		<div class=entry>
      <span class=created title="2019-07-26 23:00:08.852129 &#43;0000 UTC">2 months ago</span>
      <h2><a href="/entry/cf15971e73badb870c1b4f9cd64d0444">Has anyone ever owned a toaster where the &#34;bagel&#34; button worked? Asking for future archeologists.</a></h2>
			<div>
				<a href='https://brid.gy/publish/twitter'></a> <a href='https://fed.brid.gy/'></a>
			</div>
		</div>
  
		<div class=entry>
      <span class=created title="2019-07-03 15:46:27.999986 &#43;0000 UTC">3 months ago</span>
      <h2><a href="/entry/7837269336bb20ceea732568d58aa2fb"></a></h2>
			<div>
				<p><blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">NEW IOWA poll from <a href="https://twitter.com/davidbinder?ref_src=twsrc%5Etfw">@davidbinder</a> , via <a href="https://twitter.com/linkiowa?ref_src=twsrc%5Etfw">@linkiowa</a> pro-ethanol group, shows a wiiiide open caucus after the first debate:<br><br>WARREN: 20<br>HARRIS: 18<br>BIDEN: 17<br>SANDERS: 12<br>PETE: 10 <br><br>note: N = 600, which is as big as some of the Dem samples in public polling <em>national</em> samples.</p>&amp;mdash; Jonathan Martin (@jmartNYT) <a href="https://twitter.com/jmartNYT/status/1146420926239690752?ref_src=twsrc%5Etfw">July 3, 2019</a></blockquote>
<script async src="https://platform.twitter.com/widgets.js" charset="utf-8"></script></p>

<p>Elizabeth Warren is going to be our next president, because she is Lisa Simpson and I subscribe to the Simpson&rsquo;s Timeline of Reality.</p>

<p><iframe width="560" height="315" src="https://www.youtube.com/embed/ZtparSnQhFc" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe></p>
<a href='https://brid.gy/publish/twitter'></a> <a href='https://fed.brid.gy/'></a>
			</div>
		</div>
  
		<div class=entry>
      <span class=created title="2019-06-28 17:16:59.73545 &#43;0000 UTC">3 months ago</span>
      <h2><a href="/entry/a80fd20b8f97a8fdf23117b4ddf195f0"></a></h2>
			<div>
				<p>Wait, so did SCOTUS just rollback <a href="https://www.oyez.org/cases/1960/6">Baker v Carr</a> in their most recent gerrymandering decision? I.e. will SCOTUS no longer involve itself in <strong>any</strong> political decisions?</p>

<p>Context <a href="https://tunein.com/podcasts/Government/RadioLab-Presents-More-Perfect-p882838/?topicId=106773277">More Perfect: The political thicket.</a></p>
<a href='https://brid.gy/publish/twitter'></a> <a href='https://fed.brid.gy/'></a>
			</div>
		</div>
  
		<div class=entry>
      <span class=created title="2019-06-21 00:24:32.287055 &#43;0000 UTC">3 months ago</span>
      <h2><a href="/entry/f98b9264358cd85e89b990e9f9b37ace">I might need to copy this recipe over.</a></h2>
			<div>
				<p><a class='u-in-reply-to' href='https://photos.google.com/share/AF1QipPC6vmfjCiWM0G3preR6hyPMdXGxWgrIfdpMq-yVfzkBxzcenWjjRatlrZ_rssRkA?key=T3E3ajhkbzJOZ0xGQl9SN­1BRQlhyTE5LVFl1RC1n'>Shared album - Joe Gregorio (jcgregorio) - Google Photos</a></p>
<a href='https://brid.gy/publish/twitter'></a> <a href='https://fed.brid.gy/'></a>
			</div>
		</div>
  
		<div class=entry>
      <span class=created title="2019-06-17 22:35:43.799504 &#43;0000 UTC">3 months ago</span>
      <h2><a href="/entry/dfb084072a21e51d6f2de2fc3b064057">SIM swap horror story: I&#39;ve lost decades of data and Google won&#39;t lift a finger | ZDNet</a></h2>
			<div>
				<p>We just went through this with my son on AT&amp;T. They were able to hijack his SIM twice. At the very least switch to just using a security key and never used phone based 2FA, which is what we&rsquo;ve now done for everyone in the family.</p>

<p><a class='u-in-reply-to' href='https://www.zdnet.com/article/sim-swap-horror-story-ive-lost-decades-of-data-and-google-wont-lift-a-finger/'>SIM swap horror story: I&rsquo;ve lost decades of data and Google won&rsquo;t lift a finger | ZDNet</a></p>
<a href='https://brid.gy/publish/twitter'></a> <a href='https://fed.brid.gy/'></a>
			</div>
		</div>
  
		<div class=entry>
      <span class=created title="2019-06-17 00:47:13.166946 &#43;0000 UTC">4 months ago</span>
      <h2><a href="/entry/e177d5a42b7e547059e058c09f3e86a4">k3os</a></h2>
			<div>
				<p><a href="https://k3os.io/">k3os</a> looks fascinating. I&rsquo;ve got a lab of over 100 RPis and anything that would make them easier to manage piques my interest.</p>
<a href='https://brid.gy/publish/twitter'></a> <a href='https://fed.brid.gy/'></a>
			</div>
		</div>
  
		<div class=entry>
      <span class=created title="2019-06-16 18:09:25.368545 &#43;0000 UTC">4 months ago</span>
      <h2><a href="/entry/56afbb3bcca408b575ff2c3c609dffc8">One final test to Ryan Barrett on Mastodon.</a></h2>
			<div>
				<p><a class='u-in-reply-to' href='https://mastodon.technology/@snarfed/101938547293295829'>Ryan Barrett: &ldquo;more testing. hi @beesbuzz.biz@beesbuzz.biz @real…&rdquo; - Mastodon for Tech Folks</a></p>

<p>One final test.</p>
<a href='https://brid.gy/publish/twitter'></a> <a href='https://fed.brid.gy/'></a>
			</div>
		</div>
  
		<div class=entry>
      <span class=created title="2019-06-16 13:19:19.064358 &#43;0000 UTC">4 months ago</span>
      <h2><a href="/entry/fe4d7345ce37cbe71875c29111f050c8">Can we cross over to Fosstodon?</a></h2>
			<div>
				<p>I am also at <a href="https://fosstodon.org/@jcgregorio">https://fosstodon.org/@jcgregorio</a>, so does this <a class="u-in-reply-to" href="https://fosstodon.org/@jcgregorio/102281438120044488">reply</a> show up?</p>

<p>It turns out my reading comprehension is weak, I didn&rsquo;t see &ldquo;including query parameters&rdquo;. D&rsquo;oh.</p>

<p>Also, so is having a valid h-card on the front page, which I now have: <a href="https://hcard.geekhood.net/?url=https%3A%2F%2Fstream.­bitworking.org%2F#result">https://hcard.geekhood.net/?url=https%3A%2F%2Fstream.­bitworking.org%2F#result</a>
and make sure fed.brid.gy can use it by visiting <a href="https://fed.brid.gy/.well-known/webfinger?resource=stream.bitworkin­g.org@stream.bitworking.org">https://fed.brid.gy/.well-known/webfinger?resource=stream.bitworkin­g.org@stream.bitworking.org</a></p>
<a href='https://brid.gy/publish/twitter'></a> <a href='https://fed.brid.gy/'></a>
			</div>
		</div>
  
		<div class=entry>
      <span class=created title="2019-06-16 02:04:21.882747 &#43;0000 UTC">4 months ago</span>
      <h2><a href="/entry/e12dce37dc8b37ce18ab189b5d936344">MIB: International</a></h2>
			<div>
				<p><a href="https://www.imdb.com/title/tt2283336/">MIB: International</a> was a fun movie, and Kumail Nanjiani was the best part of it.</p>
<a href='https://brid.gy/publish/twitter'></a> <a href='https://fed.brid.gy/'></a>
			</div>
		</div>
  
		<div class=entry>
      <span class=created title="2019-06-15 20:22:20.383092 &#43;0000 UTC">4 months ago</span>
      <h2><a href="/entry/cf377a8fdeed8290549dce992948953a">Testing fed.brid.gy connections to the fediverse from Stream.</a></h2>
			<div>
				<p><a class='u-in-reply-to' href='https://mastodon.technology/@snarfed/3194674'>Ryan Barrett: &ldquo;Working on connecting Mastodon with the #IndieWeb…&rdquo; - Mastodon for Tech Folks</a>.
<b>Updated again.</b></p>
<a href='https://brid.gy/publish/twitter'></a> <a href='https://fed.brid.gy/'></a>
			</div>
		</div>
  
		<div class=entry>
      <span class=created title="2019-06-15 18:06:00.264199 &#43;0000 UTC">4 months ago</span>
      <h2><a href="/entry/b7cf21e8265d18e7457dd9ea3879fbbd">Stream</a></h2>
			<div>
				<p><a href="https://github.com/jcgregorio/stream-run">Stream</a> is my latest project, a PWA that supports the <a href="https://developers.google.com/web/updates/2018/12/web-share-target">Web Share Target API</a>, built in Go and running on <a href="https://cloud.google.com/run/">Google Cloud Run</a>.</p>
<a href='https://brid.gy/publish/twitter'></a> <a href='https://fed.brid.gy/'></a>
			</div>
		</div>
  
		<div class=entry>
      <span class=created title="2019-06-15 13:40:16.39812 &#43;0000 UTC">4 months ago</span>
      <h2><a href="/entry/aea9c35ae23c8072c115b1cebffb79a3">justsaysinmice is my favorite Twitter account</a></h2>
			<div>
				<p><a href="https://www.vox.com/future-perfect/2019/6/15/18679138/nutrition-health-science-mice-news">Hyped-up science is a problem. One clever Twitter account is pushing back. - Voxclockmenumore-arrownoyesvox-mark</a></p>
<a href='https://brid.gy/publish/twitter'></a> <a href='https://fed.brid.gy/'></a>
			</div>
		</div>
  
		<div class=entry>
      <span class=created title="2019-06-10 13:13:06.382369 &#43;0000 UTC">4 months ago</span>
      <h2><a href="/entry/898eb785eaa69d860224d3e4ce3c7bdb">Adversarial Interoperability: Reviving an Elegant Weapon From a More Civilized Age to Slay Today&#39;s Monopolies</a></h2>
			<div>
				<p>&ldquo;Today, consumers and toolsmiths confront a thicket of laws and rules that stand between them and technological self-determination. To change that, we need to reform the Computer Fraud and Abuse Act, Section 1201 of the Digital Millennium Copyright Act, , patent law, and other rules and laws. Adversarial interoperability is in the history of every tech giant that rules today, and if it was good enough for them in the past, it&rsquo;s good enough for the companies that will topple them in the future.&rdquo;</p>

<p><a href="https://www.eff.org/deeplinks/2019/06/adversarial-interoperability-reviving-elegant-weapon-more-civilized-age-slay">https://www.eff.org/deeplinks/2019/06/adversarial-interoperability-reviving-elegant-weapon-more-civilized-age-slay</a></p>
<a href='https://brid.gy/publish/twitter'></a> <a href='https://fed.brid.gy/'></a>
			</div>
		</div>
  
		<div class=entry>
      <span class=created title="2019-06-09 17:36:19.961482 &#43;0000 UTC">4 months ago</span>
      <h2><a href="/entry/6c89f6b756d6e43ff9f8120654b89931">A new post</a></h2>
			<div>
				<p>Testing webmentions, ala <a href="https://indieweb.org/Webmention">https://indieweb.org/Webmention</a>.</p>

<p>Can we do cross references to ourself? <a href="https://stream.bitworking.org/entry/6329212c30f50a7f832155edb21d3e1d">https://stream.bitworking.org/entry/6329212c30f50a7f832155edb21d3e1d</a></p>
<a href='https://brid.gy/publish/twitter'></a> <a href='https://fed.brid.gy/'></a>
			</div>
		</div>
  
		<div class=entry>
      <span class=created title="2019-06-08 15:59:58.65526 &#43;0000 UTC">4 months ago</span>
      <h2><a href="/entry/6329212c30f50a7f832155edb21d3e1d">Second post.</a></h2>
			<div>
				<p>Also testing webmentions: <a href="https://bitworking.org/about">https://bitworking.org/about</a></p>
<a href='https://brid.gy/publish/twitter'></a> <a href='https://fed.brid.gy/'></a>
			</div>
		</div>
  
		<div class=entry>
      <span class=created title="2019-06-02 12:16:49.59926 &#43;0000 UTC">4 months ago</span>
      <h2><a href="/entry/defc58eff7b5042ea3e08732a391da96">First post</a></h2>
			<div>
				<p>This is my first <strong>stream</strong> post.</p>
<a href='https://brid.gy/publish/twitter'></a> <a href='https://fed.brid.gy/'></a>
			</div>
		</div>
  
  
  <footer class="h-card vcard">
    <a rel="me" class="u-url url u-uid uid" href="https://stream.bitworking.org"></a>
    <p class="p-note">Joe Gregorio - REST, Web, Python, Go, APIs, Dad, Husband, Maker, or any linear combination of such. Googler.</p>
    <a class="p-name u-url url fn" href="https://bitworking.org/about " style="display: none"><img
               class="u-photo"
               src="https://bitworking.org/images/joe2016.jpg"
               alt="Joe Gregorio" /><span class="hcard-name p-name n">Joe Gregorio</span></a>
    <a href="https://stream.bitworking.org" class="u-url u-uid"></a>
    <a rel="me" class="email u-email" href="mailto:joe@bitworking.org"></a>
    <a href="/admin">Admin</a>
  </footer>

</body>
</html>

Parsed source

<html xmlns="http://www.w3.org/1999/xhtml">
  <head>
    <title>Joe Gregorio - Stream</title>
    <link rel="alternate" type="application/atom+xml" title="Feed" href="/feed"/>
    <meta charset="utf-8"/>
    <meta http-equiv="X-UA-Compatible" content="IE=egde,chrome=1"/>
    <meta name="viewport" content="width=device-width, initial-scale=1.0"/>
    <style type="text/css" media="screen">
.created {
  font-size: 80%;
  color: #555;
}

body {
  margin: 0;
  font: 400 12px/1.5 Roboto, Helvetica, Arial, sans-serif;
}

a {
  color: #294082;
}

nav {
  margin: 0;
  border-bottom: solid 1px #900;
  padding: 0;
  text-align: center;
}

article {
  margin: 1em;
}

.post-meta,
.post-content {
  margin: 1em;
}

.header {
  margin: 0;
  border-bottom: solid 1px #900;
  padding: 0;
  text-align: center;
}

footer {
  margin: 0;
  border-top: solid 1px #900;
  padding: 0;
  text-align: center;
}

footer &gt; * {
  display: inline-block;
}

h1 {
  color: #900;
  font-size: 18px;
  margin: 0.6em;
}

h2 {
  font-size: 16px;
  color: #444;
  margin: 0;
}

.editor &gt; * {
  padding: 0.25em;
  display: block;
  margin: 0.6em;
}

input[type=submit],
button {
  background: #eee;
}

form * {
  padding: 0.4em;
  display: block;
  margin: 0.6em 0;
}

form input[type=text],
form textarea {
  width: 90%;
  width: calc(100% - 1em);
}

.entry {
 
  margin: 1em;
  padding: 1em;
}

#webmention {
  margin-left: 1em;
  margin-bottom: 2em;
  font-size: 80%;
}

#webmention h3 {
  border-bottom: solid lightgray 1px;
}

.wm-content {
  display: block;
  margin-bottom: 1em;
}
  </style>
    <meta http-equiv="Content-Type" content="text/html;charset=UTF-8"/>
    <!-- meta inserted by hCard Validator -->
  </head>
  <body>
  <div class="header">
    <h1>Joe Gregorio | Stream</h1>
  </div>
  
  
		<div class="entry">
      <span class="created" title="2019-08-15 17:16:36.152708 +0000 UTC">2 months ago</span>
      <h2><a href="/entry/02634a359ca64656e1f6b7eb4f12e2b4">elements-sk@v3.0.0</a></h2>
			<div>
				<p>Just published <a href="https://www.npmjs.com/package/elements-sk">v3.0.0 of elements-sk</a>. The bump in major version number is because dialog-sk was removed from the library. Now that the <a href="https://developer.mozilla.org/en-US/docs/Web/HTML/Element/dialog">dialog element</a> exists and has a good <a href="https://github.com/GoogleChrome/dialog-polyfill">polyfill</a> it was time to abandon the custom element.</p>

<p>This is my preferred direction in library change direction, i.e. getting smaller over time.</p>
<a href="https://brid.gy/publish/twitter"/> <a href="https://fed.brid.gy/"/>
			</div>
		</div>
  
		<div class="entry">
      <span class="created" title="2019-08-10 18:03:33.014977 +0000 UTC">2 months ago</span>
      <h2><a href="/entry/11c87ad134131c998df87251088123bb">Saving here for future reference: History and effective use of Vim</a></h2>
			<div>
				<p><a href="https://begriffs.com/posts/2019-07-19-history-use-vim.html">History and effective use of Vim</a>.</p>
<a href="https://brid.gy/publish/twitter"/> <a href="https://fed.brid.gy/"/>
			</div>
		</div>
  
		<div class="entry">
      <span class="created" title="2019-07-26 23:00:08.852129 +0000 UTC">2 months ago</span>
      <h2><a href="/entry/cf15971e73badb870c1b4f9cd64d0444">Has anyone ever owned a toaster where the "bagel" button worked? Asking for future archeologists.</a></h2>
			<div>
				<a href="https://brid.gy/publish/twitter"/> <a href="https://fed.brid.gy/"/>
			</div>
		</div>
  
		<div class="entry">
      <span class="created" title="2019-07-03 15:46:27.999986 +0000 UTC">3 months ago</span>
      <h2><a href="/entry/7837269336bb20ceea732568d58aa2fb"/></h2>
			<div>
				<p/><blockquote class="twitter-tweet" data-lang="en"><p lang="en" dir="ltr">NEW IOWA poll from <a href="https://twitter.com/davidbinder?ref_src=twsrc%5Etfw">@davidbinder</a> , via <a href="https://twitter.com/linkiowa?ref_src=twsrc%5Etfw">@linkiowa</a> pro-ethanol group, shows a wiiiide open caucus after the first debate:<br/><br/>WARREN: 20<br/>HARRIS: 18<br/>BIDEN: 17<br/>SANDERS: 12<br/>PETE: 10 <br/><br/>note: N = 600, which is as big as some of the Dem samples in public polling <em>national</em> samples.</p>&amp;mdash; Jonathan Martin (@jmartNYT) <a href="https://twitter.com/jmartNYT/status/1146420926239690752?ref_src=twsrc%5Etfw">July 3, 2019</a></blockquote>
<script async="" src="https://platform.twitter.com/widgets.js" charset="utf-8"/><p>Elizabeth Warren is going to be our next president, because she is Lisa Simpson and I subscribe to the Simpson’s Timeline of Reality.</p>

<p><iframe width="560" height="315" src="https://www.youtube.com/embed/ZtparSnQhFc" frameborder="0" allow="accelerometer; autoplay; encrypted-media; gyroscope; picture-in-picture" allowfullscreen=""/></p>
<a href="https://brid.gy/publish/twitter"/> <a href="https://fed.brid.gy/"/>
			</div>
		</div>
  
		<div class="entry">
      <span class="created" title="2019-06-28 17:16:59.73545 +0000 UTC">3 months ago</span>
      <h2><a href="/entry/a80fd20b8f97a8fdf23117b4ddf195f0"/></h2>
			<div>
				<p>Wait, so did SCOTUS just rollback <a href="https://www.oyez.org/cases/1960/6">Baker v Carr</a> in their most recent gerrymandering decision? I.e. will SCOTUS no longer involve itself in <strong>any</strong> political decisions?</p>

<p>Context <a href="https://tunein.com/podcasts/Government/RadioLab-Presents-More-Perfect-p882838/?topicId=106773277">More Perfect: The political thicket.</a></p>
<a href="https://brid.gy/publish/twitter"/> <a href="https://fed.brid.gy/"/>
			</div>
		</div>
  
		<div class="entry">
      <span class="created" title="2019-06-21 00:24:32.287055 +0000 UTC">3 months ago</span>
      <h2><a href="/entry/f98b9264358cd85e89b990e9f9b37ace">I might need to copy this recipe over.</a></h2>
			<div>
				<p><a class="u-in-reply-to" href="https://photos.google.com/share/AF1QipPC6vmfjCiWM0G3preR6hyPMdXGxWgrIfdpMq-yVfzkBxzcenWjjRatlrZ_rssRkA?key=T3E3ajhkbzJOZ0xGQl9SN­1BRQlhyTE5LVFl1RC1n">Shared album - Joe Gregorio (jcgregorio) - Google Photos</a></p>
<a href="https://brid.gy/publish/twitter"/> <a href="https://fed.brid.gy/"/>
			</div>
		</div>
  
		<div class="entry">
      <span class="created" title="2019-06-17 22:35:43.799504 +0000 UTC">3 months ago</span>
      <h2><a href="/entry/dfb084072a21e51d6f2de2fc3b064057">SIM swap horror story: I've lost decades of data and Google won't lift a finger | ZDNet</a></h2>
			<div>
				<p>We just went through this with my son on AT&amp;T. They were able to hijack his SIM twice. At the very least switch to just using a security key and never used phone based 2FA, which is what we’ve now done for everyone in the family.</p>

<p><a class="u-in-reply-to" href="https://www.zdnet.com/article/sim-swap-horror-story-ive-lost-decades-of-data-and-google-wont-lift-a-finger/">SIM swap horror story: I’ve lost decades of data and Google won’t lift a finger | ZDNet</a></p>
<a href="https://brid.gy/publish/twitter"/> <a href="https://fed.brid.gy/"/>
			</div>
		</div>
  
		<div class="entry">
      <span class="created" title="2019-06-17 00:47:13.166946 +0000 UTC">4 months ago</span>
      <h2><a href="/entry/e177d5a42b7e547059e058c09f3e86a4">k3os</a></h2>
			<div>
				<p><a href="https://k3os.io/">k3os</a> looks fascinating. I’ve got a lab of over 100 RPis and anything that would make them easier to manage piques my interest.</p>
<a href="https://brid.gy/publish/twitter"/> <a href="https://fed.brid.gy/"/>
			</div>
		</div>
  
		<div class="entry">
      <span class="created" title="2019-06-16 18:09:25.368545 +0000 UTC">4 months ago</span>
      <h2><a href="/entry/56afbb3bcca408b575ff2c3c609dffc8">One final test to Ryan Barrett on Mastodon.</a></h2>
			<div>
				<p><a class="u-in-reply-to" href="https://mastodon.technology/@snarfed/101938547293295829">Ryan Barrett: “more testing. hi @beesbuzz.biz@beesbuzz.biz @real…” - Mastodon for Tech Folks</a></p>

<p>One final test.</p>
<a href="https://brid.gy/publish/twitter"/> <a href="https://fed.brid.gy/"/>
			</div>
		</div>
  
		<div class="entry">
      <span class="created" title="2019-06-16 13:19:19.064358 +0000 UTC">4 months ago</span>
      <h2><a href="/entry/fe4d7345ce37cbe71875c29111f050c8">Can we cross over to Fosstodon?</a></h2>
			<div>
				<p>I am also at <a href="https://fosstodon.org/@jcgregorio">https://fosstodon.org/@jcgregorio</a>, so does this <a class="u-in-reply-to" href="https://fosstodon.org/@jcgregorio/102281438120044488">reply</a> show up?</p>

<p>It turns out my reading comprehension is weak, I didn’t see “including query parameters”. D’oh.</p>

<p>Also, so is having a valid h-card on the front page, which I now have: <a href="https://hcard.geekhood.net/?url=https%3A%2F%2Fstream.­bitworking.org%2F#result">https://hcard.geekhood.net/?url=https%3A%2F%2Fstream.­bitworking.org%2F#result</a>
and make sure fed.brid.gy can use it by visiting <a href="https://fed.brid.gy/.well-known/webfinger?resource=stream.bitworkin­g.org@stream.bitworking.org">https://fed.brid.gy/.well-known/webfinger?resource=stream.bitworkin­g.org@stream.bitworking.org</a></p>
<a href="https://brid.gy/publish/twitter"/> <a href="https://fed.brid.gy/"/>
			</div>
		</div>
  
		<div class="entry">
      <span class="created" title="2019-06-16 02:04:21.882747 +0000 UTC">4 months ago</span>
      <h2><a href="/entry/e12dce37dc8b37ce18ab189b5d936344">MIB: International</a></h2>
			<div>
				<p><a href="https://www.imdb.com/title/tt2283336/">MIB: International</a> was a fun movie, and Kumail Nanjiani was the best part of it.</p>
<a href="https://brid.gy/publish/twitter"/> <a href="https://fed.brid.gy/"/>
			</div>
		</div>
  
		<div class="entry">
      <span class="created" title="2019-06-15 20:22:20.383092 +0000 UTC">4 months ago</span>
      <h2><a href="/entry/cf377a8fdeed8290549dce992948953a">Testing fed.brid.gy connections to the fediverse from Stream.</a></h2>
			<div>
				<p><a class="u-in-reply-to" href="https://mastodon.technology/@snarfed/3194674">Ryan Barrett: “Working on connecting Mastodon with the #IndieWeb…” - Mastodon for Tech Folks</a>.
<b>Updated again.</b></p>
<a href="https://brid.gy/publish/twitter"/> <a href="https://fed.brid.gy/"/>
			</div>
		</div>
  
		<div class="entry">
      <span class="created" title="2019-06-15 18:06:00.264199 +0000 UTC">4 months ago</span>
      <h2><a href="/entry/b7cf21e8265d18e7457dd9ea3879fbbd">Stream</a></h2>
			<div>
				<p><a href="https://github.com/jcgregorio/stream-run">Stream</a> is my latest project, a PWA that supports the <a href="https://developers.google.com/web/updates/2018/12/web-share-target">Web Share Target API</a>, built in Go and running on <a href="https://cloud.google.com/run/">Google Cloud Run</a>.</p>
<a href="https://brid.gy/publish/twitter"/> <a href="https://fed.brid.gy/"/>
			</div>
		</div>
  
		<div class="entry">
      <span class="created" title="2019-06-15 13:40:16.39812 +0000 UTC">4 months ago</span>
      <h2><a href="/entry/aea9c35ae23c8072c115b1cebffb79a3">justsaysinmice is my favorite Twitter account</a></h2>
			<div>
				<p><a href="https://www.vox.com/future-perfect/2019/6/15/18679138/nutrition-health-science-mice-news">Hyped-up science is a problem. One clever Twitter account is pushing back. - Voxclockmenumore-arrownoyesvox-mark</a></p>
<a href="https://brid.gy/publish/twitter"/> <a href="https://fed.brid.gy/"/>
			</div>
		</div>
  
		<div class="entry">
      <span class="created" title="2019-06-10 13:13:06.382369 +0000 UTC">4 months ago</span>
      <h2><a href="/entry/898eb785eaa69d860224d3e4ce3c7bdb">Adversarial Interoperability: Reviving an Elegant Weapon From a More Civilized Age to Slay Today's Monopolies</a></h2>
			<div>
				<p>“Today, consumers and toolsmiths confront a thicket of laws and rules that stand between them and technological self-determination. To change that, we need to reform the Computer Fraud and Abuse Act, Section 1201 of the Digital Millennium Copyright Act, , patent law, and other rules and laws. Adversarial interoperability is in the history of every tech giant that rules today, and if it was good enough for them in the past, it’s good enough for the companies that will topple them in the future.”</p>

<p><a href="https://www.eff.org/deeplinks/2019/06/adversarial-interoperability-reviving-elegant-weapon-more-civilized-age-slay">https://www.eff.org/deeplinks/2019/06/adversarial-interoperability-reviving-elegant-weapon-more-civilized-age-slay</a></p>
<a href="https://brid.gy/publish/twitter"/> <a href="https://fed.brid.gy/"/>
			</div>
		</div>
  
		<div class="entry">
      <span class="created" title="2019-06-09 17:36:19.961482 +0000 UTC">4 months ago</span>
      <h2><a href="/entry/6c89f6b756d6e43ff9f8120654b89931">A new post</a></h2>
			<div>
				<p>Testing webmentions, ala <a href="https://indieweb.org/Webmention">https://indieweb.org/Webmention</a>.</p>

<p>Can we do cross references to ourself? <a href="https://stream.bitworking.org/entry/6329212c30f50a7f832155edb21d3e1d">https://stream.bitworking.org/entry/6329212c30f50a7f832155edb21d3e1d</a></p>
<a href="https://brid.gy/publish/twitter"/> <a href="https://fed.brid.gy/"/>
			</div>
		</div>
  
		<div class="entry">
      <span class="created" title="2019-06-08 15:59:58.65526 +0000 UTC">4 months ago</span>
      <h2><a href="/entry/6329212c30f50a7f832155edb21d3e1d">Second post.</a></h2>
			<div>
				<p>Also testing webmentions: <a href="https://bitworking.org/about">https://bitworking.org/about</a></p>
<a href="https://brid.gy/publish/twitter"/> <a href="https://fed.brid.gy/"/>
			</div>
		</div>
  
		<div class="entry">
      <span class="created" title="2019-06-02 12:16:49.59926 +0000 UTC">4 months ago</span>
      <h2><a href="/entry/defc58eff7b5042ea3e08732a391da96">First post</a></h2>
			<div>
				<p>This is my first <strong>stream</strong> post.</p>
<a href="https://brid.gy/publish/twitter"/> <a href="https://fed.brid.gy/"/>
			</div>
		</div>
  
  
  <footer class="h-card vcard"><a rel="me" class="u-url url u-uid uid" href="https://stream.bitworking.org"/>
    <p class="p-note">Joe Gregorio - REST, Web, Python, Go, APIs, Dad, Husband, Maker, or any linear combination of such. Googler.</p>
    <a class="p-name u-url url fn" href="https://bitworking.org/about " style="display: none"><img class="u-photo" src="https://bitworking.org/images/joe2016.jpg" alt="Joe Gregorio"/><span class="hcard-name p-name n">Joe Gregorio</span></a>
    <a href="https://stream.bitworking.org" class="u-url u-uid"/>
    <a rel="me" class="email u-email" href="mailto:joe@bitworking.org"/>
    <a href="/admin">Admin</a>
  </footer></body>
</html>

Credits

Written by . Icons are from Tango Icon Library. Test cases include hCard Acid test by Dmitry Baranovskiy, examples from microformats.org and hCard test suite.

Source code is available under the BSD license.


¹ It's not a validator in the XML/SGML sense.