<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blog on Thibault Meunier</title><link>https://thibmeu.github.io/ghpages/posts/</link><description>Recent content in Blog on Thibault Meunier</description><generator>Hugo</generator><language>en</language><lastBuildDate>Wed, 09 Aug 2023 21:20:40 +0000</lastBuildDate><atom:link href="https://thibmeu.github.io/ghpages/posts/index.xml" rel="self" type="application/rss+xml"/><item><title>Creating an age plugin for tlock</title><link>https://thibmeu.github.io/ghpages/posts/creating-an-age-plugin-for-dee/</link><pubDate>Wed, 09 Aug 2023 21:20:40 +0000</pubDate><guid>https://thibmeu.github.io/ghpages/posts/creating-an-age-plugin-for-dee/</guid><description>&lt;p&gt;Given you have two tools that work on their own, with a similar interfaces, how complex can it be to integrate primitives from one tool into another? It turns out harder than expected. In this blog, I&amp;rsquo;ll discuss my experience understanding, designing, and implementing an age plugin for tlock.&lt;/p&gt;
&lt;h1 id="background"&gt;
 Background
 &lt;a class="heading-link" href="#background"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;&lt;code&gt;age&lt;/code&gt; is an encryption tool with opinionated cryptography, and a clean command line interface. It&amp;rsquo;s implemented in multiple languages such as Go or Rust, and has a &lt;a href="" &gt;flourishing ecosystem&lt;/a&gt;.&lt;/p&gt;</description></item><item><title>Chromium support for the Distributed Web</title><link>https://thibmeu.github.io/ghpages/posts/chromium-dweb-url-scheme/</link><pubDate>Thu, 20 Aug 2020 20:44:40 +0000</pubDate><guid>https://thibmeu.github.io/ghpages/posts/chromium-dweb-url-scheme/</guid><description>&lt;h1 id="chromium-safelist-dweb-url-schemes"&gt;
 Chromium safelist dweb URL schemes
 &lt;a class="heading-link" href="#chromium-safelist-dweb-url-schemes"&gt;
 &lt;i class="fa-solid fa-link" aria-hidden="true" title="Link to heading"&gt;&lt;/i&gt;
 &lt;span class="sr-only"&gt;Link to heading&lt;/span&gt;
 &lt;/a&gt;
&lt;/h1&gt;
&lt;p&gt;Today, as part of a &lt;a href="https://chromium.googlesource.com/chromium/src/&amp;#43;/4e8ed0cecce04c5c55dd84a09e4df0d0f11c660f" class="external-link" target="_blank" rel="noopener"&gt;change by Frédéric Wang&lt;/a&gt;, Chromium allows website to register their ability to support distributed web URL schemes.&lt;/p&gt;
&lt;p&gt;Website gateways, such as Cloudflare IPFS Gateway or IPFS.io would be able to use Chrome navigator API to serve &lt;a href="https://docs.ipfs.io/how-to/address-ipfs-on-web/#native-urls" class="external-link" target="_blank" rel="noopener"&gt;Native DWeb URLs&lt;/a&gt;. These new schemes are the following:&lt;/p&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th style="text-align: left"&gt;Organisation&lt;/th&gt;
 &lt;th style="text-align: left"&gt;scheme&lt;/th&gt;
 &lt;th style="text-align: left"&gt;Example URL&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;&lt;a href="https://cabal.chat/" class="external-link" target="_blank" rel="noopener"&gt;Cabal Club&lt;/a&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;cabal&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;cabal://1eef9ad64e284691b7c6f6310e39204b5f92765e36102046caaa6a7ff8c02d74&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;&lt;a href="https://dat.foundation" class="external-link" target="_blank" rel="noopener"&gt;Dat Foundation&lt;/a&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;dat&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;dat://778f8d955175c92e4ced5e4f5563f69bfec0c86cc6f670352c457943666fe639/dat_intro.gif&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;&lt;a href="https://w3c.github.io/did-core" class="external-link" target="_blank" rel="noopener"&gt;W3C&lt;/a&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;did&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;did:example:123456&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;dweb&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;&lt;a href="https://ethereum.org" class="external-link" target="_blank" rel="noopener"&gt;Ethereum Foundation&lt;/a&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;ethereum&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;ethereum://0x89205a3a3b2a69de6dbf7f01ed13b2108b2c43e7/transfer?address=0x8e23ee67d1332ad560396262c48ffbb01f93d052&amp;amp;uint256=1&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;&lt;a href="https://dat.foundation" class="external-link" target="_blank" rel="noopener"&gt;Dat Foundation&lt;/a&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;hyper&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;hyper://778f8d955175c92e4ced5e4f5563f69bfec0c86cc6f670352c457943666fe639/dat_intro.gif&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;&lt;a href="https://protocol.ai" class="external-link" target="_blank" rel="noopener"&gt;Protocol Labs&lt;/a&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;ipfs&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;ipfs://QmXoypizjW3WknFiJnKLwHCnL72vedxjQkDDP1mXWo6uco/wiki/&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;&lt;a href="https://protocol.ai" class="external-link" target="_blank" rel="noopener"&gt;Protocol Labs&lt;/a&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;ipns&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;ipns://en.wikipedia-on-ipfs.org/wiki/&lt;/code&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td style="text-align: left"&gt;&lt;a href="https://scuttlebutt.nz/" class="external-link" target="_blank" rel="noopener"&gt;Scuttlebutt&lt;/a&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;code&gt;ssb&lt;/code&gt;&lt;/td&gt;
 &lt;td style="text-align: left"&gt;&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;p&gt;They join the &lt;a href="https://www.iana.org/assignments/uri-schemes/uri-schemes.xhtml" class="external-link" target="_blank" rel="noopener"&gt;schemes registered at IANA&lt;/a&gt; that make it into web browsers.&lt;/p&gt;</description></item></channel></rss>