<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom">
  <channel>
    <title>Terminal Root</title>
    <description>Um pouco de muito sobre C++, Programação e Desenvolvimento de Games e Web.
</description>
    <link>https://terminalroot.com.br/</link>
    <atom:link href="https://terminalroot.com.br/feed.xml" rel="self" type="application/rss+xml"/>
    <pubDate>Sat, 09 May 2026 21:52:35 +0000</pubDate>
    <lastBuildDate>Sat, 09 May 2026 21:52:35 +0000</lastBuildDate>
    <generator>Jekyll v3.10.0</generator>
    
      <item>
        <title>Crie Facilmente Barras de Progresso em C</title>
        <description>&lt;p&gt;&lt;img src=&quot;/assets/img/c/c-progress-bar.jpg&quot; alt=&quot;Crie Facilmente Barras de Progresso em C&quot; title=&quot;📊 Uma biblioteca simples de barras de progresso para C.&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;c_progress_bar&lt;/code&gt; é uma biblioteca para &lt;a href=&quot;https://terminalroot.com.br/c&quot;&gt;C&lt;/a&gt; que ajuda a você criar:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Barra de progresso colorida&lt;/li&gt;
  &lt;li&gt;Estimativa de tempo restante&lt;/li&gt;
  &lt;li&gt;Rastreamento de tempo decorrido&lt;/li&gt;
  &lt;li&gt;Trabalha com &lt;a href=&quot;https://terminalroot.com.br/2023/06/como-compilar-com-msvc-via-linha-de-comando.html&quot;&gt;MSVC&lt;/a&gt;, &lt;a href=&quot;https://terminalroot.com.br/tags#clang&quot;&gt;Clang&lt;/a&gt; e &lt;a href=&quot;https://terminalroot.com.br/tags#gcc&quot;&gt;GCC&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;Escrito em C99 com dependências mínimas&lt;/li&gt;
&lt;/ul&gt;

&lt;!-- SQUARE - GAMES ROOT --&gt;
&lt;script async=&quot;&quot; src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display:inline-block;width:336px;height:280px&quot; data-ad-client=&quot;ca-pub-2838251107855362&quot; data-ad-slot=&quot;5351066970&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;instalação&quot;&gt;Instalação&lt;/h2&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;git clone https://github.com/c-modules/c_progress_bar
&lt;span class=&quot;nb&quot;&gt;cd &lt;/span&gt;c_progress_bar/
cmake &lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-B&lt;/span&gt; build
cmake &lt;span class=&quot;nt&quot;&gt;--build&lt;/span&gt; build/
&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;cmake &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;build&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;simples-exemplo&quot;&gt;Simples exemplo&lt;/h2&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;c&quot;&gt;#include &amp;lt;stdint.h&amp;gt;&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;#include &amp;lt;stdio.h&amp;gt;&lt;/span&gt;
&lt;span class=&quot;c&quot;&gt;#include &amp;lt;stdlib.h&amp;gt;&lt;/span&gt;

&lt;span class=&quot;c&quot;&gt;#include &quot;c_progress_bar.h&quot;&lt;/span&gt;

&lt;span class=&quot;c&quot;&gt;#define N 1000000000&lt;/span&gt;

int main&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;void&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
    double &lt;span class=&quot;nb&quot;&gt;sum&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; 0.0&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;

    // Setup progress bar
    CPB_Config config &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; cpb_get_default_config&lt;span class=&quot;o&quot;&gt;()&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;
    config.description &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;Processing&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;                // Default: &lt;span class=&quot;s2&quot;&gt;&quot;&quot;&lt;/span&gt;
    config.min_refresh_time &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; 0.1&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;                    // Minimum refresh &lt;span class=&quot;nb&quot;&gt;time &lt;/span&gt;&lt;span class=&quot;k&quot;&gt;in &lt;/span&gt;seconds. Default: 0.1.
    config.timer_remaining_time_recent_weight &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; 0.3&lt;span class=&quot;p&quot;&gt;;&lt;/span&gt;  // Weight &lt;span class=&quot;k&quot;&gt;for &lt;/span&gt;recent rate &lt;span class=&quot;k&quot;&gt;in &lt;/span&gt;remaining &lt;span class=&quot;nb&quot;&gt;time &lt;/span&gt;estimation. Range: &lt;span class=&quot;o&quot;&gt;[&lt;/span&gt;0, 1]. Default: 0.3.

    // You don&lt;span class=&quot;s1&quot;&gt;&apos;t need to modify anything for CPB_ProgressBar.
    // Just call cpb_init
    CPB_ProgressBar progress_bar;
    cpb_init(&amp;amp;progress_bar, 0, N, config);

    // Main loop
    cpb_start(&amp;amp;progress_bar);
    for (int64_t i = 0; i &amp;lt;= N; i++)
    {
        if (i % 1000 == 0)
        {
            cpb_update(&amp;amp;progress_bar, i);
        }

        sum += (i % 100) * 0.0001;
    }
    cpb_finish(&amp;amp;progress_bar);

    printf(&quot;Final result: %f\n&quot;, sum);

    return 0;
}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;hr /&gt;

&lt;p&gt;Para mais informações acesse o &lt;a href=&quot;https://github.com/c-modules/c_progress_bar&quot;&gt;repositório&lt;/a&gt;&lt;/p&gt;

&lt;h2 id=&quot;aprenda-c&quot;&gt;&lt;a href=&quot;https://terminalroot.com.br/c&quot;&gt;Aprenda C&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id=&quot;httpsterminalrootcombrc&quot;&gt;&lt;a href=&quot;https://terminalroot.com.br/c&quot;&gt;https://terminalroot.com.br/c&lt;/a&gt;&lt;/h3&gt;

