<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>tavar.es</title>
  <subtitle>Miguel Tavares — designer de produto.</subtitle>
  <link href="https://tavar.es/notas/feed.xml" rel="self"/>
  <link href="https://tavar.es/"/>
  
  <updated>2026-03-05T00:28:05Z</updated>
  <id>https://tavar.es/</id>
  <author><name>Miguel Tavares</name></author>
  <entry>
    <title>A melhor receita de caldo galego</title>
    <link href="https://tavar.es/notas/a-melhor-receita-de-caldo-galego/"/>
    <id>https://tavar.es/notas/a-melhor-receita-de-caldo-galego/</id>
    <updated>2026-03-05T00:28:05Z</updated>
    <content type="html"><![CDATA[<h2>Ingredientes</h2>
<ul class="contains-task-list">
<li class="task-list-item enabled"><label><input class="task-list-item-checkbox"type="checkbox"> Meio piano de costelinhas de porco</label></li>
<li class="task-list-item enabled"><label><input class="task-list-item-checkbox"type="checkbox"> Um osso de perna de vaca com tutano e alguma carne</label></li>
<li class="task-list-item enabled"><label><input class="task-list-item-checkbox"type="checkbox"> Um chouriço</label></li>
<li class="task-list-item enabled"><label><input class="task-list-item-checkbox"type="checkbox"> Um naco (~ 3x3x1 cm ) de unto galego</label></li>
</ul>
<p><a href="https://orgulhogalego.org">https://orgulhogalego.org</a></p>
<p><img src="../../media/Pasted image 20260304030243.png" alt="Pasted image 20260304030243" loading="lazy" decoding="async"></p>
<ul>
<li>um outline
<ul>
<li>com vários níveis</li>
<li>este é o segundo
<ul>
<li>e pode haver um terceiro
<ul>
<li>ou até um quarto</li>
<li>com muitos filhos</li>
<li>e filhas</li>
</ul>
</li>
</ul>
</li>
<li>de volta ao nível 2.</li>
</ul>
</li>
</ul>

]]></content>
  </entry>
  <entry>
    <title>Uma Nota Fresquinha criada agora mesmo</title>
    <link href="https://tavar.es/notas/uma-nota-fresquinha-criada-agora-mesmo/"/>
    <id>https://tavar.es/notas/uma-nota-fresquinha-criada-agora-mesmo/</id>
    <updated>2026-03-04T00:00:00Z</updated>
    <content type="html"><![CDATA[<p>Pois bem, e se eu liga a uma nota que até já existe [[Cosine Similarity]]</p>
<p><img src="../../media/ENIMAGE1353417345841.jpg" alt="ENIMAGE1353417345841" loading="lazy" decoding="async"></p>

]]></content>
  </entry>
  <entry>
    <title>Tudo o que uma nota pode conter</title>
    <link href="https://tavar.es/notas/tudo-o-que-uma-nota-pode-conter/"/>
    <id>https://tavar.es/notas/tudo-o-que-uma-nota-pode-conter/</id>
    <updated>2026-03-04T00:00:00Z</updated>
    <content type="html"><![CDATA[<p>Esta nota é um inventário. Serve para verificar que todos os elementos de composição funcionam como esperado — tipograficamente, estruturalmente, semanticamente. Não é para publicar, é para ver.</p>
<p>Fica aqui como referência permanente. Quando se adiciona um novo elemento ao sistema, testa-se aqui primeiro.</p>
<h2>Cabeçalhos</h2>
<p>Os cabeçalhos estabelecem hierarquia. O <code>h1</code> é o título da nota e não aparece no corpo. Aqui começa no <code>h2</code>.</p>
<h3>Nível 3</h3>
<p>Usado para subsecções dentro de uma secção principal.</p>
<h4>Nível 4</h4>
<p>A partir daqui, o estilo muda: caixa alta, espaçamento de letras, mesmo tamanho que o corpo. Sinal de aviso tipográfico.</p>
<h5>Nível 5</h5>
<p>Raramente justificável. Se chegares aqui, questiona a estrutura.</p>
<h6>Nível 6</h6>
<p>O fundo do poço hierárquico. Usa-o e questiona-te.</p>
<h2>Texto e formatação inline</h2>
<p>Parágrafo normal, com espaçamento vertical entre parágrafos sucessivos. O corpo de texto usa a escala fluida definida nos tokens — cresce ligeiramente entre viewport estreita e larga, sem saltos.</p>
<p>Segundo parágrafo, para verificar o espaçamento. <strong>Negrito</strong> para ênfase forte. <em>Itálico</em> para ênfase suave, títulos de obras, ou termos estrangeiros. <em><strong>Negrito e itálico</strong></em> em simultâneo, usado com parcimónia. <code>código inline</code> dentro de uma frase, para referir identificadores, comandos, ou valores.</p>
<p>Texto com <s>riscado</s>, para conteúdo revogado ou corrigido que convém manter visível.</p>
<p>Texto com <mark>destaque</mark>, equivalente ao marca-texto. Texto com <del>eliminado</del> e <ins>inserido</ins> para rastreabilidade de alterações. Referências com <abbr title="Cascading Style Sheets">CSS</abbr> onde a expansão acrescenta valor.</p>
<p>Expoentes: E = mc<sup>2</sup>. Índices: H<sub>2</sub>O. Combinados: CO<sub>2</sub> a 400 ppm é já <sup>[citação necessária]</sup>.</p>
<p>Atalhos de teclado: pressiona <kbd>⌘</kbd> + <kbd>K</kbd> para abrir o palete de comandos. Ou <kbd>Ctrl</kbd> + <kbd>Shift</kbd> + <kbd>P</kbd> no Windows.</p>
<h2>Listas</h2>
<h3>Lista não ordenada simples</h3>
<ul>
<li>Primeiro item</li>
<li>Segundo item</li>
<li>Terceiro item</li>
</ul>
<h3>Lista com vários níveis</h3>
<ul>
<li>Primeiro nível
<ul>
<li>Segundo nível</li>
<li>Outro item no segundo nível
<ul>
<li>Terceiro nível
<ul>
<li>Quarto nível — aqui o outline colapsa por defeito</li>
<li>Mais um no quarto</li>
</ul>
</li>
<li>De volta ao terceiro</li>
</ul>
</li>
<li>De volta ao segundo</li>
</ul>
</li>
<li>De volta ao primeiro</li>
</ul>
<h3>Lista ordenada</h3>
<ol>
<li>Abre o terminal</li>
<li>Navega para o directório do projecto</li>
<li>Corre <code>npm run build</code></li>
<li>Verifica o output em <code>_site/</code></li>
<li>Faz deploy se tudo estiver bem</li>
</ol>
<h3>Lista ordenada com sublista mista</h3>
<ol>
<li>Escolhe uma abordagem
<ul>
<li>Abordagem A: rápida, frágil</li>
<li>Abordagem B: lenta, robusta</li>
</ul>
</li>
<li>Implementa com testes</li>
<li>Documenta as decisões</li>
</ol>
<h3>Lista de definições (HTML em Markdown)</h3>
<dl>
  <dt>Design system</dt>
  <dd>Um conjunto de decisões documentadas, componentes reutilizáveis, e princípios que tornam o design consistente à escala.</dd>
  <dt>Token</dt>
  <dd>Um valor nomeado que representa uma decisão de design — cor, espaçamento, tipografia — independente da sua implementação concreta.</dd>
  <dt>Grelha</dt>
  <dd>A estrutura invisível que torna a disposição de elementos previsível e audível.</dd>
</dl>
<h3>Lista de tarefas</h3>
<ul class="contains-task-list">
<li class="task-list-item enabled"><label><input class="task-list-item-checkbox" checked=""type="checkbox"> Definir a paleta de cores</label></li>
<li class="task-list-item enabled"><label><input class="task-list-item-checkbox" checked=""type="checkbox"> Estabelecer a escala tipográfica</label></li>
<li class="task-list-item enabled"><label><input class="task-list-item-checkbox" checked=""type="checkbox"> Criar os tokens CSS</label></li>
<li class="task-list-item enabled"><label><input class="task-list-item-checkbox"type="checkbox"> Documentar os padrões de composição</label></li>
<li class="task-list-item enabled"><label><input class="task-list-item-checkbox"type="checkbox"> Publicar o guia de estilo</label></li>
<li class="task-list-item enabled"><label><input class="task-list-item-checkbox"type="checkbox"> Verificar acessibilidade em todos os componentes</label></li>
</ul>
<h2>Citações</h2>
<p>Uma citação simples:</p>
<blockquote>
<p>O que não está documentado não existe. O que existe sem documentação é acidente.</p>
</blockquote>
<p>Uma citação mais longa, com atribuição manual:</p>
<blockquote>
<p>A tipografia tem uma função antes de ter uma forma. A legibilidade não é uma restrição — é o ponto de partida. Qualquer decisão que não serve o conteúdo serve apenas o designer.</p>
<p>— Emil Ruder, <em>Typographie als Ausdruck</em>, 1959</p>
</blockquote>
<p>Citação aninhada:</p>
<blockquote>
<p>Perguntaram-lhe o que era o design.</p>
<blockquote>
<p>&quot;É a intenção tornada visível&quot;, respondeu.</p>
</blockquote>
<p>Ninguém ficou satisfeito com a resposta. Ele também não.</p>
</blockquote>
<h2>Código</h2>
<h3>Código inline</h3>
<p>Usa <code>const</code> em vez de <code>let</code> quando o valor não muda. O selector <code>.note-body</code> aplica estilos de prosa. A propriedade <code>--text-base</code> é um token CSS.</p>
<h3>Bloco de código — CSS</h3>
<pre class="language-css"><code class="language-css"><span class="token comment">/* Escala tipográfica fluida */</span>
<span class="token selector">:root</span> <span class="token punctuation">{</span>
  <span class="token property">--text-sm</span><span class="token punctuation">:</span>      <span class="token function">clamp</span><span class="token punctuation">(</span>0.875rem<span class="token punctuation">,</span> 0.825rem + 0.25vw<span class="token punctuation">,</span> 1rem<span class="token punctuation">)</span><span class="token punctuation">;</span>
  <span class="token property">--text-base</span><span class="token punctuation">:</span>    <span class="token function">clamp</span><span class="token punctuation">(</span>1rem<span class="token punctuation">,</span>     0.95rem  + 0.25vw<span class="token punctuation">,</span> 1.125rem<span class="token punctuation">)</span><span class="token punctuation">;</span>
  <span class="token property">--text-lg</span><span class="token punctuation">:</span>      <span class="token function">clamp</span><span class="token punctuation">(</span>1.25rem<span class="token punctuation">,</span>  1.1rem   + 0.65vw<span class="token punctuation">,</span> 1.625rem<span class="token punctuation">)</span><span class="token punctuation">;</span>
  <span class="token property">--text-xl</span><span class="token punctuation">:</span>      <span class="token function">clamp</span><span class="token punctuation">(</span>1.875rem<span class="token punctuation">,</span> 1.5rem   + 1.5vw<span class="token punctuation">,</span>  2.75rem<span class="token punctuation">)</span><span class="token punctuation">;</span>
  <span class="token property">--text-display</span><span class="token punctuation">:</span> <span class="token function">clamp</span><span class="token punctuation">(</span>3rem<span class="token punctuation">,</span>     2.25rem  + 3vw<span class="token punctuation">,</span>    5.5rem<span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span></code></pre>
<h3>Bloco de código — JavaScript</h3>
<pre class="language-js"><code class="language-js"><span class="token comment">// Wikilink resolver — transforma [[título]] em &lt;a href="..."></span>
<span class="token keyword">function</span> <span class="token function">resolveWikilinks</span><span class="token punctuation">(</span><span class="token parameter">content<span class="token punctuation">,</span> pages</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
  <span class="token keyword">const</span> pageMap <span class="token operator">=</span> <span class="token keyword">new</span> <span class="token class-name">Map</span><span class="token punctuation">(</span>
    pages
      <span class="token punctuation">.</span><span class="token function">filter</span><span class="token punctuation">(</span><span class="token parameter">p</span> <span class="token operator">=></span> p<span class="token punctuation">.</span>data<span class="token punctuation">.</span>title <span class="token operator">&amp;&amp;</span> p<span class="token punctuation">.</span>page<span class="token punctuation">.</span>url<span class="token punctuation">)</span>
      <span class="token punctuation">.</span><span class="token function">map</span><span class="token punctuation">(</span><span class="token parameter">p</span> <span class="token operator">=></span> <span class="token punctuation">[</span>p<span class="token punctuation">.</span>data<span class="token punctuation">.</span>title<span class="token punctuation">.</span><span class="token function">toLowerCase</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">,</span> p<span class="token punctuation">.</span>page<span class="token punctuation">.</span>url<span class="token punctuation">]</span><span class="token punctuation">)</span>
  <span class="token punctuation">)</span><span class="token punctuation">;</span>

  <span class="token keyword">return</span> content<span class="token punctuation">.</span><span class="token function">replace</span><span class="token punctuation">(</span><span class="token regex"><span class="token regex-delimiter">/</span><span class="token regex-source language-regex">\[\[([^\]]+)\]\]</span><span class="token regex-delimiter">/</span><span class="token regex-flags">g</span></span><span class="token punctuation">,</span> <span class="token punctuation">(</span><span class="token parameter">_<span class="token punctuation">,</span> title</span><span class="token punctuation">)</span> <span class="token operator">=></span> <span class="token punctuation">{</span>
    <span class="token keyword">const</span> url <span class="token operator">=</span> pageMap<span class="token punctuation">.</span><span class="token function">get</span><span class="token punctuation">(</span>title<span class="token punctuation">.</span><span class="token function">toLowerCase</span><span class="token punctuation">(</span><span class="token punctuation">)</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
    <span class="token keyword">return</span> url <span class="token operator">?</span> <span class="token template-string"><span class="token template-punctuation string">`</span><span class="token string">&lt;a href="</span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>url<span class="token interpolation-punctuation punctuation">}</span></span><span class="token string">"></span><span class="token interpolation"><span class="token interpolation-punctuation punctuation">${</span>title<span class="token interpolation-punctuation punctuation">}</span></span><span class="token string">&lt;/a></span><span class="token template-punctuation string">`</span></span> <span class="token operator">:</span> title<span class="token punctuation">;</span>
  <span class="token punctuation">}</span><span class="token punctuation">)</span><span class="token punctuation">;</span>
<span class="token punctuation">}</span></code></pre>
<h3>Bloco de código — HTML</h3>
<pre class="language-html"><code class="language-html"><span class="token doctype"><span class="token punctuation">&lt;!</span><span class="token doctype-tag">DOCTYPE</span> <span class="token name">html</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>html</span> <span class="token attr-name">lang</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>pt<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>
  <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>head</span><span class="token punctuation">></span></span>
    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>meta</span> <span class="token attr-name">charset</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>UTF-8<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>
    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>meta</span> <span class="token attr-name">name</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>viewport<span class="token punctuation">"</span></span> <span class="token attr-name">content</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>width=device-width, initial-scale=1<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>
    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>title</span><span class="token punctuation">></span></span>tavar.es<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>title</span><span class="token punctuation">></span></span>
  <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>head</span><span class="token punctuation">></span></span>
  <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>body</span><span class="token punctuation">></span></span>
    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>a</span> <span class="token attr-name">href</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>#main<span class="token punctuation">"</span></span> <span class="token attr-name">class</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>skip-link<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>Saltar para o conteúdo<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>a</span><span class="token punctuation">></span></span>
    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>main</span> <span class="token attr-name">id</span><span class="token attr-value"><span class="token punctuation attr-equals">=</span><span class="token punctuation">"</span>main<span class="token punctuation">"</span></span><span class="token punctuation">></span></span>
      <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;</span>h1</span><span class="token punctuation">></span></span>Olá.<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>h1</span><span class="token punctuation">></span></span>
    <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>main</span><span class="token punctuation">></span></span>
  <span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>body</span><span class="token punctuation">></span></span>
<span class="token tag"><span class="token tag"><span class="token punctuation">&lt;/</span>html</span><span class="token punctuation">></span></span></code></pre>
<h3>Bloco de código — Bash</h3>
<pre class="language-bash"><code class="language-bash"><span class="token comment"># Build e verificação de acessibilidade</span>
<span class="token function">npm</span> run build <span class="token operator">&amp;&amp;</span> <span class="token function">npm</span> run check:a11y

<span class="token comment"># Servir localmente com hot reload</span>
npx @11ty/eleventy <span class="token parameter variable">--serve</span> <span class="token parameter variable">--port</span><span class="token operator">=</span><span class="token number">8080</span></code></pre>
<h3>Bloco de código — Python</h3>
<pre class="language-python"><code class="language-python"><span class="token keyword">def</span> <span class="token function">encode_email</span><span class="token punctuation">(</span>email<span class="token punctuation">:</span> <span class="token builtin">str</span><span class="token punctuation">,</span> key<span class="token punctuation">:</span> <span class="token builtin">int</span> <span class="token operator">=</span> <span class="token number">23</span><span class="token punctuation">)</span> <span class="token operator">-</span><span class="token operator">></span> <span class="token builtin">str</span><span class="token punctuation">:</span>
    <span class="token triple-quoted-string string">"""XOR-encode an email address for obfuscation in HTML."""</span>
    <span class="token keyword">return</span> <span class="token string">""</span><span class="token punctuation">.</span>join<span class="token punctuation">(</span>
        <span class="token builtin">format</span><span class="token punctuation">(</span><span class="token builtin">ord</span><span class="token punctuation">(</span>c<span class="token punctuation">)</span> <span class="token operator">^</span> key<span class="token punctuation">,</span> <span class="token string">"02x"</span><span class="token punctuation">)</span>
        <span class="token keyword">for</span> c <span class="token keyword">in</span> email
    <span class="token punctuation">)</span></code></pre>
<h3>Bloco de código — JSON</h3>
<pre class="language-json"><code class="language-json"><span class="token punctuation">{</span>
  <span class="token property">"name"</span><span class="token operator">:</span> <span class="token string">"tavar.es"</span><span class="token punctuation">,</span>
  <span class="token property">"version"</span><span class="token operator">:</span> <span class="token string">"1.0.0"</span><span class="token punctuation">,</span>
  <span class="token property">"type"</span><span class="token operator">:</span> <span class="token string">"module"</span><span class="token punctuation">,</span>
  <span class="token property">"scripts"</span><span class="token operator">:</span> <span class="token punctuation">{</span>
    <span class="token property">"build"</span><span class="token operator">:</span> <span class="token string">"eleventy"</span><span class="token punctuation">,</span>
    <span class="token property">"start"</span><span class="token operator">:</span> <span class="token string">"eleventy --serve"</span>
  <span class="token punctuation">}</span>
<span class="token punctuation">}</span></code></pre>
<h3>Bloco de código sem linguagem</h3>
<pre><code>Texto pré-formatado sem highlighting.
Útil para output de terminal, logs, ou conteúdo ASCII.

    ┌─────────────────────────────┐
    │  nome          tipo         │
    │  ──────────    ────────     │
    │  --text-sm     clamp()      │
    │  --text-base   clamp()      │
    └─────────────────────────────┘
</code></pre>
<h2>Tabelas</h2>
<h3>Tabela simples</h3>
<table>
<thead>
<tr>
<th>Propriedade</th>
<th>Valor</th>
</tr>
</thead>
<tbody>
<tr>
<td>Tipografia</td>
<td>Hanken Grotesk</td>
</tr>
<tr>
<td>Cor de fundo</td>
<td><code>var(--color-bg)</code></td>
</tr>
<tr>
<td>Cor de texto</td>
<td><code>var(--color-text)</code></td>
</tr>
<tr>
<td>Accent</td>
<td><code>var(--color-accent)</code></td>
</tr>
</tbody>
</table>
<h3>Tabela com múltiplas colunas e alinhamento</h3>
<table>
<thead>
<tr>
<th>Elemento</th>
<th>Tag HTML</th>
<th>Markdown</th>
<th>Notas</th>
</tr>
</thead>
<tbody>
<tr>
<td>Cabeçalho</td>
<td><code>&lt;h2&gt;</code>–<code>&lt;h6&gt;</code></td>
<td><code>##</code>–<code>######</code></td>
<td>h1 reservado para o título</td>
</tr>
<tr>
<td>Parágrafo</td>
<td><code>&lt;p&gt;</code></td>
<td>linha em branco</td>
<td>Não requer sintaxe especial</td>
</tr>
<tr>
<td>Negrito</td>
<td><code>&lt;strong&gt;</code></td>
<td><code>**texto**</code></td>
<td>Ênfase semântica forte</td>
</tr>
<tr>
<td>Itálico</td>
<td><code>&lt;em&gt;</code></td>
<td><code>*texto*</code></td>
<td>Ênfase semântica suave</td>
</tr>
<tr>
<td>Código</td>
<td><code>&lt;code&gt;</code></td>
<td><code>`texto`</code></td>
<td>Inline; <code>&lt;pre&gt;</code> para blocos</td>
</tr>
<tr>
<td>Citação</td>
<td><code>&lt;blockquote&gt;</code></td>
<td><code>&gt; texto</code></td>
<td>Pode ser aninhado</td>
</tr>
<tr>
<td>Tabela</td>
<td><code>&lt;table&gt;</code></td>
<td>pipes <code>|</code></td>
<td>GFM; sem colspan/rowspan</td>
</tr>
<tr>
<td>Tarefa</td>
<td><code>&lt;input&gt;</code></td>
<td><code>- [ ]</code></td>
<td>Via markdown-it-task-lists</td>
</tr>
<tr>
<td>Nota de rodapé</td>
<td><code>&lt;sup&gt;</code></td>
<td><code>[^ref]</code></td>
<td>Via markdown-it-footnote</td>
</tr>
</tbody>
</table>
<h3>Tabela com alinhamento de colunas</h3>
<table>
<thead>
<tr>
<th style="text-align:left">Coluna esquerda</th>
<th style="text-align:center">Coluna centrada</th>
<th style="text-align:right">Coluna direita</th>
</tr>
</thead>
<tbody>
<tr>
<td style="text-align:left">texto</td>
<td style="text-align:center">texto</td>
<td style="text-align:right">texto</td>
</tr>
<tr>
<td style="text-align:left">mais texto</td>
<td style="text-align:center">mais texto</td>
<td style="text-align:right">mais texto</td>
</tr>
<tr>
<td style="text-align:left">longo conteúdo</td>
<td style="text-align:center">longo cont.</td>
<td style="text-align:right">longo conteúdo</td>
</tr>
</tbody>
</table>
<h2>Imagens</h2>
<h3>Imagem simples (sem legenda)</h3>
<p><img src="../../media/FLORA-E-commerce Product Photo-db3c832d.png" alt="FLORA-E-commerce Product Photo-db3c832d" loading="lazy" decoding="async"></p>
<h3>Imagem com legenda</h3>
<p><figure><img src="../../media/FLORA-E-commerce Product Photo-db3c832d.png" alt="Uma figura no deserto — fotografia de produto fora de contexto, o que a torna mais honesta." loading="lazy" decoding="async"><figcaption>Uma figura no deserto — fotografia de produto fora de contexto, o que a torna mais honesta.</figcaption></figure></p>
<h3>Imagem com largura explícita</h3>
<p><img src="../../media/FLORA-E-commerce Product Photo-db3c832d.png" alt="FLORA-E-commerce Product Photo-db3c832d" width="400" loading="lazy" decoding="async"></p>
<h2>Ligações</h2>
<h3>Wikilink para outra nota</h3>
<p>Esta nota relaciona-se com [[design como prática]] e com [[linguagem no design]].</p>
<h3>Ligação externa explícita</h3>
<p><a href="https://www.11ty.dev">Eleventy — documentação oficial</a></p>
<h3>URL exposta (linkificada automaticamente)</h3>
<p><a href="https://www.w3.org/WAI/WCAG22/Understanding/">https://www.w3.org/WAI/WCAG22/Understanding/</a></p>
<h3>Ligação de email (obfuscada automaticamente no build)</h3>
<p>Podes contactar-me em <a href="mailto:miguel@tavar.es">miguel@tavar.es</a>.</p>
<h2>Divisória horizontal</h2>
<p>Uma regra horizontal dentro do corpo de uma nota tem estilo diferente da regra que separa secções de layout — é tracejada e mais fina.</p>
<p>Após a regra.</p>
<h2>Notas de rodapé</h2>
<p>O sistema de notas de rodapé<sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup> é gerido pelo plugin <code>markdown-it-footnote</code>.<sup class="footnote-ref"><a href="#fn2" id="fnref2">[2]</a></sup> As notas aparecem no fim da página, separadas do corpo por uma regra horizontal.<sup class="footnote-ref"><a href="#fn3" id="fnref3">[3]</a></sup></p>
<p>Pode-se referenciar a mesma nota várias vezes.<sup class="footnote-ref"><a href="#fn1" id="fnref1:1">[1:1]</a></sup></p>
<h2>HTML em linha</h2>
<p>Markdown permite HTML em linha quando nenhuma sintaxe Markdown cobre o caso.</p>
<h3>Detalhes e sumário (disclosure widget)</h3>
<details>
  <summary>Mostrar detalhes técnicos</summary>
<p>Este conteúdo está escondido por defeito e expandido ao clicar. Útil para informação acessória que não deve sobrecarregar o fluxo principal.</p>
<p>Pode conter qualquer conteúdo HTML. Não é Markdown processado dentro de <code>&lt;details&gt;</code> por defeito no markdown-it — precisaria de configuração adicional.</p>
</details>
<h3>Sup, sub, abbr, kbd, mark, del, ins</h3>
<p><abbr title="World Wide Web Consortium">W3C</abbr> define os padrões. O <abbr title="Web Content Accessibility Guidelines">WCAG</abbr> 2.2 é o nível mínimo de acessibilidade que este sítio cumpre.</p>
<p>Pressiona <kbd>Tab</kbd> para navegar entre elementos interactivos. <kbd>Enter</kbd> ou <kbd>Espaço</kbd> para activar. <kbd>Escape</kbd> para fechar diálogos.</p>
<p>O texto <mark>marcado a amarelo</mark> chama a atenção para partes específicas de uma citação ou listagem.</p>
<p>Versão <del>1.0</del> <ins>2.0</ins> — a primeira foi removida, a segunda inserida.</p>
<p>E = mc<sup>2</sup>. A fórmula da água é H<sub>2</sub>O. Nota à margem<sup>*</sup>.</p>
<h3>Tabela com células mais ricas</h3>
<table>
  <caption>Comparação de abordagens de acessibilidade</caption>
  <thead>
    <tr>
      <th scope="col">Técnica</th>
      <th scope="col">Quando usar</th>
      <th scope="col">Evitar se</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td><code>aria-label</code></td>
      <td>Elemento sem texto visível</td>
      <td>Há texto visível — usa <code>aria-labelledby</code></td>
    </tr>
    <tr>
      <td><code>aria-describedby</code></td>
      <td>Descrição adicional além do label</td>
      <td>A descrição é o label principal</td>
    </tr>
    <tr>
      <td><code>role="alert"</code></td>
      <td>Mensagens urgentes e dinâmicas</td>
      <td>Conteúdo estático — usa semântica nativa</td>
    </tr>
  </tbody>
</table>
<h2>Conteúdo misto — tudo junto</h2>
<p>Uma secção que mistura tipos de conteúdo como acontece numa nota real.</p>
<p>Ao rever o sistema de design, identifiquei três categorias de problemas<sup class="footnote-ref"><a href="#fn4" id="fnref4">[4]</a></sup>:</p>
<ol>
<li><strong>Tokens sem uso</strong> — valores definidos mas nunca referenciados em componentes. Acumulam-se com o tempo.</li>
<li><strong>Componentes sem tokens</strong> — valores <em>hardcoded</em> em vez de variáveis. Difíceis de actualizar globalmente.</li>
<li><strong>Inconsistências de escala</strong> — espaçamentos que não pertencem a nenhuma escala definida.</li>
</ol>
<p>A correcção passa por um processo iterativo:</p>
<ul>
<li>Auditar o código existente (ver [[ferramentas que uso]] para a lista de ferramentas)</li>
<li>Mapear cada valor para o token mais próximo</li>
<li>Eliminar duplicados</li>
<li>Documentar excepções justificadas</li>
</ul>
<blockquote>
<p>A disciplina não é a ausência de exceções. É saber exactamente onde e porquê existem.</p>
</blockquote>
<p>O estado actual do sistema:</p>
<table>
<thead>
<tr>
<th>Categoria</th>
<th style="text-align:right">Total</th>
<th style="text-align:right">Com token</th>
<th style="text-align:right">Sem token</th>
</tr>
</thead>
<tbody>
<tr>
<td>Cores</td>
<td style="text-align:right">24</td>
<td style="text-align:right">24</td>
<td style="text-align:right">0</td>
</tr>
<tr>
<td>Espaçamentos</td>
<td style="text-align:right">18</td>
<td style="text-align:right">15</td>
<td style="text-align:right">3</td>
</tr>
<tr>
<td>Tipografia</td>
<td style="text-align:right">12</td>
<td style="text-align:right">12</td>
<td style="text-align:right">0</td>
</tr>
<tr>
<td>Bordas</td>
<td style="text-align:right">6</td>
<td style="text-align:right">4</td>
<td style="text-align:right">2</td>
</tr>
</tbody>
</table>
<p>Os três espaçamentos e duas bordas sem token são excepções documentadas. Não são erros — são decisões.<sup class="footnote-ref"><a href="#fn4" id="fnref4:1">[4:1]</a></sup></p>
<hr class="footnotes-sep">
<section class="footnotes">
<ol class="footnotes-list">
<li id="fn1" class="footnote-item"><p>Esta é uma nota de rodapé simples, referenciada múltiplas vezes no texto. <a href="#fnref1" class="footnote-backref">↩︎</a> <a href="#fnref1:1" class="footnote-backref">↩︎</a></p>
</li>
<li id="fn2" class="footnote-item"><p>As notas de rodapé podem ter identificadores arbitrários — não precisam de ser números. O identificador não aparece no output; o que aparece é a sequência numérica gerada automaticamente.</p>
<p>As notas de rodapé podem também ter vários parágrafos. Basta indentar o conteúdo adicional com quatro espaços ou um tab. Isto permite notas longas sem quebrar o fluxo do texto principal. <a href="#fnref2" class="footnote-backref">↩︎</a></p>
</li>
<li id="fn3" class="footnote-item"><p>Esta é a terceira nota, mas o seu identificador é <code>3</code>. A numeração no output é sempre sequencial, independentemente dos identificadores usados. <a href="#fnref3" class="footnote-backref">↩︎</a></p>
</li>
<li id="fn4" class="footnote-item"><p>A auditoria foi feita manualmente com <code>grep</code> e uma folha de cálculo. Não é elegante mas funciona. Ferramentas sofisticadas introduzem complexidade; às vezes a complexidade certa é um terminal aberto. <a href="#fnref4" class="footnote-backref">↩︎</a> <a href="#fnref4:1" class="footnote-backref">↩︎</a></p>
</li>
</ol>
</section>

]]></content>
  </entry>
  <entry>
    <title>Cosine Similarity</title>
    <link href="https://tavar.es/notas/cosine-similarity/"/>
    <id>https://tavar.es/notas/cosine-similarity/</id>
    <updated>2026-03-03T00:00:00Z</updated>
    <content type="html"><![CDATA[<p><a href="https://towardsdatascience.com/calculating-string-similarity-in-python-276e18a7d33a">https://towardsdatascience.com/calculating-string-similarity-in-python-276e18a7d33a</a>
<a href="https://en.wikipedia.org/wiki/Cosine_similarity">Cosine similarity - Wikipedia</a></p>
<p><strong>Cosine similarity</strong> is a  <a href="https://en.wikipedia.org/wiki/Measure_of_similarity">measure of similarity</a>  between two non-zero vectors of an  <a href="https://en.wikipedia.org/wiki/Inner_product_space">inner product space</a>  that measures the  <a href="https://en.wikipedia.org/wiki/Cosine">cosine</a>  of the angle between them. The cosine of 0° is 1, and it is less than 1 for any angle in the interval ### (0,π]
<a href="https://en.wikipedia.org/wiki/Radian">radians</a> . It is thus a judgment of orientation and not magnitude: two vectors with the same orientation have a cosine similarity of 1, two vectors oriented at 90° relative to each other have a similarity of 0, and two vectors diametrically opposed have a similarity of -1, independent of their magnitude. The cosine similarity is particularly used in positive space, where the outcome is neatly bounded in [0,1]. The name derives from the term &quot;direction cosine&quot;: in this case,  <a href="https://en.wikipedia.org/wiki/Unit_vector">unit vectors</a>  are maximally &quot;similar&quot; if they're parallel and maximally &quot;dissimilar&quot; if they're  <a href="https://en.wikipedia.org/wiki/Orthogonal">orthogonal</a>  (perpendicular). This is analogous to the cosine, which is unity (maximum value) when the segments subtend a zero angle and zero (uncorrelated) when the segments are perpendicular.</p>
<p>These bounds apply for any number of dimensions, and the cosine similarity is most commonly used in high-dimensional positive spaces. For example, in  <a href="https://en.wikipedia.org/wiki/Information_retrieval">information retrieval</a>  and  <a href="https://en.wikipedia.org/wiki/Text_mining">text mining</a> , each term is notionally assigned a different dimension and a document is characterised by a vector where the value in each dimension corresponds to the number of times the term appears in the document. Cosine similarity then gives a useful measure of how similar two documents are likely to be in terms of their subject matter.</p>

]]></content>
  </entry>
  <entry>
    <title>Outra coisa qualquer</title>
    <link href="https://tavar.es/notas/outra-coisa-qualquer/"/>
    <id>https://tavar.es/notas/outra-coisa-qualquer/</id>
    <updated>2026-02-12T00:00:00Z</updated>
    <content type="html"><![CDATA[<p>ESTA PÁGINA É UMA CÓPIA</p>
<p>Há um argumento a fazer de que construir o próprio sítio web é, em si, um acto de design tão revelador como qualquer projeto para um cliente.</p>
<p>Aqui, não há brief. Não há utilizador a não ser eu próprio — e ao mesmo tempo, todos os que passarem por aqui. Não há prazo senão o da minha paciência. O que fica é o que eu consigo defender até ao fim.</p>
<p><figure><img src="../../media/preview.jpg" alt="um sintetizador" loading="lazy" decoding="async"><figcaption>um sintetizador</figcaption></figure></p>
<p>Estou a pensar muito sobre [[design como prática]] ultimamente. O que significa trabalhar com intenção, sem a urgência artificial dos deadlines comerciais.</p>

]]></content>
  </entry>
  <entry>
    <title>Ferramentas que uso</title>
    <link href="https://tavar.es/notas/ferramentas-que-uso/"/>
    <id>https://tavar.es/notas/ferramentas-que-uso/</id>
    <updated>2026-02-05T00:00:00Z</updated>
    <content type="html"><![CDATA[<p>Há uma pergunta que recebo com alguma frequência: o que usas para trabalhar? A resposta honesta é que as ferramentas mudam, mas os princípios que me levam a escolhê-las são os mesmos há anos.</p>
<h2>O que procuro numa ferramenta</h2>
<p>Antes da lista, o critério:</p>
<ul>
<li><strong>Faz uma coisa bem.</strong> Ferramentas que tentam fazer tudo raramente fazem algo com excelência.</li>
<li><strong>Sai do caminho.</strong> O melhor software é invisível durante o trabalho — só existe quando preciso dele.</li>
<li><strong>Tem uma filosofia.</strong> Isso revela-se no comportamento nos casos extremos, não nos casos normais.</li>
<li><strong>Exporta dados limpos.</strong> Nunca devo ficar refém de um formato proprietário.</li>
</ul>
<h2>O que uso agora</h2>
<h3>Desenho e prototipagem</h3>
<p><strong>Figma</strong> continua a ser o padrão. Não porque seja perfeita — tem problemas sérios de performance com ficheiros grandes — mas porque a colaboração em tempo real mudou fundamentalmente como trabalho com equipas de engenharia.</p>
<p><strong>Pixelmator Pro</strong> para trabalho de imagem raster. É uma das aplicações macOS mais bem construídas que conheço.</p>
<h3>Escrita e pensamento</h3>
<p><strong>Obsidian</strong> para notas, journaling e gestão de conhecimento. A decisão de guardar tudo em Markdown local foi das melhores que tomei. Este sítio está inteiramente escrito no Obsidian.</p>
<p><strong>iA Writer</strong> para rascunhos longos. A ausência total de opções é a funcionalidade.</p>
<h3>Desenvolvimento</h3>
<p><strong>Cursor</strong> com reservas. A assistência de IA é genuinamente útil; a tendência para gerar código que <em>parece</em> correto mas não é exige atenção constante.</p>
<p><strong>Warp</strong> como terminal. O historial de comandos com pesquisa em linguagem natural é, sem exagero, transformador.</p>
<blockquote>
<p>A ferramenta certa não é a mais poderosa. É a que te deixa pensar no problema em vez de pensar na ferramenta.</p>
</blockquote>
<p>Vou atualizar esta lista quando algo mudar de forma significativa. O que uso dentro de seis meses será provavelmente diferente — e isso é bom sinal.</p>

]]></content>
  </entry>
  <entry>
    <title>Tipografia suíça e interfaces</title>
    <link href="https://tavar.es/notas/tipografia-suica-e-interfaces/"/>
    <id>https://tavar.es/notas/tipografia-suica-e-interfaces/</id>
    <updated>2026-01-28T00:00:00Z</updated>
    <content type="html"><![CDATA[<p>Em 1959, Emil Ruder publicou um ensaio na revista <em>Typographische Monatsblätter</em> que ainda hoje me parece mais relevante do que a maior parte do que se escreve sobre design de interfaces.<sup class="footnote-ref"><a href="#fn1" id="fnref1">[1]</a></sup></p>
<p>O argumento central era simples: a tipografia tem uma função antes de ter uma forma. A legibilidade não é uma restrição — é o ponto de partida.</p>
<h2>A grelha como argumento</h2>
<p>O sistema tipográfico suíço não era decoração. Era uma posição filosófica: a ordem serve o conteúdo, não o contrário. A grelha tornava explícitas as decisões que outros designers tomavam de forma intuitiva e inconsistente.</p>
<p>Há um paralelo direto com sistemas de design modernos. Um <em>design system</em> bem construído faz a mesma coisa: torna explícitas as decisões que de outra forma viveriam apenas na cabeça das pessoas.</p>
<blockquote>
<p>O que não está documentado não existe. O que existe sem documentação é acidente.</p>
</blockquote>
<p>Este princípio aplica-se diretamente a decisões tipográficas. Uma escala definida em código é uma decisão documentada — auditável, propagável, impossível de ignorar acidentalmente:</p>
<blockquote>
<p>Um bloco de código em CSS</p>
</blockquote>
<p>e como fica <code>inline code</code> no meio de uma prágrafo?</p>
<pre class="language-css"><code class="language-css"><span class="token comment">/* Escala tipográfica — tamanhos fluidos com clamp() */</span>
<span class="token selector">:root</span> <span class="token punctuation">{</span>
  <span class="token property">--text-sm</span><span class="token punctuation">:</span>      <span class="token function">clamp</span><span class="token punctuation">(</span>0.875rem<span class="token punctuation">,</span> 0.825rem + 0.25vw<span class="token punctuation">,</span> 1rem<span class="token punctuation">)</span><span class="token punctuation">;</span>
  <span class="token property">--text-base</span><span class="token punctuation">:</span>    <span class="token function">clamp</span><span class="token punctuation">(</span>1rem<span class="token punctuation">,</span>     0.95rem  + 0.25vw<span class="token punctuation">,</span> 1.125rem<span class="token punctuation">)</span><span class="token punctuation">;</span>
  <span class="token property">--text-lg</span><span class="token punctuation">:</span>      <span class="token function">clamp</span><span class="token punctuation">(</span>1.25rem<span class="token punctuation">,</span>  1.1rem   + 0.65vw<span class="token punctuation">,</span> 1.625rem<span class="token punctuation">)</span><span class="token punctuation">;</span>
  <span class="token property">--text-xl</span><span class="token punctuation">:</span>      <span class="token function">clamp</span><span class="token punctuation">(</span>1.875rem<span class="token punctuation">,</span> 1.5rem   + 1.5vw<span class="token punctuation">,</span>  2.75rem<span class="token punctuation">)</span><span class="token punctuation">;</span>
  <span class="token property">--text-display</span><span class="token punctuation">:</span> <span class="token function">clamp</span><span class="token punctuation">(</span>3rem<span class="token punctuation">,</span>     2.25rem  + 3vw<span class="token punctuation">,</span>    5.5rem<span class="token punctuation">)</span><span class="token punctuation">;</span>

  <span class="token comment">/* Entrelinha */</span>
  <span class="token property">--leading-tight</span><span class="token punctuation">:</span>  1.1<span class="token punctuation">;</span>
  <span class="token property">--leading-normal</span><span class="token punctuation">:</span> 1.5<span class="token punctuation">;</span>
  <span class="token property">--leading-loose</span><span class="token punctuation">:</span>  1.7<span class="token punctuation">;</span>
<span class="token punctuation">}</span></code></pre>
<p>O código acima é o deste sítio. Cada token é uma intenção expressa, não um número solto num ficheiro de design.</p>
<h2>Comparação de abordagens tipográficas</h2>
<p>Simplificando brutalmente, a diferença entre escola suíça e abordagens mais expressivas:</p>
<table>
<thead>
<tr>
<th>Dimensão</th>
<th>Tipografia suíça</th>
<th>Abordagem expressiva</th>
</tr>
</thead>
<tbody>
<tr>
<td>Hierarquia</td>
<td>Construída pelo tamanho e peso</td>
<td>Construída pela cor e posição</td>
</tr>
<tr>
<td>Grelha</td>
<td>Estrutura visível e respeitada</td>
<td>Ponto de partida, não limite</td>
</tr>
<tr>
<td>Ornamento</td>
<td>Ausente por princípio</td>
<td>Usado com intenção</td>
</tr>
<tr>
<td>Emoção</td>
<td>Transmitida pela estrutura</td>
<td>Transmitida pela forma</td>
</tr>
<tr>
<td>Falha comum</td>
<td>Frieza, impessoalidade</td>
<td>Ruído, inconsistência</td>
</tr>
</tbody>
</table>
<p>Nenhuma abordagem é superior em abstrato. A questão é sempre: o que o conteúdo exige?</p>
<h2>O que isto tem a ver com interfaces</h2>
<p>O problema do design de interfaces moderno não é falta de expressão — é falta de disciplina. Há demasiado movimento, demasiada cor, demasiada variação tipográfica a servir a vaidade do designer em vez do utilizador.</p>
<p>As melhores interfaces que conheço têm uma qualidade suíça: a sensação de que cada decisão foi tomada, não aconteceu.</p>
<p>Isso é o que continuo a tentar fazer.</p>
<hr class="footnotes-sep">
<section class="footnotes">
<ol class="footnotes-list">
<li id="fn1" class="footnote-item"><p>O ensaio chama-se <em>Typographie als Ausdruck</em> e foi republicado em várias coletâneas. A tradução inglesa mais acessível está no livro <em>Typography: A Very Short Introduction</em> de Paul Luna, que o cita extensamente. <a href="#fnref1" class="footnote-backref">↩︎</a></p>
</li>
</ol>
</section>

]]></content>
  </entry>
  <entry>
    <title>linguagem no design</title>
    <link href="https://tavar.es/notas/linguagem-no-design/"/>
    <id>https://tavar.es/notas/linguagem-no-design/</id>
    <updated>2026-01-20T00:00:00Z</updated>
    <content type="html"><![CDATA[<p>As palavras que aparecem numa interface são decisões de design. Não são preenchimento de espaço — são o produto.</p>
<p>&quot;Submit&quot; e &quot;Enviar candidatura&quot; fazem coisas diferentes ao utilizador, mesmo que a função técnica seja idêntica. O primeiro é neutro, técnico, diz o mecanismo. O segundo situa a pessoa no contexto do que está a acontecer.</p>
<p>Boa linguagem de interface:</p>
<ul>
<li>Fala do ponto de vista do utilizador, não do sistema</li>
<li>Usa o tempo verbal do utilizador (&quot;Os seus ficheiros foram guardados&quot; vs. &quot;Guardado&quot;)</li>
<li>Evita jargão sem abandonar a precisão quando esta importa</li>
<li>É consistente — o mesmo conceito tem sempre o mesmo nome</li>
</ul>
<p>Ver também: [[design como prática]].</p>

]]></content>
  </entry>
  <entry>
    <title>NOVO TÍTULO</title>
    <link href="https://tavar.es/notas/uma-nota-com-espacos-no-titulo/"/>
    <id>https://tavar.es/notas/uma-nota-com-espacos-no-titulo/</id>
    <updated>2026-01-20T00:00:00Z</updated>
    <content type="html"><![CDATA[<p>E pouco mais.</p>
<p>Ok</p>
<p>Uma imagem</p>
<p><img src="../../media/preview.jpg" alt="preview" loading="lazy" decoding="async"></p>
<p>Ver também: [[design como prática]].</p>

]]></content>
  </entry>
  <entry>
    <title>Design como prática</title>
    <link href="https://tavar.es/notas/design-como-pratica/"/>
    <id>https://tavar.es/notas/design-como-pratica/</id>
    <updated>2026-01-15T00:00:00Z</updated>
    <content type="html"><![CDATA[<p>Design não é uma profissão. É uma prática — no sentido em que se pratica, se repete, se aprofunda ao longo do tempo.</p>
<p>A distinção importa porque implica que nunca se chega a um estado de <em>ter design</em>. Há sempre mais a ver, mais a questionar, mais a desaprender.</p>
<p>Algumas coisas que tenho aprendido a reconhecer na prática:</p>
<ul>
<li>A decisão mais importante raramente acontece no Figma</li>
<li>A [[linguagem no design]] é design — palavras, hierarquia, tom</li>
<li>Restrições são produtivas. A liberdade irrestrita paralisa</li>
<li>O brief é sempre uma hipótese sobre o problema real</li>
</ul>
<p><figure><img src="../../media/FLORA-E-commerce Product Photo-db3c832d.png" alt="Uma senhora com óculos no deserto" loading="lazy" decoding="async"><figcaption>Uma senhora com óculos no deserto</figcaption></figure></p>
<p>Esta nota está em progresso.</p>

]]></content>
  </entry>
  <entry>
    <title>Prática, não profissão</title>
    <link href="https://tavar.es/notas/pratica-nao-profissao/"/>
    <id>https://tavar.es/notas/pratica-nao-profissao/</id>
    <updated>2026-01-15T00:00:00Z</updated>
    <content type="html"><![CDATA[<p>Há uma distinção que me persegue há algum tempo: a diferença entre ter uma <em>profissão</em> e ter uma <em>prática</em>.</p>
<p>Uma profissão é o que aparece no contrato. Uma prática é o que acontece quando ninguém está a ver — as perguntas que fazes a ti próprio, os problemas que estudas sem serem pagos, a atenção que prestas às coisas que não têm utilidade imediata.</p>
<h2>O que uma prática exige</h2>
<p>Tentei escrever uma lista. Ficou assim:</p>
<ol>
<li><strong>Tempo não contabilizado.</strong> Não tempo &quot;criativo&quot; que podes justificar numa fatura — tempo genuinamente sem produto.</li>
<li><strong>Tolerância para o trabalho sem audiência.</strong> Escrever notas que só tu vais ler. Fazer esboços que não levam a nenhum projeto.</li>
<li><strong>Curiosidade sem agenda.</strong> Ler sobre [[design como prática]] não porque alguém pediu, mas porque não consegues parar de pensar nisso.</li>
<li><strong>Uma posição.</strong> Não opiniões sobre ferramentas — isso é fácil. Uma posição sobre o que o design <em>é</em> e para que serve.</li>
</ol>
<h2>Sobre a posição</h2>
<blockquote>
<p>Não acredito que design seja resolução de problemas. Acredito que design é formulação de problemas. A resolução é consequência; a pergunta é o trabalho.</p>
</blockquote>
<p>Esta distinção tem implicações práticas. Se o trabalho é formular a pergunta certa, então a maior parte do que se chama &quot;processo de design&quot; está a otimizar a coisa errada — a eficiência da resposta em vez da qualidade da pergunta.</p>
<h2>O que tenho feito</h2>
<p>Este sítio é parte da prática. Não é um portfólio — não foi construído para convencer ninguém de nada. É um lugar para pensar em público, com a lentidão que isso exige.</p>
<p>As [[notas]] que estou a escrever são outra parte. São pensamentos em progresso, não conclusões.</p>
<p>O trabalho para clientes é outra parte — a parte mais visível, mas não necessariamente a mais importante.</p>
<hr>
<p>Não tenho uma conclusão. Isso também faz parte da prática.</p>

]]></content>
  </entry>
</feed>
