Basic Bluesky, and bluesky identity
This commit is contained in:
parent
fea208f397
commit
4a82d2e841
2 changed files with 249 additions and 53 deletions
|
@ -27,17 +27,19 @@
|
|||
<h2>Table of Contents</h2>
|
||||
<div id="text-table-of-contents" role="doc-toc">
|
||||
<ul>
|
||||
<li><a href="#/slide-orgc2daf2a">Introduction</a></li>
|
||||
<li><a href="#/slide-orgad38665">General social media architectures</a></li>
|
||||
<li><a href="#/slide-org7a00c66">Federated social media services</a></li>
|
||||
<li><a href="#/slide-org4f8ae77">Introduction</a></li>
|
||||
<li><a href="#/slide-orgd38ec38">General social media architectures</a></li>
|
||||
<li><a href="#/slide-orge44ce74">Federated social media services</a></li>
|
||||
<li><a href="#/slide-org230375d">Bluesky</a></li>
|
||||
<li><a href="#/slide-org9a49751">Bluesky – Identities</a></li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
|
||||
<section>
|
||||
<section id="slide-orgc2daf2a" data-background="./bCardBackground.png">
|
||||
<h2 id="orgc2daf2a">Introduction</h2>
|
||||
<section id="slide-org4f8ae77" data-background="./bCardBackground.png">
|
||||
<h2 id="org4f8ae77">Introduction</h2>
|
||||
<div class="e-frame">
|
||||
<p>
|
||||
Boo!
|
||||
|
@ -46,28 +48,28 @@ Boo!
|
|||
</section>
|
||||
</section>
|
||||
<section>
|
||||
<section id="slide-orgad38665" data-background="./bCardBackground.png">
|
||||
<h2 id="orgad38665">General social media architectures</h2>
|
||||
<div class="outline-text-2" id="text-orgad38665">
|
||||
<section id="slide-orgd38ec38" data-background="./bCardBackground.png">
|
||||
<h2 id="orgd38ec38">General social media architectures</h2>
|
||||
<div class="outline-text-2" id="text-orgd38ec38">
|
||||
</div>
|
||||
</section>
|
||||
<section id="slide-org3cd6edb" data-background="./bCardBackground.png">
|
||||
<h3 id="org3cd6edb">Simplistic view 1/2 – overview</h3>
|
||||
<section id="slide-org28f44a5" data-background="./bCardBackground.png">
|
||||
<h3 id="org28f44a5">Simplistic view 1/2 – overview</h3>
|
||||
<div class="e-frame">
|
||||
|
||||
<div id="org87909da" class="figure">
|
||||
<div id="orgecdb1a0" class="figure">
|
||||
<p><img src="structurizr-1-001-GenericSocial-01.png" alt="structurizr-1-001-GenericSocial-01.png" width="90%" />
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="slide-org90a0f8b" data-background="./bCardBackground.png">
|
||||
<h3 id="org90a0f8b">Simplistic view 2/2 – services</h3>
|
||||
<section id="slide-org399a495" data-background="./bCardBackground.png">
|
||||
<h3 id="org399a495">Simplistic view 2/2 – services</h3>
|
||||
<div class="gridded_frame_with_columns e-frame">
|
||||
|
||||
<div class="one_of_2_columns">
|
||||
|
||||
<div id="org497fd94" class="figure">
|
||||
<div id="orgeb3935b" class="figure">
|
||||
<p><img src="structurizr-1-002-GenericSocial-02.png" alt="structurizr-1-002-GenericSocial-02.png" width="40%" />
|
||||
</p>
|
||||
</div>
|
||||
|
@ -83,23 +85,23 @@ Boo!
|
|||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="slide-org5586a4a" data-background="./bCardBackground.png">
|
||||
<h3 id="org5586a4a">More realistic view 1/4 – overview</h3>
|
||||
<section id="slide-org3782a70" data-background="./bCardBackground.png">
|
||||
<h3 id="org3782a70">More realistic view 1/4 – overview</h3>
|
||||
<div class="e-frame">
|
||||
|
||||
<div id="org758ce44" class="figure">
|
||||
<div id="org33a7cb3" class="figure">
|
||||
<p><img src="structurizr-1-003-RealisticSocial-01.png" alt="structurizr-1-003-RealisticSocial-01.png" width="90%" />
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="slide-orgd055aae" data-background="./bCardBackground.png">
|
||||
<h3 id="orgd055aae">More realistic view 2/4 – basic services</h3>
|
||||
<section id="slide-org6e7c56b" data-background="./bCardBackground.png">
|
||||
<h3 id="org6e7c56b">More realistic view 2/4 – basic services</h3>
|
||||
<div class="gridded_frame_with_columns e-frame">
|
||||
|
||||
<div class="one_of_2_columns">
|
||||
|
||||
<div id="org587691a" class="figure">
|
||||
<div id="orgcc7daf2" class="figure">
|
||||
<p><img src="structurizr-1-004-RealisticSocial-02.png" alt="structurizr-1-004-RealisticSocial-02.png" width="70%" />
|
||||
</p>
|
||||
</div>
|
||||
|
@ -117,13 +119,13 @@ Boo!
|
|||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="slide-org8512e36" data-background="./bCardBackground.png">
|
||||
<h3 id="org8512e36">More realistic view 3/4 – the algorithm</h3>
|
||||
<section id="slide-org38114eb" data-background="./bCardBackground.png">
|
||||
<h3 id="org38114eb">More realistic view 3/4 – the algorithm</h3>
|
||||
<div class="gridded_frame_with_columns e-frame">
|
||||
|
||||
<div class="one_of_2_columns">
|
||||
|
||||
<div id="orga2950d5" class="figure">
|
||||
<div id="org09bb742" class="figure">
|
||||
<p><img src="structurizr-1-005-RealisticSocial-03.png" alt="structurizr-1-005-RealisticSocial-03.png" width="70%" />
|
||||
</p>
|
||||
</div>
|
||||
|
@ -142,13 +144,13 @@ Boo!
|
|||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="slide-orgb69029c" data-background="./bCardBackground.png">
|
||||
<h3 id="orgb69029c">More realistic view 4/4 – content moderation</h3>
|
||||
<section id="slide-org9bdf383" data-background="./bCardBackground.png">
|
||||
<h3 id="org9bdf383">More realistic view 4/4 – content moderation</h3>
|
||||
<div class="gridded_frame_with_columns e-frame">
|
||||
|
||||
<div class="one_of_2_columns">
|
||||
|
||||
<div id="org0c68d2d" class="figure">
|
||||
<div id="org1cb03f2" class="figure">
|
||||
<p><img src="structurizr-1-006-RealisticSocial-04.png" alt="structurizr-1-006-RealisticSocial-04.png" width="100%" />
|
||||
</p>
|
||||
</div>
|
||||
|
@ -170,28 +172,28 @@ Boo!
|
|||
</section>
|
||||
</section>
|
||||
<section>
|
||||
<section id="slide-org7a00c66" data-background="./bCardBackground.png">
|
||||
<h2 id="org7a00c66">Federated social media services</h2>
|
||||
<div class="outline-text-2" id="text-org7a00c66">
|
||||
<section id="slide-orge44ce74" data-background="./bCardBackground.png">
|
||||
<h2 id="orge44ce74">Federated social media services</h2>
|
||||
<div class="outline-text-2" id="text-orge44ce74">
|
||||
</div>
|
||||
</section>
|
||||
<section id="slide-orgbb7c31a" data-background="./bCardBackground.png">
|
||||
<h3 id="orgbb7c31a">Federated services 1/8 – overview</h3>
|
||||
<section id="slide-org9a577a7" data-background="./bCardBackground.png">
|
||||
<h3 id="org9a577a7">Federated services 1/8 – overview</h3>
|
||||
<div class="e-frame">
|
||||
|
||||
<div id="orgc103a20" class="figure">
|
||||
<div id="org5e45ba4" class="figure">
|
||||
<p><img src="structurizr-1-007-FederatedSocial-01.png" alt="structurizr-1-007-FederatedSocial-01.png" width="75%" />
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="slide-orge5fe0ce" data-background="./bCardBackground.png">
|
||||
<h3 id="orge5fe0ce">Federated services 2/8 – internal, administration and content moderation services</h3>
|
||||
<section id="slide-orgb69e512" data-background="./bCardBackground.png">
|
||||
<h3 id="orgb69e512">Federated services 2/8 – internal, administration and content moderation services</h3>
|
||||
<div class="gridded_frame_with_columns e-frame">
|
||||
|
||||
<div class="one_of_2_columns">
|
||||
|
||||
<div id="orgaaa7668" class="figure">
|
||||
<div id="orga88c98c" class="figure">
|
||||
<p><img src="structurizr-1-008-FederatedSocial-02.png" alt="structurizr-1-008-FederatedSocial-02.png" width="70%" />
|
||||
</p>
|
||||
</div>
|
||||
|
@ -212,13 +214,13 @@ Boo!
|
|||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="slide-org5e902a8" data-background="./bCardBackground.png">
|
||||
<h3 id="org5e902a8">Federated services 3/8 – federation 1</h3>
|
||||
<section id="slide-org15b2c44" data-background="./bCardBackground.png">
|
||||
<h3 id="org15b2c44">Federated services 3/8 – federation 1</h3>
|
||||
<div class="gridded_frame_with_columns e-frame">
|
||||
|
||||
<div class="one_of_2_columns" style="width: 60%">
|
||||
|
||||
<div id="org2937f1f" class="figure">
|
||||
<div id="org311f8aa" class="figure">
|
||||
<p><img src="structurizr-1-009-FederatedSocial-03.png" alt="structurizr-1-009-FederatedSocial-03.png" width="100%" />
|
||||
</p>
|
||||
</div>
|
||||
|
@ -243,57 +245,182 @@ Boo!
|
|||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="slide-orgac74a6b" data-background="./bCardBackground.png">
|
||||
<h3 id="orgac74a6b">Federated services 4/8 – federation 2</h3>
|
||||
<section id="slide-orgad94bf1" data-background="./bCardBackground.png">
|
||||
<h3 id="orgad94bf1">Federated services 4/8 – federation 2</h3>
|
||||
<div class="e-frame">
|
||||
|
||||
<div id="org429dfd2" class="figure">
|
||||
<div id="org8d27a22" class="figure">
|
||||
<p><img src="structurizr-1-010-FederatedSocial-04.png" alt="structurizr-1-010-FederatedSocial-04.png" width="75%" />
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="slide-org6cfead5" data-background="./bCardBackground.png">
|
||||
<h3 id="org6cfead5">Federated services 5/8 – federation 3</h3>
|
||||
<section id="slide-org8221162" data-background="./bCardBackground.png">
|
||||
<h3 id="org8221162">Federated services 5/8 – federation 3</h3>
|
||||
<div class="e-frame">
|
||||
|
||||
<div id="org9f9059a" class="figure">
|
||||
<div id="org239cb08" class="figure">
|
||||
<p><img src="structurizr-1-011-FederatedSocial-05.png" alt="structurizr-1-011-FederatedSocial-05.png" width="75%" />
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="slide-org5243619" data-background="./bCardBackground.png">
|
||||
<h3 id="org5243619">Federated services 6/8 – federation 4</h3>
|
||||
<section id="slide-org8005eff" data-background="./bCardBackground.png">
|
||||
<h3 id="org8005eff">Federated services 6/8 – federation 4</h3>
|
||||
<div class="e-frame">
|
||||
|
||||
<div id="org4e6a900" class="figure">
|
||||
<div id="org8080e39" class="figure">
|
||||
<p><img src="structurizr-1-012-FederatedSocial-06.png" alt="structurizr-1-012-FederatedSocial-06.png" width="75%" />
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="slide-orgd736c9b" data-background="./bCardBackground.png">
|
||||
<h3 id="orgd736c9b">Federated services 7/8 – federation 5</h3>
|
||||
<section id="slide-org44a52d8" data-background="./bCardBackground.png">
|
||||
<h3 id="org44a52d8">Federated services 7/8 – federation 5</h3>
|
||||
<div class="e-frame">
|
||||
|
||||
<div id="org19262e6" class="figure">
|
||||
<div id="org4d8eff7" class="figure">
|
||||
<p><img src="structurizr-1-013-FederatedSocial-07.png" alt="structurizr-1-013-FederatedSocial-07.png" width="75%" />
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="slide-orgf1adf69" data-background="./bCardBackground.png">
|
||||
<h3 id="orgf1adf69">Federated services 8/8 – federation 6</h3>
|
||||
<section id="slide-orgee80194" data-background="./bCardBackground.png">
|
||||
<h3 id="orgee80194">Federated services 8/8 – federation 6</h3>
|
||||
<div class="e-frame">
|
||||
|
||||
<div id="org2ad7a74" class="figure">
|
||||
<div id="org667e94a" class="figure">
|
||||
<p><img src="structurizr-1-014-FederatedSocial-08.png" alt="structurizr-1-014-FederatedSocial-08.png" width="75%" />
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
<section>
|
||||
<section id="slide-org230375d" data-background="./bCardBackground.png">
|
||||
<h2 id="org230375d">Bluesky</h2>
|
||||
<div class="outline-text-2" id="text-org230375d">
|
||||
</div>
|
||||
</section>
|
||||
<section id="slide-orga5a9952" data-background="./bCardBackground.png">
|
||||
<h3 id="orga5a9952">Basic Bluesky 1/2</h3>
|
||||
<div class="e-frame">
|
||||
|
||||
<div id="org98d6475" class="figure">
|
||||
<p><img src="structurizr-1-015-BlueskyBasic-01.png" alt="structurizr-1-015-BlueskyBasic-01.png" width="100%" />
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="slide-orgb7864f1" data-background="./bCardBackground.png">
|
||||
<h3 id="orgb7864f1">Basic Bluesky 2/2</h3>
|
||||
<div class="gridded_frame_with_columns e-frame">
|
||||
|
||||
<div class="one_of_2_columns" style="width: 70%">
|
||||
|
||||
<div id="orgccd97e0" class="figure">
|
||||
<p><img src="structurizr-1-016-BlueskyBasic-02.png" alt="structurizr-1-016-BlueskyBasic-02.png" width="100%" />
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="one_of_2_columns" style="width: 30%">
|
||||
<ul>
|
||||
<li class="fragment appear">User interfaces with an app hosted by the <i>AppView</i></li>
|
||||
<li class="fragment appear">The <i>AppView</i> includes an API (allowing for bot-like interactions)</li>
|
||||
<li class="fragment appear">The <i>AppView</i> stores and reads data from the <i>Personal Data Server</i> (PDS)</li>
|
||||
<li class="fragment appear">Bluesky resolved user identities using "DIDs" (Distributed IDs)</li>
|
||||
<li class="fragment appear">The Bluesky admin uses a separate service for preparing algorithmic feeds</li>
|
||||
<li class="fragment appear">The Bluesky moderator applies labels and actions to posts for trust and safety through a dedicated service</li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
<section>
|
||||
<section id="slide-org9a49751" data-background="./bCardBackground.png">
|
||||
<h2 id="org9a49751">Bluesky – Identities</h2>
|
||||
<div class="outline-text-2" id="text-org9a49751">
|
||||
</div>
|
||||
</section>
|
||||
<section id="slide-orgf33e1e3" data-background="./bCardBackground.png">
|
||||
<h3 id="orgf33e1e3">Bluesky Identities 1/4</h3>
|
||||
<div class="gridded_frame_with_columns e-frame">
|
||||
|
||||
<div class="one_of_2_columns" style="width: 35%">
|
||||
|
||||
<div id="orgb4e3b8a" class="figure">
|
||||
<p><img src="structurizr-1-017-BlueskyIdentity-01.png" alt="structurizr-1-017-BlueskyIdentity-01.png" width="100%" />
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="one_of_2_columns" style="width: 65%">
|
||||
<ul>
|
||||
<li class="fragment appear">User's typical Bluesky ID is <code>@<user-handle>.bsky.social</code>
|
||||
<ul>
|
||||
<li>e.g. <code>@theauldsthretch.bsky.social</code></li>
|
||||
|
||||
</ul></li>
|
||||
<li class="fragment appear">Users can set up their own handle, <code>@<user-handle>.<domain></code>. E.g. (and these are all real IDs) …
|
||||
<ul>
|
||||
<li><code>@astrokatie.com</code> – a cosmologist</li>
|
||||
<li><code>@eibhear.gibiris.org</code> – the author</li>
|
||||
<li><code>@wyden.senate.gov</code> – a U.S. Senator</li>
|
||||
|
||||
</ul></li>
|
||||
<li class="fragment appear">User must control the domain or be a legitimate member of the domain's community</li>
|
||||
<li class="fragment appear"><p>
|
||||
Domain-based handle resolves to a DID, either by DNS or <code>.well-known</code>:
|
||||
</p>
|
||||
<div class="org-src-container">
|
||||
|
||||
<pre class="src src-shell" ><code trim>$ dig _atproto.eibhear.gibiris.org TXT
|
||||
...
|
||||
;; ANSWER SECTION:
|
||||
_atproto.eibhear.gibiris.org. 3600 IN TXT <span style="color: #8b2252;">"did=did:plc:23mysztmt7dh3l5lzhinzafi"</span>
|
||||
|
||||
$ curl https://theauldsthretch.bsky.social/.well-known/atproto-did
|
||||
did:plc:avzdf5esd7xpbgsgh7lx4kzq
|
||||
</code></pre>
|
||||
</div></li>
|
||||
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="slide-orgd207d91" data-background="./bCardBackground.png">
|
||||
<h3 id="orgd207d91">Bluesky Identities 2/4</h3>
|
||||
<div class="e-frame">
|
||||
|
||||
<div id="orga95c836" class="figure">
|
||||
<p><img src="structurizr-1-018-BlueskyIdentity-02.png" alt="structurizr-1-018-BlueskyIdentity-02.png" width="100%" />
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="slide-org5e49a33" data-background="./bCardBackground.png">
|
||||
<h3 id="org5e49a33">Bluesky Identities 3/4</h3>
|
||||
<div class="e-frame">
|
||||
|
||||
<div id="orgb2410fb" class="figure">
|
||||
<p><img src="structurizr-1-019-BlueskyIdentity-03.png" alt="structurizr-1-019-BlueskyIdentity-03.png" width="100%" />
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
<section id="slide-org649da93" data-background="./bCardBackground.png">
|
||||
<h3 id="org649da93">Bluesky Identities 3/4</h3>
|
||||
<div class="e-frame">
|
||||
|
||||
<div id="org97e4d09" class="figure">
|
||||
<p><img src="structurizr-1-020-BlueskyIdentity-04.png" alt="structurizr-1-020-BlueskyIdentity-04.png" width="100%" />
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</section>
|
||||
</section>
|
||||
</div>
|
||||
</div>
|
||||
<script src="./reveal.js/dist/reveal.js"></script>
|
||||
|
|
|
@ -181,3 +181,72 @@
|
|||
#+ATTR_HTML: :width 75%
|
||||
file:structurizr-1-014-FederatedSocial-08.png
|
||||
#+REVEAL_HTML: </div>
|
||||
* Bluesky
|
||||
** Basic Bluesky 1/2
|
||||
#+REVEAL_HTML: <div class="e-frame">
|
||||
#+ATTR_HTML: :width 100%
|
||||
file:structurizr-1-015-BlueskyBasic-01.png
|
||||
#+REVEAL_HTML: </div>
|
||||
** Basic Bluesky 2/2
|
||||
#+REVEAL_HTML: <div class="gridded_frame_with_columns e-frame">
|
||||
|
||||
#+REVEAL_HTML: <div class="one_of_2_columns" style="width: 70%">
|
||||
#+ATTR_HTML: :width 100%
|
||||
file:structurizr-1-016-BlueskyBasic-02.png
|
||||
#+REVEAL_HTML: </div>
|
||||
|
||||
#+REVEAL_HTML: <div class="one_of_2_columns" style="width: 30%">
|
||||
#+ATTR_REVEAL: :frag (appear)
|
||||
- User interfaces with an app hosted by the /AppView/
|
||||
- The /AppView/ includes an API (allowing for bot-like interactions)
|
||||
- The /AppView/ stores and reads data from the /Personal Data Server/ (PDS)
|
||||
- Bluesky resolved user identities using "DIDs" (Distributed IDs)
|
||||
- The Bluesky admin uses a separate service for preparing algorithmic feeds
|
||||
- The Bluesky moderator applies labels and actions to posts for trust and safety through a dedicated service
|
||||
#+REVEAL_HTML: </div>
|
||||
#+REVEAL_HTML: </div>
|
||||
* Bluesky -- Identities
|
||||
** Bluesky Identities 1/4
|
||||
#+REVEAL_HTML: <div class="gridded_frame_with_columns e-frame">
|
||||
|
||||
#+REVEAL_HTML: <div class="one_of_2_columns" style="width: 35%">
|
||||
#+ATTR_HTML: :width 100%
|
||||
file:structurizr-1-017-BlueskyIdentity-01.png
|
||||
#+REVEAL_HTML: </div>
|
||||
|
||||
#+REVEAL_HTML: <div class="one_of_2_columns" style="width: 65%">
|
||||
#+ATTR_REVEAL: :frag (appear)
|
||||
- User's typical Bluesky ID is =@<user-handle>.bsky.social=
|
||||
+ e.g. =@theauldsthretch.bsky.social=
|
||||
- Users can set up their own handle, =@<user-handle>.<domain>=. E.g. (and these are all real IDs) ...
|
||||
+ =@astrokatie.com= -- a cosmologist
|
||||
+ =@eibhear.gibiris.org= -- the author
|
||||
+ =@wyden.senate.gov= -- a U.S. Senator
|
||||
- User must control the domain or be a legitimate member of the domain's community
|
||||
- Domain-based handle resolves to a DID, either by DNS or =.well-known=:
|
||||
#+BEGIN_SRC shell
|
||||
$ dig _atproto.eibhear.gibiris.org TXT
|
||||
...
|
||||
;; ANSWER SECTION:
|
||||
_atproto.eibhear.gibiris.org. 3600 IN TXT "did=did:plc:23mysztmt7dh3l5lzhinzafi"
|
||||
|
||||
$ curl https://theauldsthretch.bsky.social/.well-known/atproto-did
|
||||
did:plc:avzdf5esd7xpbgsgh7lx4kzq
|
||||
#+END_SRC
|
||||
#+REVEAL_HTML: </div>
|
||||
#+REVEAL_HTML: </div>
|
||||
** Bluesky Identities 2/4
|
||||
#+REVEAL_HTML: <div class="e-frame">
|
||||
#+ATTR_HTML: :width 100%
|
||||
file:structurizr-1-018-BlueskyIdentity-02.png
|
||||
#+REVEAL_HTML: </div>
|
||||
** Bluesky Identities 3/4
|
||||
#+REVEAL_HTML: <div class="e-frame">
|
||||
#+ATTR_HTML: :width 100%
|
||||
file:structurizr-1-019-BlueskyIdentity-03.png
|
||||
#+REVEAL_HTML: </div>
|
||||
** Bluesky Identities 3/4
|
||||
#+REVEAL_HTML: <div class="e-frame">
|
||||
#+ATTR_HTML: :width 100%
|
||||
file:structurizr-1-020-BlueskyIdentity-04.png
|
||||
#+REVEAL_HTML: </div>
|
||||
|
|
Loading…
Reference in a new issue