</description>
        <pubDate>Sat, 09 May 2026 18:50:27 +0000</pubDate>
        <link>https://terminalroot.com.br/2026/05/crie-facilmente-barras-de-progresso-em-c.html</link>
        <guid isPermaLink="true">https://terminalroot.com.br/2026/05/crie-facilmente-barras-de-progresso-em-c.html</guid>
        
        <category>linguagemc</category>
        
        
      </item>
    
      <item>
        <title>Quickshell: construa seu próprio desktop no Linux</title>
        <description>&lt;p&gt;&lt;img src=&quot;/assets/img/gnulinux/img-quick-shell-800.jpg&quot; alt=&quot;Quickshell: construa seu próprio desktop no Linux&quot; title=&quot;🔳 Em vez de depender de soluções prontas (Waybar, Polybar, ...), você cria o seu próprio.&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;O &lt;strong&gt;Quickshell&lt;/strong&gt; é um toolkit moderno feito com &lt;a href=&quot;https://terminalroot.com.br/tags#cpp&quot;&gt;C++&lt;/a&gt; para criar componentes de interface de desktop — barras, widgets, lock screens, launchers e até ambientes completos — usando &lt;a href=&quot;https://terminalroot.com.br/tags#qt&quot;&gt;QtQuick + QML&lt;/a&gt;.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Não é um “programa de barra”.&lt;/li&gt;
  &lt;li&gt;Também não é um desktop completo pronto.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;É uma &lt;strong&gt;base para construir um desktop customizado&lt;/strong&gt;, rodando junto com um compositor como Hyprland, Sway ou i3.&lt;/p&gt;

&lt;p&gt;Na prática, ele substitui várias peças:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;barra (status bar)&lt;/li&gt;
  &lt;li&gt;notificações&lt;/li&gt;
  &lt;li&gt;widgets&lt;/li&gt;
  &lt;li&gt;lockscreen&lt;/li&gt;
  &lt;li&gt;display manager&lt;/li&gt;
  &lt;li&gt;controles de sistema&lt;/li&gt;
&lt;/ul&gt;

&lt;!-- SQUARE - GAMES ROOT --&gt;
&lt;script async=&quot;&quot; src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display:inline-block;width:336px;height:280px&quot; data-ad-client=&quot;ca-pub-2838251107855362&quot; data-ad-slot=&quot;5351066970&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;exemplo&quot;&gt;Exemplo&lt;/h2&gt;

&lt;p&gt;O Quickshell usa:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;QtQuick (UI)&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;QML (configuração/programação)&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;Hot reload (salvou → atualizou na hora) ([Quickshell][2])&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Exemplo simples (barra):&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-qml&quot; data-lang=&quot;qml&quot;&gt;&lt;span class=&quot;kt&quot;&gt;PanelWindow&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
  &lt;span class=&quot;kt&quot;&gt;anchors&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;nl&quot;&gt;top&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;
    &lt;span class=&quot;nl&quot;&gt;left&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;
    &lt;span class=&quot;nl&quot;&gt;right&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;

  &lt;span class=&quot;nl&quot;&gt;implicitHeight&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;30&lt;/span&gt;

  &lt;span class=&quot;kt&quot;&gt;Text&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;nl&quot;&gt;anchors.centerIn&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;parent&lt;/span&gt;
    &lt;span class=&quot;nl&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;hello world&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;
  &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h3 id=&quot;integrações-nativas&quot;&gt;Integrações nativas:&lt;/h3&gt;

&lt;p&gt;Um dos pontos fortes é já vir integrado com o sistema:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Wayland + X11 (windowing)&lt;/li&gt;
  &lt;li&gt;Hyprland, i3, Sway (workspaces)&lt;/li&gt;
  &lt;li&gt;PipeWire (áudio)&lt;/li&gt;
  &lt;li&gt;BlueZ (Bluetooth)&lt;/li&gt;
  &lt;li&gt;UPower (bateria)&lt;/li&gt;
  &lt;li&gt;MPRIS (players de mídia)&lt;/li&gt;
  &lt;li&gt;system tray padrão&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Isso elimina muito boilerplate.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;instalação&quot;&gt;Instalação&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;Arch Linux / EndeavourOS / Manjaro&lt;/li&gt;
&lt;/ul&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;yay &lt;span class=&quot;nt&quot;&gt;-S&lt;/span&gt; quickshell
&lt;span class=&quot;c&quot;&gt;### Ou&lt;/span&gt;
paru &lt;span class=&quot;nt&quot;&gt;-S&lt;/span&gt; quickshell&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Ou construa do zero em qualquer sistema:&lt;/p&gt;

&lt;p&gt;Dependências:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;apt &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;cmake ninja-build qt6-base-dev qt6-declarative-dev &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
qt6-wayland wayland-protocols libpipewire-0.3-dev &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
libdbus-1-dev libxkbcommon-dev&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Clone:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;git clone https://github.com/quickshell-mirror/quickshell.git
&lt;span class=&quot;nb&quot;&gt;cd &lt;/span&gt;quickshell&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Construa:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;cmake &lt;span class=&quot;nt&quot;&gt;-B&lt;/span&gt; build &lt;span class=&quot;nt&quot;&gt;-G&lt;/span&gt; Ninja
cmake &lt;span class=&quot;nt&quot;&gt;--build&lt;/span&gt; build&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Instale:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;cmake &lt;span class=&quot;nt&quot;&gt;--install&lt;/span&gt; build&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Rode:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;quickshell&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Configuração:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;~/.config/quickshell/main.qml&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Exemplo mínimo:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-qml&quot; data-lang=&quot;qml&quot;&gt;&lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;QtQuick&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;Quickshell&lt;/span&gt;

&lt;span class=&quot;kt&quot;&gt;PanelWindow&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;nl&quot;&gt;anchors.top&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;
    &lt;span class=&quot;nl&quot;&gt;anchors.left&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;
    &lt;span class=&quot;nl&quot;&gt;anchors.right&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;kc&quot;&gt;true&lt;/span&gt;
    &lt;span class=&quot;nl&quot;&gt;implicitHeight&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;30&lt;/span&gt;

    &lt;span class=&quot;kt&quot;&gt;Text&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;nl&quot;&gt;anchors.centerIn&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;nx&quot;&gt;parent&lt;/span&gt;
        &lt;span class=&quot;nl&quot;&gt;text&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt; &lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;Quickshell funcionando&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&quot;&lt;/span&gt;
    &lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;p&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;ul&gt;
  &lt;li&gt;Funciona melhor em &lt;strong&gt;Wayland&lt;/strong&gt; (Hyprland, Sway, etc.)&lt;/li&gt;
  &lt;li&gt;Em X11 pode ser limitado&lt;/li&gt;
  &lt;li&gt;Ainda está em desenvolvimento → bugs são normais&lt;/li&gt;
  &lt;li&gt;Sem config = tela vazia&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;Para mais informações acesse o &lt;a href=&quot;https://github.com/quickshell-mirror/quickshell&quot;&gt;repositório&lt;/a&gt;.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;aprenda-qt&quot;&gt;&lt;a href=&quot;https://terminalroot.com.br/qt&quot;&gt;Aprenda Qt&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id=&quot;httpsterminalrootcombrqt&quot;&gt;&lt;a href=&quot;https://terminalroot.com.br/qt&quot;&gt;https://terminalroot.com.br/qt&lt;/a&gt;&lt;/h3&gt;
&lt;h2 id=&quot;aprenda-c-completo&quot;&gt;&lt;a href=&quot;https://terminalroot.com.br/promo&quot;&gt;Aprenda C++ Completo&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id=&quot;httpsterminalrootcombrpromo&quot;&gt;&lt;a href=&quot;https://terminalroot.com.br/promo&quot;&gt;https://terminalroot.com.br/promo&lt;/a&gt;&lt;/h3&gt;

</description>
        <pubDate>Wed, 06 May 2026 09:23:06 +0000</pubDate>
        <link>https://terminalroot.com.br/2026/05/quickshell-construa-seu-proprio-desktop-no-linux.html</link>
        <guid isPermaLink="true">https://terminalroot.com.br/2026/05/quickshell-construa-seu-proprio-desktop-no-linux.html</guid>
        
        <category>cpp</category>
        
        <category>qt</category>
        
        <category>gnulinux</category>
        
        
      </item>
    
      <item>
        <title>Conheça esse docking moderno para JavaFX</title>
        <description>&lt;p&gt;&lt;img src=&quot;/assets/img/java/the-snapfx.png&quot; alt=&quot;Conheça esse docking moderno para JavaFX&quot; title=&quot;☕ Monte layouts estilo IDE em JavaFX sem limitações e sem gambiarras.&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;O &lt;strong&gt;SnapFX&lt;/strong&gt; é um &lt;strong&gt;framework de docking para JavaFX&lt;/strong&gt;, focado em criar interfaces flexíveis no estilo:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;IntelliJ / VS Code&lt;/li&gt;
  &lt;li&gt;IDEs em geral&lt;/li&gt;
  &lt;li&gt;ferramentas com múltiplos painéis&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Leve e moderno, pensado para layouts dinâmicos e organizados, sem você ter que reinventar drag &amp;amp; drop de janelas.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;instalação&quot;&gt;Instalação&lt;/h2&gt;
&lt;p&gt;Via &lt;a href=&quot;https://terminalroot.com.br/2023/05/como-utilizar-o-gradle.html&quot;&gt;Gradle&lt;/a&gt;&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;implementation&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;org.snapfx:snapfx-core:&amp;lt;version&amp;gt;&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Construa:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;git clone https://github.com/Beowolve/SnapFX.git
./gradlew publishToMavenLocal&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Exemplo Simples:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-java&quot; data-lang=&quot;java&quot;&gt;&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;org.snapfx.SnapFX&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;javafx.application.Application&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;javafx.scene.Scene&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;javafx.scene.control.TextArea&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;javafx.stage.Stage&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;;&lt;/span&gt;

&lt;span class=&quot;kd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;SimpleDemo&lt;/span&gt; &lt;span class=&quot;kd&quot;&gt;extends&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;Application&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
    &lt;span class=&quot;nd&quot;&gt;@Override&lt;/span&gt;
    &lt;span class=&quot;kd&quot;&gt;public&lt;/span&gt; &lt;span class=&quot;kt&quot;&gt;void&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;start&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;nc&quot;&gt;Stage&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;stage&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;{&lt;/span&gt;
        &lt;span class=&quot;nc&quot;&gt;SnapFX&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;snapFX&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;SnapFX&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;

        &lt;span class=&quot;c1&quot;&gt;// Dock nodes&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;snapFX&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;dock&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;TextArea&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Editor 1&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;),&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;Editor&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;snapFX&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;dock&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;TextArea&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Console&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;),&lt;/span&gt; &lt;span class=&quot;s&quot;&gt;&quot;Console&quot;&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;

        &lt;span class=&quot;c1&quot;&gt;// Build layout&lt;/span&gt;
        &lt;span class=&quot;nc&quot;&gt;Scene&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;scene&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;new&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;Scene&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;snapFX&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;buildLayout&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(),&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;800&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;600&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;

        &lt;span class=&quot;n&quot;&gt;stage&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;setScene&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;scene&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;snapFX&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;initialize&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;stage&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;);&lt;/span&gt;
        &lt;span class=&quot;c1&quot;&gt;// Optional: switch theme at runtime via named catalog entry&lt;/span&gt;
        &lt;span class=&quot;c1&quot;&gt;// snapFX.setThemeStylesheet(SnapFX.getAvailableThemeStylesheets().get(&quot;Dark&quot;));&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;stage&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;na&quot;&gt;show&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;();&lt;/span&gt;
    &lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;
&lt;span class=&quot;o&quot;&gt;}&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;hr /&gt;

&lt;p&gt;Para mais informações acesse o &lt;a href=&quot;https://github.com/Beowolve/SnapFX&quot;&gt;repositório&lt;/a&gt;.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;aprenda-java&quot;&gt;&lt;a href=&quot;https://terminalroot.com.br/java&quot;&gt;Aprenda Java&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id=&quot;httpsterminalrootcombrjava&quot;&gt;&lt;a href=&quot;https://terminalroot.com.br/java&quot;&gt;https://terminalroot.com.br/java&lt;/a&gt;&lt;/h3&gt;

</description>
        <pubDate>Wed, 06 May 2026 08:57:15 +0000</pubDate>
        <link>https://terminalroot.com.br/2026/05/conheca-esse-docking-moderno-para-javafx.html</link>
        <guid isPermaLink="true">https://terminalroot.com.br/2026/05/conheca-esse-docking-moderno-para-javafx.html</guid>
        
        <category>java</category>
        
        
      </item>
    
      <item>
        <title>Adicionei um Jogo ao Sistema Operacional Que Eu Criei</title>
        <description>&lt;p&gt;&lt;img src=&quot;/assets/img/cpp/terminal-snake.jpg&quot; alt=&quot;Adicionei um Jogo ao Sistema Operacional Que Eu Criei&quot; title=&quot;▶️ Nesse vídeo mostrei como desenvolvi um jogo baremetal.&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;☕ Nesse vídeo mostrei como desenvolvi um &lt;a href=&quot;https://terminalroot.com.br/tags#games&quot;&gt;jogo&lt;/a&gt; &lt;strong&gt;baremetal&lt;/strong&gt; em um projeto de de &lt;a href=&quot;https://terminalroot.com.br/tags#so&quot;&gt;sistema operacional&lt;/a&gt; para jogos de &lt;a href=&quot;https://terminalroot.com.br/tags#terminal&quot;&gt;terminal&lt;/a&gt; que estou desenvolvendo com &lt;a href=&quot;https://terminalroot.com.br/cpp&quot;&gt;C++&lt;/a&gt; e &lt;a href=&quot;https://terminalroot.com.br/tags#assembly&quot;&gt;GNU Assembler&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;Esse vídeo é continuação &lt;a href=&quot;https://youtu.be/3GwRF0IK1Ks&quot;&gt;desse vídeo&lt;/a&gt; e esse é o &lt;a href=&quot;https://github.com/terroo/terminalroot-os&quot;&gt;repositório do projeto&lt;/a&gt;.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;assista-ao-vídeo&quot;&gt;Assista ao Vídeo&lt;/h2&gt;

&lt;iframe width=&quot;1280&quot; height=&quot;720&quot; src=&quot;https://www.youtube.com/embed/L9uUPg9q_eI&quot; title=&quot;Adicionei um Jogo ao Sistema Operacional Que Eu Criei&quot; frameborder=&quot;0&quot; allow=&quot;accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture&quot; allowfullscreen=&quot;&quot;&gt;&lt;/iframe&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;aprenda&quot;&gt;Aprenda:&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;👑 Aprenda a criar sua própria linguagem de programação: &lt;a href=&quot;https://terminalroot.com.br/mylang&quot;&gt;https://terminalroot.com.br/mylang&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;✅ Aprenda Criação de Games com C++ e SFML: &lt;a href=&quot;https://terminalroot.com.br/games&quot;&gt;https://terminalroot.com.br/games&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;✅ Pacote Promocional C++: &lt;a href=&quot;https://terminalroot.com.br/promo&quot;&gt;https://terminalroot.com.br/promo&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;✅ Aprenda C++ e Qt: &lt;a href=&quot;https://terminalroot.com.br/cpp&quot;&gt;https://terminalroot.com.br/cpp&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;✅ Conheça nossos Cursos: &lt;a href=&quot;https://bit.ly/CursosTerminalRoot&quot;&gt;https://bit.ly/CursosTerminalRoot&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;🎁 Todos os Cursos na Udemy: &lt;a href=&quot;https://bit.ly/UdemyTerminalRoot&quot;&gt;https://bit.ly/UdemyTerminalRoot&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <pubDate>Sun, 19 Apr 2026 18:18:32 +0000</pubDate>
        <link>https://terminalroot.com.br/2026/04/adicionei-um-jogo-ao-sistema-operacional-que-eu-criei.html</link>
        <guid isPermaLink="true">https://terminalroot.com.br/2026/04/adicionei-um-jogo-ao-sistema-operacional-que-eu-criei.html</guid>
        
        <category>cpp</category>
        
        <category>so</category>
        
        <category>terminal</category>
        
        <category>games</category>
        
        
      </item>
    
      <item>
        <title>Faça roteamento de Tráfego de aplicações via linha de comando</title>
        <description>&lt;p&gt;&lt;img src=&quot;/assets/img/go/tori-cli.jpg&quot; alt=&quot;Faça roteamento de Tráfego de aplicações via linha de comando&quot; title=&quot;🛜 Uma ferramenta voltada para uso com a rede Tor.&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;O &lt;strong&gt;toricli.sh&lt;/strong&gt; é uma ferramenta escrita em &lt;a href=&quot;https://terminalroot.com.br/tags#go&quot;&gt;Go&lt;/a&gt;, focado em facilitar o roteamento de tráfego de aplicações via linha de comando. A proposta é simplificar o uso de anonimização no Linux sem depender de configurações complexas.&lt;/p&gt;

&lt;p&gt;Ele entra na mesma categoria de ferramentas como &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;torsocks&lt;/code&gt;, mas com uma abordagem mais direta e automatizada.&lt;/p&gt;

&lt;!-- SQUARE - GAMES ROOT --&gt;
&lt;script async=&quot;&quot; src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display:inline-block;width:336px;height:280px&quot; data-ad-client=&quot;ca-pub-2838251107855362&quot; data-ad-slot=&quot;5351066970&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;instalação&quot;&gt;Instalação&lt;/h2&gt;
&lt;blockquote&gt;
  &lt;p&gt;Para &lt;a href=&quot;https://terminalroot.com.br/tags#windows&quot;&gt;Windows&lt;/a&gt; use o &lt;a href=&quot;https://learn.microsoft.com/pt-br/windows/wsl/install&quot;&gt;WSL&lt;/a&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;c&quot;&gt;# systemd&lt;/span&gt;
curl &lt;span class=&quot;nt&quot;&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/thobiasn/tori-cli/main/deploy/install.sh | &lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;sh

&lt;span class=&quot;c&quot;&gt;# Arch&lt;/span&gt;
yay &lt;span class=&quot;nt&quot;&gt;-S&lt;/span&gt; tori-cli-bin

&lt;span class=&quot;c&quot;&gt;# macOS&lt;/span&gt;
curl &lt;span class=&quot;nt&quot;&gt;-fsSL&lt;/span&gt; https://raw.githubusercontent.com/thobiasn/tori-cli/main/deploy/install.sh | sh &lt;span class=&quot;nt&quot;&gt;-s&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;--&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;--client&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Docker:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;docker run &lt;span class=&quot;nt&quot;&gt;-d&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;--name&lt;/span&gt; tori &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;--restart&lt;/span&gt; unless-stopped &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;--pid&lt;/span&gt; host &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;-v&lt;/span&gt; /var/run/docker.sock:/var/run/docker.sock:ro &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;-v&lt;/span&gt; /proc:/host/proc:ro &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;-v&lt;/span&gt; /sys:/host/sys:ro &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;-v&lt;/span&gt; /run/tori:/run/tori &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;-v&lt;/span&gt; tori-data:/var/lib/tori &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  &lt;span class=&quot;nt&quot;&gt;-v&lt;/span&gt; ./config.toml:/etc/tori/config.toml:ro &lt;span class=&quot;se&quot;&gt;\&lt;/span&gt;
  ghcr.io/thobiasn/tori-cli:latest&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;exemplo-de-uso&quot;&gt;Exemplo de uso&lt;/h2&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;toricli curl example.com&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;E o tráfego sai anonimizado.&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;Para mais informações acesse: &lt;a href=&quot;https://toricli.sh/&quot;&gt;https://toricli.sh/&lt;/a&gt;.&lt;/p&gt;

</description>
        <pubDate>Wed, 15 Apr 2026 22:00:27 +0000</pubDate>
        <link>https://terminalroot.com.br/2026/04/faca-roteamento-de-trafego-de-aplicacoes-via-linha-de-comando.html</link>
        <guid isPermaLink="true">https://terminalroot.com.br/2026/04/faca-roteamento-de-trafego-de-aplicacoes-via-linha-de-comando.html</guid>
        
        <category>rede</category>
        
        <category>go</category>
        
        <category>terminal</category>
        
        
      </item>
    
      <item>
        <title>Pyrite64, engine moderna para Nintendo 64</title>
        <description>&lt;p&gt;&lt;img src=&quot;/assets/img/gamedev/pyrite64.jpg&quot; alt=&quot;Pyrite64, engine moderna para Nintendo 64&quot; title=&quot;🎮 Apesar de ter Py de Python esse motor é para desenvolvimento(scripts) com C++ ou C. &quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;&lt;strong&gt;Pyrite64&lt;/strong&gt; é uma engine + editor visual open source para criar jogos &lt;strong&gt;3D nativos de Nintendo 64&lt;/strong&gt; — não “estilo N64”, mas que rodam de verdade no hardware original ou em emuladores precisos. Para desenvolvimento(scripts) com &lt;a href=&quot;https://terminalroot.com.br/cpp&quot;&gt;C++&lt;/a&gt; ou &lt;a href=&quot;https://terminalroot.com.br/c&quot;&gt;C&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Qual a ideia?&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Substituir o workflow antigo (SDKs confusos + toolchains quebradas)&lt;/li&gt;
  &lt;li&gt;Trazer algo mais próximo de Unity/Godot, mas focado no N64&lt;/li&gt;
  &lt;li&gt;Gerar ROMs reais compatíveis com o console&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Com:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Editor visual com gerenciamento de cenas&lt;/li&gt;
  &lt;li&gt;Import de modelos (GLTF / Blender + Fast64)&lt;/li&gt;
  &lt;li&gt;Node graph (script visual básico)&lt;/li&gt;
  &lt;li&gt;Engine runtime (render, colisão, áudio, etc.)&lt;/li&gt;
  &lt;li&gt;HDR + bloom adaptado ao N64&lt;/li&gt;
  &lt;li&gt;Asset manager com limpeza automática ([AlternativeTo][2])&lt;/li&gt;
&lt;/ul&gt;

&lt;!-- SQUARE - GAMES ROOT --&gt;
&lt;script async=&quot;&quot; src=&quot;//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js&quot;&gt;&lt;/script&gt;

&lt;p&gt;&lt;ins class=&quot;adsbygoogle&quot; style=&quot;display:inline-block;width:336px;height:280px&quot; data-ad-client=&quot;ca-pub-2838251107855362&quot; data-ad-slot=&quot;5351066970&quot;&gt;&lt;/ins&gt;
&lt;script&gt;
(adsbygoogle = window.adsbygoogle || []).push({});
&lt;/script&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;instalação&quot;&gt;Instalação&lt;/h2&gt;

&lt;h3 id=&quot;windows&quot;&gt;&lt;a href=&quot;https://terminalroot.com.br/tags#windows&quot;&gt;Windows&lt;/a&gt;&lt;/h3&gt;
&lt;p&gt;O próprio projeto automatiza quase tudo.&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Baixe o release (ou clone o repo)&lt;/li&gt;
  &lt;li&gt;Execute o editor&lt;/li&gt;
  &lt;li&gt;Ele instala automaticamente:&lt;/li&gt;
&lt;/ol&gt;

&lt;h3 id=&quot;gnulinux&quot;&gt;&lt;a href=&quot;https://terminalroot.com.br/tags#gnulinux&quot;&gt;GNU/Linux&lt;/a&gt;&lt;/h3&gt;

&lt;p&gt;Dependências:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://terminalroot.com.br/tags#gcc&quot;&gt;GCC&lt;/a&gt;/&lt;a href=&quot;https://terminalroot.com.br/tags#llvm&quot;&gt;Clang&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://terminalroot.com.br/tags#cmake&quot;&gt;CMake&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;libs&lt;/code&gt; básicas de &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;build&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;toolchain do &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;libdragon&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Depois é só clonar, compilar e instalar&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;git clone https://github.com/HailToDodongo/pyrite64
&lt;span class=&quot;nb&quot;&gt;cd &lt;/span&gt;pyrite64
&lt;span class=&quot;nb&quot;&gt;mkdir &lt;/span&gt;build &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;cd &lt;/span&gt;build
cmake ..
make
&lt;span class=&quot;nb&quot;&gt;sudo &lt;/span&gt;make &lt;span class=&quot;nb&quot;&gt;install&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;primeiros-passos&quot;&gt;Primeiros passos&lt;/h2&gt;

&lt;ol&gt;
  &lt;li&gt;Criar projeto&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Dentro do editor:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;New Project&lt;/li&gt;
  &lt;li&gt;Define nome + pasta&lt;/li&gt;
  &lt;li&gt;Ele cria estrutura com &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;project.p64proj&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;ol&gt;
  &lt;li&gt;Configurar toolchain + emulador&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Arquivo:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-json&quot; data-lang=&quot;json&quot;&gt;&lt;span class=&quot;err&quot;&gt;project.p&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;64&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;proj&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Campos importantes:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-json&quot; data-lang=&quot;json&quot;&gt;&lt;span class=&quot;nl&quot;&gt;&quot;pathEmu&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;ares&quot;&lt;/span&gt;&lt;span class=&quot;err&quot;&gt;,&lt;/span&gt;&lt;span class=&quot;w&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;nl&quot;&gt;&quot;pathN64Inst&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;&lt;span class=&quot;w&quot;&gt; &lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;/caminho/toolchain&quot;&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;pathEmu&lt;/code&gt; → comando do emulador&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;pathN64Inst&lt;/code&gt; → raiz da toolchain ([Instagit][3])&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;ol&gt;
  &lt;li&gt;Importar assets&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Fluxo típico:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Modela no Blender&lt;/li&gt;
  &lt;li&gt;Exporta GLTF&lt;/li&gt;
  &lt;li&gt;Importa no editor&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
  &lt;li&gt;Montar cena&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
  &lt;li&gt;Adiciona objetos&lt;/li&gt;
  &lt;li&gt;Ajusta transform&lt;/li&gt;
  &lt;li&gt;Define materiais&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;ol&gt;
  &lt;li&gt;Lógica do jogo&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Duas opções:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Node graph (visual)&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://terminalroot.com.br/promo&quot;&gt;C++&lt;/a&gt; (mais controle)&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
  &lt;li&gt;Build e rodar&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
  &lt;li&gt;Botão “Run”&lt;/li&gt;
  &lt;li&gt;Gera ROM&lt;/li&gt;
  &lt;li&gt;Abre no emulador automaticamente&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;p&gt;Para mais informações acesse o &lt;a href=&quot;https://hailtododongo.github.io/pyrite64/docs/faq.html#do-i-need-to-know-programming&quot;&gt;site oficial com FAQ&lt;/a&gt;.&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;veja-também&quot;&gt;Veja também:&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;https://terminalroot.com.br/sfml/&quot;&gt;Curso de Criação de Games com C++ e SFML para Windows e Linux&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;https://terminalroot.com.br/cpp/&quot;&gt;Curso Moderno de C++&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
        <pubDate>Sun, 12 Apr 2026 22:06:32 +0000</pubDate>
        <link>https://terminalroot.com.br/2026/04/pyrite64-engine-moderna-para-nintendo-64.html</link>
        <guid isPermaLink="true">https://terminalroot.com.br/2026/04/pyrite64-engine-moderna-para-nintendo-64.html</guid>
        
        <category>gamedev</category>
        
        <category>cpp</category>
        
        <category>linguagemc</category>
        
        <category>c</category>
        
        
      </item>
    
      <item>
        <title>Visualize Áudio com Python</title>
        <description>&lt;p&gt;&lt;img src=&quot;/assets/img/python/librosa.jpg&quot; alt=&quot;Visualize Áudio com Python&quot; title=&quot;📢 Muito usada em IA, DSP e projetos musicais.&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;O &lt;strong&gt;Librosa&lt;/strong&gt; é uma biblioteca &lt;a href=&quot;https://terminalroot.com.br/python&quot;&gt;Python&lt;/a&gt; focada em &lt;strong&gt;análise e processamento de áudio e música&lt;/strong&gt;.&lt;/p&gt;

&lt;p&gt;Uma lib construída sobre NumPy/SciPy para trabalhar com &lt;strong&gt;sinais de áudio no domínio do tempo e da frequência&lt;/strong&gt;. Muito usada em &lt;strong&gt;IA, DSP e projetos musicais&lt;/strong&gt;.&lt;/p&gt;

&lt;hr /&gt;

&lt;h3 id=&quot;instalação-python&quot;&gt;Instalação (Python)&lt;/h3&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;pip &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;librosa matplotlib&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Se der erro com áudio:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;pip &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;soundfile&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;&lt;strong&gt;Em distros &lt;a href=&quot;https://terminalroot.com.br/tags#gnulinux&quot;&gt;GNU/Linux&lt;/a&gt; é necessário antes criar um ambiente virtual pra usar o PIP&lt;/strong&gt;&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;python &lt;span class=&quot;nt&quot;&gt;-m&lt;/span&gt; venv venv
&lt;span class=&quot;nb&quot;&gt;source &lt;/span&gt;venv/bin/activate&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;exemplo-de-uso&quot;&gt;Exemplo de uso&lt;/h2&gt;
&lt;blockquote&gt;
  &lt;p&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;main.py&lt;/code&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-python&quot; data-lang=&quot;python&quot;&gt;&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;librosa&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;librosa.display&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;matplotlib.pyplot&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;

&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sr&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;librosa&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;load&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;librosa&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;example&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&apos;trumpet&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;figure&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;figsize&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;10&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;4&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;))&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;librosa&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;display&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;waveshow&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;y&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;sr&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;sr&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;title&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&quot;Waveform of Sample Audio&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
&lt;span class=&quot;n&quot;&gt;plt&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;show&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Execute o código:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;python main.py&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;hr /&gt;

&lt;p&gt;Para mais informações acesse o &lt;a href=&quot;https://librosa.org/&quot;&gt;site oficial da Librosa&lt;/a&gt;.&lt;/p&gt;

&lt;h2 id=&quot;aprenda-python-do-zero&quot;&gt;&lt;a href=&quot;https://terminalroot.com.br/python&quot;&gt;Aprenda Python do Zero&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id=&quot;httpsterminalrootcombrpython&quot;&gt;&lt;a href=&quot;https://terminalroot.com.br/python&quot;&gt;https://terminalroot.com.br/python&lt;/a&gt;&lt;/h3&gt;

</description>
        <pubDate>Wed, 08 Apr 2026 11:36:22 +0000</pubDate>
        <link>https://terminalroot.com.br/2026/04/visualize-audio-com-python.html</link>
        <guid isPermaLink="true">https://terminalroot.com.br/2026/04/visualize-audio-com-python.html</guid>
        
        <category>python</category>
        
        <category>multimidia</category>
        
        
      </item>
    
      <item>
        <title>TermMark: Markdown direto no terminal, sem dependências</title>
        <description>&lt;p&gt;&lt;img src=&quot;/assets/img/terminal/termark.jpg&quot; alt=&quot;TermMark: Markdown direto no terminal, sem dependências&quot; title=&quot;Se você curte CLI raiz e produtividade, um visualizador de Markdown minimalista feito em C++ que roda direto no terminal.&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;O TermMark é um &lt;strong&gt;Markdown viewer para terminal&lt;/strong&gt;, focado em simplicidade e performance. Ele renderiza arquivos &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;.md&lt;/code&gt; com formatação legível — sem precisar de browser, Electron ou libs pesadas.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;strong&gt;Zero dependências&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Extremamente leve (C++)&lt;/strong&gt;&lt;/li&gt;
  &lt;li&gt;&lt;strong&gt;Interface baseada em terminal (TUI simples)&lt;/strong&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;instalação&quot;&gt;Instalação&lt;/h2&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;git clone https://github.com/ishanawal/TermMark.git
&lt;span class=&quot;nb&quot;&gt;cd &lt;/span&gt;TermMark
&lt;span class=&quot;nb&quot;&gt;mkdir &lt;/span&gt;build &lt;span class=&quot;o&quot;&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;cd &lt;/span&gt;build
cmake ..
make
&lt;span class=&quot;nb&quot;&gt;sudo install&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-v&lt;/span&gt; termmark /usr/local/bin/
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Para utilizar consulte o &lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;help&lt;/code&gt; rápido:&lt;/p&gt;

&lt;div class=&quot;language-bash highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;termmark &lt;span class=&quot;nt&quot;&gt;--help&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;p&gt;Para mais informações acesse o repositório: &lt;a href=&quot;https://github.com/ishanawal/TermMark&quot;&gt;https://github.com/ishanawal/TermMark&lt;/a&gt;.&lt;/p&gt;

</description>
        <pubDate>Tue, 07 Apr 2026 19:13:05 +0000</pubDate>
        <link>https://terminalroot.com.br/2026/04/termmark-markdown-direto-no-terminal-sem-dependencias.html</link>
        <guid isPermaLink="true">https://terminalroot.com.br/2026/04/termmark-markdown-direto-no-terminal-sem-dependencias.html</guid>
        
        <category>terminal</category>
        
        <category>cli</category>
        
        <category>markdown</category>
        
        <category>cpp</category>
        
        
      </item>
    
      <item>
        <title>Gere Circuitos Lógicos com Python</title>
        <description>&lt;p&gt;&lt;img src=&quot;/assets/img/python/python-tip-02.jpg&quot; alt=&quot;Gere Circuitos Lógicos com Python&quot; title=&quot;Desenhe e conecte portas: AND, OR, NOT, NAND, etc&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;dependências&quot;&gt;Dependências&lt;/h2&gt;
&lt;ul&gt;
  &lt;li&gt;Windows, instale o &lt;a href=&quot;https://pip.pypa.io/en/stable/installation/&quot;&gt;PIP&lt;/a&gt; e depois instale o Schemdraw com o PIP:&lt;/li&gt;
&lt;/ul&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;pip &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;schemdraw&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;ul&gt;
  &lt;li&gt;Em GNU, Linux e UNIX, crie um ambiente virtual e instale com o PIP:&lt;/li&gt;
&lt;/ul&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nb&quot;&gt;mkdir&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-p&lt;/span&gt; ~/.local/bin
python &lt;span class=&quot;nt&quot;&gt;-m&lt;/span&gt; venv ~/.local/bin/venv
&lt;span class=&quot;nb&quot;&gt;.&lt;/span&gt; ~/.local/bin/venv/bin/activate
pip &lt;span class=&quot;nb&quot;&gt;install &lt;/span&gt;schemdraw&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Código Python:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-python&quot; data-lang=&quot;python&quot;&gt;&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;schemdraw&lt;/span&gt;
&lt;span class=&quot;kn&quot;&gt;import&lt;/span&gt; &lt;span class=&quot;nn&quot;&gt;schemdraw.logic&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;logic&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;with&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;schemdraw&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Drawing&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;as&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;d&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;:&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;d&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;logic&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;And&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;inputs&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;).&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&apos;blue&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;d&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;logic&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Or&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;().&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;right&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;().&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&apos;green&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;d&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;logic&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;Not&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;().&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;right&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;().&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;color&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s&quot;&gt;&apos;red&apos;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;n&quot;&gt;d&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;draw&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;()&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;aprenda-python&quot;&gt;&lt;a href=&quot;https://terminalroot.com.br/python&quot;&gt;Aprenda Python&lt;/a&gt;&lt;/h2&gt;
&lt;h3 id=&quot;httpsterminalrootcombrpython&quot;&gt;&lt;a href=&quot;https://terminalroot.com.br/python&quot;&gt;https://terminalroot.com.br/python&lt;/a&gt;&lt;/h3&gt;

</description>
        <pubDate>Wed, 25 Mar 2026 10:56:19 +0000</pubDate>
        <link>https://terminalroot.com.br/2026/03/gere-circuitos-logicos-com-python.html</link>
        <guid isPermaLink="true">https://terminalroot.com.br/2026/03/gere-circuitos-logicos-com-python.html</guid>
        
        <category>python</category>
        
        
      </item>
    
      <item>
        <title>Instale esse Scanner de Rede Moderno modo TUI</title>
        <description>&lt;p&gt;&lt;img src=&quot;/assets/img/go/nibble.jpg&quot; alt=&quot;Instale esse Scanner de Rede Moderno modo TUI&quot; title=&quot;Feito em Go e muito rápido e sem dor de cabeça.&quot; /&gt;&lt;/p&gt;

&lt;hr /&gt;

&lt;p&gt;Se você já usou ferramentas como &lt;a href=&quot;https://terminalroot.com.br/2018/07/escaneado-redes-com-nmap.html&quot;&gt;nmap&lt;/a&gt; e achou pesado, verboso ou lento demais para tarefas simples, o &lt;strong&gt;Nibble&lt;/strong&gt; resolve exatamente esse problema.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Nibble&lt;/strong&gt; é um scanner de rede open-source focado em simplicidade, velocidade e usabilidade. Ele permite descobrir dispositivos e serviços na sua rede local sem precisar decorar comandos complexos ou configurar nada manualmente.Funciona em &lt;a href=&quot;https://terminalroot.com.br/tags#gnulinux&quot;&gt;GNU/Linux&lt;/a&gt;, &lt;a href=&quot;https://terminalroot.com.br/tags#macos&quot;&gt;macOS&lt;/a&gt; e &lt;a href=&quot;https://terminalroot.com.br/tags#windows&quot;&gt;Windows&lt;/a&gt; (x86 e ARM).&lt;/p&gt;

&lt;hr /&gt;

&lt;h2 id=&quot;instalação&quot;&gt;Instalação&lt;/h2&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;brew install backendsystems/tap/nibble&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;pipx install nibble-cli&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;npm install -g @backendsystems/nibble&lt;/code&gt;&lt;/li&gt;
  &lt;li&gt;&lt;code class=&quot;language-plaintext highlighter-rouge&quot;&gt;go install github.com/backendsystems/nibble@latest&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Ou rodar direto com:&lt;/p&gt;

&lt;div class=&quot;language-plaintext highlighter-rouge&quot;&gt;&lt;div class=&quot;highlight&quot;&gt;&lt;pre class=&quot;highlight&quot;&gt;&lt;code&gt;npx @backendsystems/nibble
&lt;/code&gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;

&lt;hr /&gt;

&lt;p&gt;Para mais informações acesse o &lt;a href=&quot;https://github.com/backendsystems/nibble&quot;&gt;repositório&lt;/a&gt;.&lt;/p&gt;

</description>
        <pubDate>Wed, 25 Mar 2026 10:37:46 +0000</pubDate>
        <link>https://terminalroot.com.br/2026/03/instale-esse-scanner-de-rede-moderno-modo-tui.html</link>
        <guid isPermaLink="true">https://terminalroot.com.br/2026/03/instale-esse-scanner-de-rede-moderno-modo-tui.html</guid>
        
        <category>go</category>
        
        <category>tui</category>
        
        <category>terminal</category>
        
        <category>rede</category>
        
        
      </item>
    
  </channel>
</rss>
