<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Forem: Marcos Oliveira</title>
    <description>The latest articles on Forem by Marcos Oliveira (@marcosplusplus).</description>
    <link>https://forem.com/marcosplusplus</link>
    <image>
      <url>https://media2.dev.to/dynamic/image/width=90,height=90,fit=cover,gravity=auto,format=auto/https:%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Fuser%2Fprofile_image%2F1516818%2F5fe49cd6-69f7-43f7-b3d9-e1168f95bcf1.jpg</url>
      <title>Forem: Marcos Oliveira</title>
      <link>https://forem.com/marcosplusplus</link>
    </image>
    <atom:link rel="self" type="application/rss+xml" href="https://forem.com/feed/marcosplusplus"/>
    <language>en</language>
    <item>
      <title>Pyrite64, a Modern Engine for Nintendo 64</title>
      <dc:creator>Marcos Oliveira</dc:creator>
      <pubDate>Mon, 13 Apr 2026 01:17:11 +0000</pubDate>
      <link>https://forem.com/marcosplusplus/pyrite64-a-modern-engine-for-nintendo-64-18mo</link>
      <guid>https://forem.com/marcosplusplus/pyrite64-a-modern-engine-for-nintendo-64-18mo</guid>
      <description>&lt;p&gt;&lt;strong&gt;Pyrite64&lt;/strong&gt; is an open-source engine + visual editor for creating &lt;strong&gt;native 3D Nintendo 64 games&lt;/strong&gt; — not "N64-style", but games that actually run on original hardware or accurate emulators. For development (scripting) with &lt;a href="https://terminalroot.com/tags#cpp" rel="noopener noreferrer"&gt;C++&lt;/a&gt; or &lt;a href="https://terminalroot.com/tags#clanguage" rel="noopener noreferrer"&gt;C&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;What's the idea?&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Replace the old workflow (confusing SDKs + broken toolchains)&lt;/li&gt;
&lt;li&gt;Bring something closer to Unity/Godot, but focused on the N64&lt;/li&gt;
&lt;li&gt;Generate real ROMs compatible with the console&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Features:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Visual editor with scene management&lt;/li&gt;
&lt;li&gt;Model import (GLTF / Blender + Fast64)&lt;/li&gt;
&lt;li&gt;Node graph (basic visual scripting)&lt;/li&gt;
&lt;li&gt;Runtime engine (rendering, collision, audio, etc.)&lt;/li&gt;
&lt;li&gt;HDR + bloom adapted for N64&lt;/li&gt;
&lt;li&gt;Asset manager with automatic cleanup ([AlternativeTo][2])&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://terminalroot.com/tags#windows" rel="noopener noreferrer"&gt;Windows&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;The project itself automates almost everything.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Download the release (or clone the repo)&lt;/li&gt;
&lt;li&gt;Run the editor&lt;/li&gt;
&lt;li&gt;It automatically installs everything:&lt;/li&gt;
&lt;/ol&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://terminalroot.com/tags#gnulinux" rel="noopener noreferrer"&gt;GNU/Linux&lt;/a&gt;
&lt;/h3&gt;

&lt;p&gt;Dependencies:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;a href="https://terminalroot.com/tags#gcc" rel="noopener noreferrer"&gt;GCC&lt;/a&gt;/&lt;a href="https://terminalroot.com/tags#llvm" rel="noopener noreferrer"&gt;Clang&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://terminalroot.com/tags#cmake" rel="noopener noreferrer"&gt;CMake&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Basic &lt;code&gt;build&lt;/code&gt; libs&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;libdragon&lt;/code&gt; toolchain&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Then just clone, compile, and install&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/HailToDodongo/pyrite64
&lt;span class="nb"&gt;cd &lt;/span&gt;pyrite64
&lt;span class="nb"&gt;mkdir &lt;/span&gt;build &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;cd &lt;/span&gt;build
cmake ..
make
&lt;span class="nb"&gt;sudo &lt;/span&gt;make &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Getting Started
&lt;/h2&gt;

&lt;ol&gt;
&lt;li&gt;Create a project&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Inside the editor:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;New Project&lt;/li&gt;
&lt;li&gt;Set name + folder&lt;/li&gt;
&lt;li&gt;It creates the structure with &lt;code&gt;project.p64proj&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;ol&gt;
&lt;li&gt;Configure toolchain + emulator&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;File:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="err"&gt;project.p&lt;/span&gt;&lt;span class="mi"&gt;64&lt;/span&gt;&lt;span class="err"&gt;proj&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Important fields:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="nl"&gt;"pathEmu"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"ares"&lt;/span&gt;&lt;span class="err"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="nl"&gt;"pathN64Inst"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/path/to/toolchain"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;pathEmu&lt;/code&gt; → emulator command&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;pathN64Inst&lt;/code&gt; → toolchain root ([Instagit][3])&lt;/li&gt;
&lt;/ul&gt;




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

&lt;p&gt;Typical workflow:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Model in Blender&lt;/li&gt;
&lt;li&gt;Export GLTF&lt;/li&gt;
&lt;li&gt;Import into the editor&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Build the scene&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;Add objects&lt;/li&gt;
&lt;li&gt;Adjust transforms&lt;/li&gt;
&lt;li&gt;Define materials&lt;/li&gt;
&lt;/ul&gt;




&lt;ol&gt;
&lt;li&gt;Game logic&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Two options:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Node graph (visual)&lt;/li&gt;
&lt;li&gt;
&lt;a href="https://terminalroot.com/tags#cpp" rel="noopener noreferrer"&gt;C++&lt;/a&gt; (more control)&lt;/li&gt;
&lt;/ul&gt;

&lt;ol&gt;
&lt;li&gt;Build and run&lt;/li&gt;
&lt;/ol&gt;

&lt;ul&gt;
&lt;li&gt;“Run” button&lt;/li&gt;
&lt;li&gt;Generates ROM&lt;/li&gt;
&lt;li&gt;Opens automatically in the emulator&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;For more information, visit the &lt;a href="https://hailtododongo.github.io/pyrite64/docs/faq.html#do-i-need-to-know-programming" rel="noopener noreferrer"&gt;official website with FAQ&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>gamedev</category>
      <category>cpp</category>
      <category>c</category>
    </item>
    <item>
      <title>Pyrite64, engine moderna para Nintendo 64</title>
      <dc:creator>Marcos Oliveira</dc:creator>
      <pubDate>Mon, 13 Apr 2026 01:10:00 +0000</pubDate>
      <link>https://forem.com/marcosplusplus/pyrite64-engine-moderna-para-nintendo-64-3m9l</link>
      <guid>https://forem.com/marcosplusplus/pyrite64-engine-moderna-para-nintendo-64-3m9l</guid>
      <description>&lt;p&gt;Apesar de ter Py de Python esse motor é para desenvolvimento(scripts) com C++ ou C.&lt;/p&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="https://terminalroot.com.br/cpp" rel="noopener noreferrer"&gt;C++&lt;/a&gt; ou &lt;a href="https://terminalroot.com.br/c" rel="noopener noreferrer"&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;h2&gt;
  
  
  Instalação
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://terminalroot.com.br/tags#windows" rel="noopener noreferrer"&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&gt;
  
  
  &lt;a href="https://terminalroot.com.br/tags#gnulinux" rel="noopener noreferrer"&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="https://terminalroot.com.br/tags#gcc" rel="noopener noreferrer"&gt;GCC&lt;/a&gt;/&lt;a href="https://terminalroot.com.br/tags#llvm" rel="noopener noreferrer"&gt;Clang&lt;/a&gt;
&lt;/li&gt;
&lt;li&gt;&lt;a href="https://terminalroot.com.br/tags#cmake" rel="noopener noreferrer"&gt;CMake&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;libs&lt;/code&gt; básicas de &lt;code&gt;build&lt;/code&gt;
&lt;/li&gt;
&lt;li&gt;toolchain do &lt;code&gt;libdragon&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;git clone https://github.com/HailToDodongo/pyrite64
&lt;span class="nb"&gt;cd &lt;/span&gt;pyrite64
&lt;span class="nb"&gt;mkdir &lt;/span&gt;build &lt;span class="o"&gt;&amp;amp;&amp;amp;&lt;/span&gt; &lt;span class="nb"&gt;cd &lt;/span&gt;build
cmake ..
make
&lt;span class="nb"&gt;sudo &lt;/span&gt;make &lt;span class="nb"&gt;install&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&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&gt;project.p64proj&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;




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

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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="err"&gt;project.p&lt;/span&gt;&lt;span class="mi"&gt;64&lt;/span&gt;&lt;span class="err"&gt;proj&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



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

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight json"&gt;&lt;code&gt;&lt;span class="nl"&gt;"pathEmu"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"ares"&lt;/span&gt;&lt;span class="err"&gt;,&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;span class="nl"&gt;"pathN64Inst"&lt;/span&gt;&lt;span class="p"&gt;:&lt;/span&gt;&lt;span class="w"&gt; &lt;/span&gt;&lt;span class="s2"&gt;"/caminho/toolchain"&lt;/span&gt;&lt;span class="w"&gt;
&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;
&lt;code&gt;pathEmu&lt;/code&gt; → comando do emulador&lt;/li&gt;
&lt;li&gt;
&lt;code&gt;pathN64Inst&lt;/code&gt; → raiz da toolchain ([Instagit][3])&lt;/li&gt;
&lt;/ul&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;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="https://terminalroot.com.br/promo" rel="noopener noreferrer"&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;p&gt;Para mais informações acesse o &lt;a href="https://hailtododongo.github.io/pyrite64/docs/faq.html#do-i-need-to-know-programming" rel="noopener noreferrer"&gt;site oficial com FAQ&lt;/a&gt;.&lt;/p&gt;




&lt;h2&gt;
  
  
  Veja também:
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://terminalroot.com.br/sfml/" rel="noopener noreferrer"&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="https://terminalroot.com.br/cpp/" rel="noopener noreferrer"&gt;Curso Moderno de C++&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>gamedev</category>
      <category>cpp</category>
      <category>c</category>
    </item>
    <item>
      <title>Install This Modern Network Scanner with TUI Mode</title>
      <dc:creator>Marcos Oliveira</dc:creator>
      <pubDate>Wed, 25 Mar 2026 13:47:05 +0000</pubDate>
      <link>https://forem.com/marcosplusplus/install-this-modern-network-scanner-with-tui-mode-4glf</link>
      <guid>https://forem.com/marcosplusplus/install-this-modern-network-scanner-with-tui-mode-4glf</guid>
      <description>&lt;p&gt;Built in Go, incredibly fast, and hassle-free.&lt;/p&gt;




&lt;p&gt;If you've used tools like &lt;a href="https://terminalroot.com.br/2018/07/escaneado-redes-com-nmap.html" rel="noopener noreferrer"&gt;nmap&lt;/a&gt; and found them heavy, verbose, or too slow for simple tasks, &lt;strong&gt;Nibble&lt;/strong&gt; solves exactly that problem.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Nibble&lt;/strong&gt; is an open-source network scanner focused on simplicity, speed, and usability. It allows you to discover devices and services on your local network without needing to memorize complex commands or configure anything manually. It works on &lt;a href="https://terminalroot.com/tags#gnulinux" rel="noopener noreferrer"&gt;GNU/Linux&lt;/a&gt;, &lt;a href="https://terminalroot.com/tags#macos" rel="noopener noreferrer"&gt;macOS&lt;/a&gt;, and &lt;a href="https://terminalroot.com.br/tags#windows" rel="noopener noreferrer"&gt;Windows&lt;/a&gt; (x86 and ARM).&lt;/p&gt;




&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;brew install backendsystems/tap/nibble&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pipx install nibble-cli&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;npm install -g @backendsystems/nibble&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;go install github.com/backendsystems/nibble@latest&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Or run it directly with:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx @backendsystems/nibble
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;For more information, visit the &lt;a href="https://github.com/backendsystems/nibble" rel="noopener noreferrer"&gt;repository&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>go</category>
      <category>tui</category>
      <category>network</category>
    </item>
    <item>
      <title>Instale esse Scanner de Rede Moderno modo TUI</title>
      <dc:creator>Marcos Oliveira</dc:creator>
      <pubDate>Wed, 25 Mar 2026 13:42:25 +0000</pubDate>
      <link>https://forem.com/marcosplusplus/instale-esse-scanner-de-rede-moderno-modo-tui-53ie</link>
      <guid>https://forem.com/marcosplusplus/instale-esse-scanner-de-rede-moderno-modo-tui-53ie</guid>
      <description>&lt;p&gt;Feito em Go e muito rápido e sem dor de cabeça.&lt;/p&gt;




&lt;p&gt;Se você já usou ferramentas como &lt;a href="https://terminalroot.com.br/2018/07/escaneado-redes-com-nmap.html" rel="noopener noreferrer"&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="https://terminalroot.com.br/tags#gnulinux" rel="noopener noreferrer"&gt;GNU/Linux&lt;/a&gt;, &lt;a href="https://terminalroot.com.br/tags#macos" rel="noopener noreferrer"&gt;macOS&lt;/a&gt; e &lt;a href="https://terminalroot.com.br/tags#windows" rel="noopener noreferrer"&gt;Windows&lt;/a&gt; (x86 e ARM).&lt;/p&gt;




&lt;h2&gt;
  
  
  Instalação
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;&lt;code&gt;brew install backendsystems/tap/nibble&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;pipx install nibble-cli&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;npm install -g @backendsystems/nibble&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&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;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;npx @backendsystems/nibble
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






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

</description>
      <category>tui</category>
      <category>cli</category>
      <category>network</category>
      <category>go</category>
    </item>
    <item>
      <title>Os 10 Melhores Monitores para Programadores</title>
      <dc:creator>Marcos Oliveira</dc:creator>
      <pubDate>Wed, 25 Mar 2026 13:41:04 +0000</pubDate>
      <link>https://forem.com/marcosplusplus/os-10-melhores-monitores-para-programadores-1p8a</link>
      <guid>https://forem.com/marcosplusplus/os-10-melhores-monitores-para-programadores-1p8a</guid>
      <description>&lt;p&gt;Esses monitores são ótimos para programadores, oferecendo desde &lt;strong&gt;alta resolução e precisão de cores&lt;/strong&gt; até &lt;strong&gt;design ergonômico&lt;/strong&gt; para longas sessões de codificação. O &lt;strong&gt;tamanho, a qualidade da tela e a ergonomia&lt;/strong&gt; são aspectos cruciais que podem melhorar significativamente a experiência de programação.  &lt;/p&gt;




&lt;h2&gt;
  
  
  01. &lt;a href="https://amzn.to/4bQuMoZ" rel="noopener noreferrer"&gt;Dell UltraSharp P2725H&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmgvaxt9fzhf1ndd30pcp.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fmgvaxt9fzhf1ndd30pcp.jpg" alt="01" width="640" height="566"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;O &lt;strong&gt;P2725H&lt;/strong&gt; oferece uma tela &lt;strong&gt;4K de 27 polegadas&lt;/strong&gt;, com ótima precisão de cores, ideal para programadores que precisam de clareza em detalhes.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resolução&lt;/strong&gt;: 3840 x 2160 (4K)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Características&lt;/strong&gt;: IPS, excelente cobertura de cores (95% DCI-P3), portas USB-C com carregamento.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ideal para&lt;/strong&gt;: programadores que trabalham com gráficos, design ou precisam de uma tela com resolução muito alta.
&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://amzn.to/4bQuMoZ" rel="noopener noreferrer"&gt;Clique aqui para adquirir esse Monitor&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  02. &lt;a href="https://amzn.to/4szcorX" rel="noopener noreferrer"&gt;LG 4wn80c-b ultrawide&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwys0oiaruanhv73566af.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwys0oiaruanhv73566af.jpg" alt="02" width="640" height="381"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;O &lt;strong&gt;4wn80c-b&lt;/strong&gt; é um monitor &lt;strong&gt;ultrawide&lt;/strong&gt; de 34 polegadas com resolução &lt;strong&gt;1440p&lt;/strong&gt; que oferece uma ótima experiência multitarefa.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resolução&lt;/strong&gt;: 3440 x 1440 (UltraWide)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Características&lt;/strong&gt;: Painel IPS, design curvado, excelente para produtividade, ajuste de altura e inclinação.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ideal para&lt;/strong&gt;: programadores que fazem &lt;strong&gt;multitasking&lt;/strong&gt; e precisam de mais espaço na tela para abrir várias janelas ou códigos simultaneamente.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://amzn.to/4szcorX" rel="noopener noreferrer"&gt;Clique aqui para adquirir esse Monitor&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  03. &lt;a href="https://amzn.to/4t2fjco" rel="noopener noreferrer"&gt;ASUS ProArt PA278QV&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F15sie05ojw1rv001tsbb.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F15sie05ojw1rv001tsbb.jpg" alt="03" width="640" height="561"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Focado em &lt;strong&gt;precisão de cores&lt;/strong&gt;, o &lt;strong&gt;PA278QV&lt;/strong&gt; é perfeito para programadores que também trabalham com design ou edição gráfica.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resolução&lt;/strong&gt;: 2560 x 1440 (QHD)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Características&lt;/strong&gt;: Calibração de cores de fábrica, painel IPS, suporte ergonômico (ajuste de altura, inclinação, rotação).
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ideal para&lt;/strong&gt;: programadores que precisam de um monitor preciso para edição de imagens ou desenvolvimento de interfaces.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://amzn.to/4t2fjco" rel="noopener noreferrer"&gt;Clique aqui para adquirir esse Monitor&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  04. &lt;a href="https://amzn.to/4bBImMI" rel="noopener noreferrer"&gt;BenQ PD2705U&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwzykh5qtq4nzsdaseik8.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fwzykh5qtq4nzsdaseik8.jpg" alt="04" width="640" height="553"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;O &lt;strong&gt;PD2705U&lt;/strong&gt; é um monitor 4K de &lt;strong&gt;27 polegadas&lt;/strong&gt; com excelente performance para programadores que necessitam de uma tela grande e com excelente &lt;strong&gt;precisão de cores&lt;/strong&gt;.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resolução&lt;/strong&gt;: 3840 x 2160 (4K)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Características&lt;/strong&gt;: Painel IPS, design ergonômico, modos de exibição especializados para programadores (como o modo de leitura).
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ideal para&lt;/strong&gt;: programadores que precisam de alta resolução para multitarefas e atividades de design.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://amzn.to/4bBImMI" rel="noopener noreferrer"&gt;Clique aqui para adquirir esse Monitor&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  05. &lt;a href="https://amzn.to/4uNZdES" rel="noopener noreferrer"&gt;Samsung Odyssey AI TV 55" OLED 4K S85F&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F50yp7ilrdujybjpaljh9.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F50yp7ilrdujybjpaljh9.jpg" alt="05" width="640" height="404"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;O &lt;strong&gt;Odyssey AI TV 55" OLED 4K S85F ** é um monitor **curvo&lt;/strong&gt; de 55 polegadas, ideal para programadores que preferem um monitor mais imersivo e com excelente taxa de atualização.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resolução&lt;/strong&gt;: 3840 x 2160 (4K)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Características&lt;/strong&gt;: Curvatura de 1000R, taxa de atualização de 240Hz, tempo de resposta rápido, painel VA.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ideal para&lt;/strong&gt;: programadores que também são gamers ou preferem uma tela curva para uma melhor experiência de trabalho imersivo.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://amzn.to/4uNZdES" rel="noopener noreferrer"&gt;Clique aqui para adquirir esse Monitor&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  06. &lt;a href="https://amzn.to/4dJBxeJ" rel="noopener noreferrer"&gt;Acer Predator X34&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3btgz0k5webo0en763do.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F3btgz0k5webo0en763do.jpg" alt="06" width="640" height="419"&gt;&lt;/a&gt; &lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;O &lt;strong&gt;X34&lt;/strong&gt; é um monitor &lt;strong&gt;ultrawide curvo&lt;/strong&gt; de 34 polegadas, excelente para programadores que trabalham com múltiplos projetos ou janelas.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resolução&lt;/strong&gt;: 3440 x 1440 (UltraWide)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Características&lt;/strong&gt;: Curvatura 1900R, taxa de atualização de 100Hz, painel IPS, suporte G-Sync.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ideal para&lt;/strong&gt;: programadores que buscam um monitor de alta qualidade com um campo de visão amplo para multitarefas.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://amzn.to/4dJBxeJ" rel="noopener noreferrer"&gt;Clique aqui para adquirir esse Monitor&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  07. &lt;a href="https://amzn.to/487jviV" rel="noopener noreferrer"&gt;Dell P2719H&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhnmps55esjdlznehr9jr.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fhnmps55esjdlznehr9jr.jpg" alt="07" width="640" height="563"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;O &lt;strong&gt;P2719H&lt;/strong&gt; é um monitor de &lt;strong&gt;27 polegadas&lt;/strong&gt; com uma ótima relação custo-benefício, ideal para programadores que buscam um display de qualidade sem gastar muito.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resolução&lt;/strong&gt;: 1920 x 1080 (Full HD)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Características&lt;/strong&gt;: Painel IPS, borda fina, design ajustável em altura, rotação e inclinação.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ideal para&lt;/strong&gt;: programadores que precisam de um monitor confiável e confortável para trabalhar longas horas.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://amzn.to/487jviV" rel="noopener noreferrer"&gt;Clique aqui para adquirir esse Monitor&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  08. &lt;a href="https://amzn.to/3PtJsmy" rel="noopener noreferrer"&gt;Philips 276E8VJSB&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd57mk1ogshwg15f322k4.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fd57mk1ogshwg15f322k4.jpg" alt="08" width="640" height="530"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Valor: &lt;strong&gt;R$ 750,00&lt;/strong&gt;
&lt;/li&gt;
&lt;li&gt;O &lt;strong&gt;276E8VJSB&lt;/strong&gt; é um monitor &lt;strong&gt;4K de 27 polegadas&lt;/strong&gt; com uma ótima relação de custo-benefício, ideal para quem quer alta resolução sem gastar tanto.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resolução&lt;/strong&gt;: 3840 x 2160 (4K)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Características&lt;/strong&gt;: Painel IPS, excelente desempenho em cores e contrastes.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ideal para&lt;/strong&gt;: programadores que querem um monitor com excelente resolução e boa qualidade de imagem para tarefas diárias e leitura de código.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://amzn.to/3PtJsmy" rel="noopener noreferrer"&gt;Clique aqui para adquirir esse Monitor&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  09. &lt;a href="https://amzn.to/4rYZWAH" rel="noopener noreferrer"&gt;LG UltraGear 27GN750-27&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuiawrogmfht81vs42gwu.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2Fuiawrogmfht81vs42gwu.jpg" alt="09" width="640" height="569"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;O &lt;strong&gt;LG 27UK850-W&lt;/strong&gt; é um monitor 4K de 27 polegadas com ótima precisão de cores, sendo uma excelente escolha para programadores e profissionais criativos.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resolução&lt;/strong&gt;: 3840 x 2160 (4K)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Características&lt;/strong&gt;: Conexões USB-C, painel IPS, suporte HDR10.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ideal para&lt;/strong&gt;: programadores que buscam um monitor com boa qualidade de imagem e conexão USB-C para facilitar a configuração.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://amzn.to/4rYZWAH" rel="noopener noreferrer"&gt;Clique aqui para adquirir esse Monitor&lt;/a&gt;&lt;/p&gt;




&lt;h2&gt;
  
  
  10. &lt;a href="https://amzn.to/4dsnaM3" rel="noopener noreferrer"&gt;VIVO Monitor Ultrawide + suporte para laptop&lt;/a&gt;
&lt;/h2&gt;

&lt;p&gt;&lt;a href="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1lv6tapl4gub5g73ldbc.jpg" class="article-body-image-wrapper"&gt;&lt;img src="https://media2.dev.to/dynamic/image/width=800%2Cheight=%2Cfit=scale-down%2Cgravity=auto%2Cformat=auto/https%3A%2F%2Fdev-to-uploads.s3.amazonaws.com%2Fuploads%2Farticles%2F1lv6tapl4gub5g73ldbc.jpg" alt="10" width="640" height="580"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;O &lt;strong&gt;VIVO Monitor Ultrawide + suporte para laptop&lt;/strong&gt; é um monitor &lt;strong&gt;4K de 49 polegadas&lt;/strong&gt; que combina design minimalista com excelente precisão de cores, ideal para programadores e designers gráficos.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Resolução&lt;/strong&gt;: 3840 x 2160 (4K)
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Características&lt;/strong&gt;: Painel IPS, ajustes ergonômicos (altura, rotação, inclinação), baixo consumo de energia.
&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Ideal para&lt;/strong&gt;: programadores que buscam um monitor altamente preciso e ergonômico para trabalho prolongado.&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;&lt;a href="https://amzn.to/4dsnaM3" rel="noopener noreferrer"&gt;Clique aqui para adquirir esse Monitor&lt;/a&gt;&lt;/p&gt;




&lt;h3&gt;
  
  
  Veja também:
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="https://terminalroot.com.br/2023/09/conheca-10-teclados-mecanicos-sem-fio-e-ergonomicos-que-vale-a-pena-ter.html" rel="noopener noreferrer"&gt;Conheça 10 Teclados Mecânicos, Sem-fio e Ergonômicos que vale à pena ter&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://terminalroot.com.br/2025/02/os-10-melhores-acessorios-de-informatica-para-um-desenvolvedor.html" rel="noopener noreferrer"&gt;Os 10 Melhores Acessórios de Informática para um Desenvolvedor&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://terminalroot.com.br/2025/05/os-10-melhores-acessorios-de-informatica-para-um-desenvolvedor-parte-2.html" rel="noopener noreferrer"&gt;Os 10 Melhores Acessórios de Informática para um Desenvolvedor – Parte 2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://terminalroot.com.br/2025/10/top-10-melhores-servidores-e-nas.html" rel="noopener noreferrer"&gt;Top 10 melhores Servidores e NAS&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://terminalroot.com.br/2025/11/os-20-melhores-notebooks-para-programadores-em-2026.html" rel="noopener noreferrer"&gt;Os 20 Melhores Notebooks para Programadores em 2026&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</description>
      <category>hardware</category>
      <category>monitoring</category>
    </item>
    <item>
      <title>Gere Arte com Python (HSV Spiral)</title>
      <dc:creator>Marcos Oliveira</dc:creator>
      <pubDate>Mon, 23 Mar 2026 15:13:51 +0000</pubDate>
      <link>https://forem.com/marcosplusplus/gere-arte-com-python-hsv-spiral-3g2h</link>
      <guid>https://forem.com/marcosplusplus/gere-arte-com-python-hsv-spiral-3g2h</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;A cada iteração, o ângulo muda e a cor avança no espectro HSV, criando esse efeito de espiral com gradiente arco-íris.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Usando &lt;code&gt;turtle&lt;/code&gt; e &lt;code&gt;colorsys&lt;/code&gt; para gerar um padrão geométrico colorido.&lt;/p&gt;




&lt;h2&gt;
  
  
  Dependências
&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;No &lt;a href="https://terminalroot.com.br/tags#windows" rel="noopener noreferrer"&gt;Windows&lt;/a&gt; com &lt;a href="https://winstall.app/apps/CarlWenrich.PythonTkGuiBuilder" rel="noopener noreferrer"&gt;WinGet&lt;/a&gt;:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;winget &lt;span class="nb"&gt;install&lt;/span&gt; &lt;span class="nt"&gt;-e&lt;/span&gt; &lt;span class="nt"&gt;--id&lt;/span&gt; CarlWenrich.PythonTkGuiBuilder
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;ul&gt;
&lt;li&gt;Em &lt;a href="https://terminalroot.com.br/tags#gnulinux" rel="noopener noreferrer"&gt;distros GNU/Linux com APT&lt;/a&gt;:
&lt;/li&gt;
&lt;/ul&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;sudo &lt;/span&gt;apt &lt;span class="nb"&gt;install &lt;/span&gt;python3-tk
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Código Python
&lt;/h2&gt;

&lt;blockquote&gt;
&lt;p&gt;&lt;code&gt;main.py&lt;/code&gt;&lt;br&gt;
&lt;/p&gt;
&lt;/blockquote&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight python"&gt;&lt;code&gt;&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;colorsys&lt;/span&gt;
&lt;span class="kn"&gt;import&lt;/span&gt; &lt;span class="n"&gt;turtle&lt;/span&gt;

&lt;span class="n"&gt;t&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;turtle&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Turtle&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;
&lt;span class="n"&gt;s&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;turtle&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nc"&gt;Screen&lt;/span&gt;&lt;span class="p"&gt;()&lt;/span&gt;

&lt;span class="n"&gt;s&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;bgcolor&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="s"&gt;black&lt;/span&gt;&lt;span class="sh"&gt;'&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;speed&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;0&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

&lt;span class="n"&gt;n&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;36&lt;/span&gt;
&lt;span class="n"&gt;h&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="mi"&gt;0&lt;/span&gt;

&lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;i&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;460&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;

    &lt;span class="n"&gt;c&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt; &lt;span class="n"&gt;colorsys&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;hsv_to_rgb&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;h&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="p"&gt;,&lt;/span&gt; &lt;span class="mf"&gt;0.8&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;h&lt;/span&gt; &lt;span class="o"&gt;+=&lt;/span&gt; &lt;span class="mi"&gt;1&lt;/span&gt;&lt;span class="o"&gt;/&lt;/span&gt;&lt;span class="n"&gt;n&lt;/span&gt;
    &lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;color&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="n"&gt;c&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
    &lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;left&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;145&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;

    &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="n"&gt;j&lt;/span&gt; &lt;span class="ow"&gt;in&lt;/span&gt; &lt;span class="nf"&gt;range&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;5&lt;/span&gt;&lt;span class="p"&gt;):&lt;/span&gt;
        &lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;forward&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;300&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
        &lt;span class="n"&gt;t&lt;/span&gt;&lt;span class="p"&gt;.&lt;/span&gt;&lt;span class="nf"&gt;left&lt;/span&gt;&lt;span class="p"&gt;(&lt;/span&gt;&lt;span class="mi"&gt;150&lt;/span&gt;&lt;span class="p"&gt;)&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Depois basta rodar:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;python main.py
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  &lt;a href="https://terminalroot.com.br/python" rel="noopener noreferrer"&gt;Aprenda Python&lt;/a&gt;
&lt;/h2&gt;

&lt;h3&gt;
  
  
  &lt;a href="https://terminalroot.com.br/python" rel="noopener noreferrer"&gt;https://terminalroot.com.br/python&lt;/a&gt;
&lt;/h3&gt;

</description>
      <category>python</category>
    </item>
    <item>
      <title>Manage APT packages with a modern terminal interface</title>
      <dc:creator>Marcos Oliveira</dc:creator>
      <pubDate>Mon, 23 Mar 2026 14:15:37 +0000</pubDate>
      <link>https://forem.com/marcosplusplus/manage-apt-packages-with-a-modern-terminal-interface-318h</link>
      <guid>https://forem.com/marcosplusplus/manage-apt-packages-with-a-modern-terminal-interface-318h</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Built with Go, works as a frontend for APT.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;APTUI is a &lt;a href="https://terminalroot.com/tags#tui" rel="noopener noreferrer"&gt;TUI (Terminal User Interface)&lt;/a&gt; written in &lt;a href="https://terminalroot.com/tags#go" rel="noopener noreferrer"&gt;Go&lt;/a&gt; that acts as a frontend for APT.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;The concept is simple: &lt;strong&gt;do everything you already do with APT, but without leaving the screen and without typing repetitive commands&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Main features&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Real-time filtering as you type&lt;/li&gt;
&lt;li&gt;Fuzzy search (no need for exact name)&lt;/li&gt;
&lt;li&gt;Fallback to &lt;code&gt;apt-cache search&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Via Go
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;go &lt;span class="nb"&gt;install &lt;/span&gt;github.com/mexirica/aptui@latest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Or via APT (Debian/Ubuntu)
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;(custom repository available in the project)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Then just run:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aptui
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;For more information, visit the &lt;a href="https://github.com/mexirica/aptui" rel="noopener noreferrer"&gt;repository&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>go</category>
      <category>tui</category>
      <category>linux</category>
    </item>
    <item>
      <title>Gerencie pacotes APT com interface moderna no terminal</title>
      <dc:creator>Marcos Oliveira</dc:creator>
      <pubDate>Mon, 23 Mar 2026 14:12:06 +0000</pubDate>
      <link>https://forem.com/marcosplusplus/gerencie-pacotes-apt-com-interface-moderna-no-terminal-13go</link>
      <guid>https://forem.com/marcosplusplus/gerencie-pacotes-apt-com-interface-moderna-no-terminal-13go</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Feito com Go que funciona como um frontend para o APT.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;O APTUI é uma &lt;a href="https://terminalroot.com.br/tags#tui" rel="noopener noreferrer"&gt;TUI (Terminal User Interface)&lt;/a&gt; escrita em &lt;a href="https://terminalroot.com.br/tags#go" rel="noopener noreferrer"&gt;Go&lt;/a&gt; que funciona como um frontend para o APT.&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;A proposta é simples: &lt;strong&gt;fazer tudo que você já faz com APT, mas sem sair da tela e sem ficar digitando comandos repetitivos&lt;/strong&gt;.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Principais recursos&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Filtro em tempo real enquanto você digita&lt;/li&gt;
&lt;li&gt;Busca fuzzy (não precisa nome exato)&lt;/li&gt;
&lt;li&gt;Fallback para &lt;code&gt;apt-cache search&lt;/code&gt;
&lt;/li&gt;
&lt;/ul&gt;




&lt;h2&gt;
  
  
  Instalação
&lt;/h2&gt;

&lt;h3&gt;
  
  
  Via Go
&lt;/h3&gt;



&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;go &lt;span class="nb"&gt;install &lt;/span&gt;github.com/mexirica/aptui@latest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;h3&gt;
  
  
  Ou via APT (Debian/Ubuntu)
&lt;/h3&gt;

&lt;blockquote&gt;
&lt;p&gt;(repositório próprio disponível no projeto)&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Depois basta rodar:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;aptui
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;p&gt;Para mais informações acesse o &lt;a href="https://github.com/mexirica/aptui" rel="noopener noreferrer"&gt;repositório&lt;/a&gt;.&lt;/p&gt;

</description>
      <category>go</category>
      <category>linux</category>
    </item>
    <item>
      <title>Manage Your SQL Databases via Terminal with This App</title>
      <dc:creator>Marcos Oliveira</dc:creator>
      <pubDate>Wed, 04 Mar 2026 11:56:49 +0000</pubDate>
      <link>https://forem.com/marcosplusplus/manage-your-sql-databases-via-terminal-with-this-app-4ken</link>
      <guid>https://forem.com/marcosplusplus/manage-your-sql-databases-via-terminal-with-this-app-4ken</guid>
      <description>&lt;p&gt;For developers, DBAs, and analysts who need a lightweight, fast, and powerful tool for working with multiple databases in the terminal.&lt;/p&gt;

&lt;p&gt;Pam is a minimalist command-line interface (CLI) tool written in &lt;a href="https://terminalroot.com/tags#go" rel="noopener noreferrer"&gt;Go&lt;/a&gt;, designed to simplify managing and executing &lt;a href="https://terminalroot.com/tags#sql" rel="noopener noreferrer"&gt;SQL&lt;/a&gt; queries across multiple databases. Inspired by “The Office,” Pam pays homage to the character who organizes everything efficiently.&lt;/p&gt;

&lt;h3&gt;
  
  
  Key Features
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Query Library:&lt;/strong&gt; Save and organize your most-used SQL queries for easy access and reuse.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-database Support:&lt;/strong&gt; Compatible with PostgreSQL, MySQL, SQLite, Oracle, SQL Server, ClickHouse, and Firebird.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;&lt;a href="https://terminalroot.com/tags#tui" rel="noopener noreferrer"&gt;TUI (Terminal User Interface)&lt;/a&gt;:&lt;/strong&gt; Keyboard-focused navigation with Vim-inspired shortcuts for efficient manipulation of query results.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Direct Editing:&lt;/strong&gt; Update cells, delete rows, and edit SQL directly in the results table.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Data Export:&lt;/strong&gt; Export results in formats such as &lt;a href="https://terminalroot.com/how-to-parse-csv-with-modern-cpp/" rel="noopener noreferrer"&gt;CSV&lt;/a&gt;, &lt;a href="https://terminalroot.com/how-to-consume-apis-with-curl-and-cpp-in-the-terminal/" rel="noopener noreferrer"&gt;JSON&lt;/a&gt;, SQL, &lt;a href="https://terminalroot.com/tags#markdown" rel="noopener noreferrer"&gt;Markdown&lt;/a&gt;, or &lt;a href="https://terminalroot.com/tags#html" rel="noopener noreferrer"&gt;HTML&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Parameterized Queries:&lt;/strong&gt; Support for parameterized queries, enabling dynamic searches without rewriting SQL.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Installation
&lt;/h2&gt;

&lt;p&gt;You can install Pam via Go, by downloading the binary directly from the releases repository, or using &lt;a href="https://terminalroot.com/tags#gnu" rel="noopener noreferrer"&gt;Nix/NixOS&lt;/a&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;go &lt;span class="nb"&gt;install &lt;/span&gt;github.com/eduardofuncao/pam/cmd/pam@latest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Basic Usage
&lt;/h2&gt;

&lt;p&gt;After installation, initialize a connection to your desired database:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pam init mydb postgres &lt;span class="s2"&gt;"postgresql://user:pass@localhost:5432/mydb"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Add queries to your library:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pam add list_users &lt;span class="s2"&gt;"SELECT * FROM users"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;And run them interactively:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pam run list_users
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;The TUI interface supports Vim-like shortcuts (&lt;code&gt;j&lt;/code&gt;, &lt;code&gt;k&lt;/code&gt;, &lt;code&gt;h&lt;/code&gt;, &lt;code&gt;l&lt;/code&gt;), copy cell (&lt;code&gt;y&lt;/code&gt;), export data (&lt;code&gt;x&lt;/code&gt;), edit cell (&lt;code&gt;u&lt;/code&gt;), delete row (&lt;code&gt;D&lt;/code&gt;), and more quick commands.&lt;/p&gt;

&lt;p&gt;Pam stores its configuration in &lt;code&gt;~/.config/pam/config.yaml&lt;/code&gt;, allowing you to adjust row limits, column widths, and color schemes for the interface.&lt;/p&gt;

&lt;p&gt;The app provides example commands for easily connecting to various database types, including PostgreSQL, &lt;a href="https://terminalroot.com/tags#mysql" rel="noopener noreferrer"&gt;MySQL&lt;/a&gt;, SQL Server, Oracle, SQLite, ClickHouse, and Firebird.&lt;/p&gt;




&lt;p&gt;For more information, visit the &lt;a href="https://github.com/eduardofuncao/pam" rel="noopener noreferrer"&gt;repository&lt;/a&gt;&lt;/p&gt;

</description>
      <category>cli</category>
      <category>go</category>
      <category>sql</category>
    </item>
    <item>
      <title>Gerencie suas bases SQL via Terminal com esse App</title>
      <dc:creator>Marcos Oliveira</dc:creator>
      <pubDate>Wed, 04 Mar 2026 11:48:01 +0000</pubDate>
      <link>https://forem.com/marcosplusplus/gerencie-suas-bases-sql-via-terminal-com-esse-app-374</link>
      <guid>https://forem.com/marcosplusplus/gerencie-suas-bases-sql-via-terminal-com-esse-app-374</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Para desenvolvedores, DBAs e analistas que precisam de uma ferramenta leve, rápida e poderosa para diferentes bancos de dados no terminal.&lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;Pam é uma ferramenta de linha de comando (CLI) minimalista, escrita em &lt;a href="https://terminalroot.com.br/tags#go" rel="noopener noreferrer"&gt;Go&lt;/a&gt;, projetada para facilitar o gerenciamento e a execução de consultas &lt;a href="https://terminalroot.com.br/tags#sql" rel="noopener noreferrer"&gt;SQL&lt;/a&gt; em múltiplos bancos de dados. Inspirada no universo de “The Office”, Pam homenageia a personagem que organiza tudo com eficiência.&lt;/p&gt;

&lt;h3&gt;
  
  
  Principais Destaques
&lt;/h3&gt;

&lt;ul&gt;
&lt;li&gt;
&lt;strong&gt;Biblioteca de Queries:&lt;/strong&gt; Salve e organize suas consultas SQL mais usadas, facilitando o acesso e reuso.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Multi-banco de dados:&lt;/strong&gt; Compatível com PostgreSQL, MySQL, SQLite, Oracle, SQL Server, ClickHouse e Firebird.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Interface &lt;a href="https://terminalroot.com.br/tags#tui" rel="noopener noreferrer"&gt;TUI (Terminal User Interface)&lt;/a&gt;:&lt;/strong&gt; Navegação focada no teclado, com atalhos inspirados no Vim, permitindo manipulação eficiente dos resultados das queries.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Edição Direta:&lt;/strong&gt; Atualize células, exclua linhas e edite SQL diretamente na tabela de resultados.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Exportação de Dados:&lt;/strong&gt; Exporte resultados em formatos como &lt;a href="https://terminalroot.com.br/2023/05/como-fazer-parser-de-csv-com-cpp-moderno.html" rel="noopener noreferrer"&gt;CSV&lt;/a&gt;, &lt;a href="https://terminalroot.com.br/2025/01/como-consumir-apis-com-curl-e-cpp-no-terminal.html" rel="noopener noreferrer"&gt;JSON&lt;/a&gt;, SQL, &lt;a href="https://terminalroot.com.br/2026/01/notes-um-aplicativo-de-anotacoes-rapido-bonito-e-open-source.html" rel="noopener noreferrer"&gt;Markdown&lt;/a&gt; ou&lt;a href="https://terminalroot.com.br/tags#html" rel="noopener noreferrer"&gt; HTML&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;
&lt;strong&gt;Parâmetros em Queries:&lt;/strong&gt; Suporte a consultas parametrizadas, facilitando buscas dinâmicas sem precisar reescrever SQL.&lt;/li&gt;
&lt;/ul&gt;

&lt;h2&gt;
  
  
  Instalação
&lt;/h2&gt;

&lt;p&gt;Você pode instalar Pam via Go, baixando o binário diretamente do repositório de releases, ou usando &lt;a href="https://terminalroot.com.br/2021/12/nixos-um-sistema-operacional-para-programadores.html" rel="noopener noreferrer"&gt;Nix/NixOS&lt;/a&gt;.&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;go &lt;span class="nb"&gt;install &lt;/span&gt;github.com/eduardofuncao/pam/cmd/pam@latest
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;






&lt;h2&gt;
  
  
  Uso Básico
&lt;/h2&gt;

&lt;p&gt;Após instalar, basta inicializar uma conexão com o banco de dados desejado:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pam init mydb postgres &lt;span class="s2"&gt;"postgresql://user:pass@localhost:5432/mydb"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Adicione queries à sua biblioteca:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pam add list_users &lt;span class="s2"&gt;"SELECT * FROM users"&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;E execute-as de forma interativa:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;pam run list_users
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;A interface TUI permite navegação com atalhos do tipo Vim (&lt;code&gt;j&lt;/code&gt;, &lt;code&gt;k&lt;/code&gt;, &lt;code&gt;h&lt;/code&gt;, &lt;code&gt;l&lt;/code&gt;), cópia de células (&lt;code&gt;y&lt;/code&gt;), exportação de dados (&lt;code&gt;x&lt;/code&gt;), edição de células (&lt;code&gt;u&lt;/code&gt;), exclusão de linhas (&lt;code&gt;D&lt;/code&gt;), entre outros comandos rápidos.&lt;/p&gt;

&lt;p&gt;Pam armazena suas configurações em &lt;code&gt;~/.config/pam/config.yaml&lt;/code&gt;, permitindo ajustar limites de linhas, largura de colunas e esquemas de cores para a interface.&lt;/p&gt;

&lt;p&gt;O aplicativo oferece exemplos de comandos para conectar-se facilmente a diversos tipos de bancos de dados, incluindo PostgreSQL, &lt;a href="https://terminalroot.com.br/tags#mysql" rel="noopener noreferrer"&gt;MySQL&lt;/a&gt;, SQL Server, Oracle, SQLite, ClickHouse e Firebird.&lt;/p&gt;




&lt;p&gt;Para mais informações acesso o &lt;a href="https://github.com/eduardofuncao/pam" rel="noopener noreferrer"&gt;repositório&lt;/a&gt;&lt;/p&gt;

</description>
      <category>sql</category>
      <category>go</category>
      <category>cli</category>
    </item>
    <item>
      <title>How to optimize the cd command to go back multiple folders at once</title>
      <dc:creator>Marcos Oliveira</dc:creator>
      <pubDate>Fri, 20 Feb 2026 16:34:18 +0000</pubDate>
      <link>https://forem.com/marcosplusplus/how-to-optimize-the-cd-command-to-go-back-multiple-folders-at-once-1kl9</link>
      <guid>https://forem.com/marcosplusplus/how-to-optimize-the-cd-command-to-go-back-multiple-folders-at-once-1kl9</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Spend less time counting how many folders you need to go back with this hack. 😃&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Everyone in the &lt;a href="https://terminalroot.com/tags#gnu" rel="noopener noreferrer"&gt;UNIX/GNU world&lt;/a&gt; constantly uses the &lt;a href="https://terminalroot.com/50-gnu-commands-x-50-powershell-commands/" rel="noopener noreferrer"&gt;cd command&lt;/a&gt; to navigate into folders through the terminal.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;cd&lt;/code&gt; command, also known as &lt;code&gt;chdir&lt;/code&gt;, is a command implemented in command-line interfaces of various operating systems (&lt;a href="https://terminalroot.com/tags#unix" rel="noopener noreferrer"&gt;Unix&lt;/a&gt; or any &lt;a href="https://terminalroot.com/tags#bsd" rel="noopener noreferrer"&gt;Unix-like&lt;/a&gt; system, DOS, &lt;a href="https://terminalroot.com/tags#windows" rel="noopener noreferrer"&gt;Windows&lt;/a&gt;, OS/2 and AmigaOS). &lt;/p&gt;

&lt;p&gt;On &lt;a href="https://terminalroot.com/tags#gnu" rel="noopener noreferrer"&gt;GNU&lt;/a&gt; systems (used by most Linux distros) it is a &lt;em&gt;shell builtin&lt;/em&gt;, meaning it's a bit more complicated to create a &lt;a href="https://terminalroot.com/how-to-create-apply-and-use-the-patch-command/" rel="noopener noreferrer"&gt;patch&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;The &lt;code&gt;cd&lt;/code&gt; command is very useful, however, one of the most &lt;em&gt;annoying&lt;/em&gt; things is when you navigate into many folders and want to go back an exact number of steps, requiring commands like:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ../../../../../../
&lt;span class="c"&gt;# Or&lt;/span&gt;
&lt;span class="nb"&gt;cd&lt;/span&gt; ..
&lt;span class="nb"&gt;cd&lt;/span&gt; ..
&lt;span class="nb"&gt;cd&lt;/span&gt; ..
&lt;span class="nb"&gt;cd&lt;/span&gt; ..
&lt;span class="nb"&gt;cd&lt;/span&gt; ..
&lt;span class="nb"&gt;cd&lt;/span&gt; ..
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In both cases above, you need to go back &lt;em&gt;6 times&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;But we can create a &lt;a href="https://terminalroot.com/tags#bash" rel="noopener noreferrer"&gt;Bash function&lt;/a&gt; that reduces the amount of typing, making it faster and &lt;em&gt;like a boss&lt;/em&gt; to go back to the 6th folder without much difficulty, like this: &lt;code&gt;cd -6&lt;/code&gt;. Just add this function below to the end of your &lt;code&gt;~/.bashrc&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt;&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[[&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;~ ^-[0-9]+&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="o"&gt;]]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then
        &lt;/span&gt;&lt;span class="nb"&gt;local &lt;/span&gt;&lt;span class="nv"&gt;n&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;1&lt;/span&gt;&lt;span class="p"&gt;#-&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt;
        &lt;span class="nb"&gt;local &lt;/span&gt;&lt;span class="nv"&gt;path&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;""&lt;/span&gt;
        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="o"&gt;((&lt;/span&gt;&lt;span class="nv"&gt;i&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;0&lt;span class="p"&gt;;&lt;/span&gt; i&amp;lt;n&lt;span class="p"&gt;;&lt;/span&gt; i++&lt;span class="o"&gt;))&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do
            &lt;/span&gt;path+&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"../"&lt;/span&gt;
        &lt;span class="k"&gt;done
        &lt;/span&gt;&lt;span class="nb"&gt;builtin cd&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$path&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
    &lt;span class="k"&gt;else
        &lt;/span&gt;&lt;span class="nb"&gt;builtin cd&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$@&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
    &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Then reload your &lt;code&gt;~/.bashrc&lt;/code&gt; with the command: &lt;code&gt;exec $SHELL&lt;/code&gt; or &lt;code&gt;source ~/.bashrc&lt;/code&gt; and then just test it:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; &lt;span class="nt"&gt;-6&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;In other words, use &lt;code&gt;-&lt;/code&gt;(dash/minus) followed by the number of folders you want to go back, examples: &lt;code&gt;cd -8&lt;/code&gt;, &lt;code&gt;cd -7&lt;/code&gt;, &lt;code&gt;cd -11&lt;/code&gt;,...&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Remember that to go to your home folder, simply run: &lt;code&gt;cd&lt;/code&gt;(without arguments) and to return to where you were, use: &lt;code&gt;cd -&lt;/code&gt; without specifying any number!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Simple and practical, isn't it?!&lt;/p&gt;

</description>
      <category>bash</category>
      <category>shell</category>
      <category>cli</category>
    </item>
    <item>
      <title>Como otimizar o comando cd para voltar várias pastas de uma só vez</title>
      <dc:creator>Marcos Oliveira</dc:creator>
      <pubDate>Fri, 20 Feb 2026 16:32:12 +0000</pubDate>
      <link>https://forem.com/marcosplusplus/como-otimizar-o-comando-cd-para-voltar-varias-pastas-de-uma-so-vez-28kh</link>
      <guid>https://forem.com/marcosplusplus/como-otimizar-o-comando-cd-para-voltar-varias-pastas-de-uma-so-vez-28kh</guid>
      <description>&lt;blockquote&gt;
&lt;p&gt;Perca menos tempo contando quantas pasta vc precisa voltar com esse hack. 😃 &lt;/p&gt;
&lt;/blockquote&gt;




&lt;p&gt;Todos do &lt;a href="https://terminalroot.com.br/tags#gnu" rel="noopener noreferrer"&gt;mundo UNIX/GNU&lt;/a&gt; usam constantemente o &lt;a href="https://terminalroot.com.br/2014/09/alguns-comandos-gnulinux-por-categorias.html" rel="noopener noreferrer"&gt;comando cd&lt;/a&gt; para entrar em pastas pelo terminal.&lt;/p&gt;

&lt;p&gt;O comando &lt;code&gt;cd&lt;/code&gt;, também conhecido por &lt;code&gt;chdir&lt;/code&gt;, é um comando implementado em interfaces de linha de comandos de diversos sistemas operacionais (&lt;a href="https://terminalroot.com.br/tags#unix" rel="noopener noreferrer"&gt;Unix&lt;/a&gt; ou qualquer um do &lt;a href="https://terminalroot.com.br/tags#bsd" rel="noopener noreferrer"&gt;tipo Unix&lt;/a&gt;, DOS, &lt;a href="https://terminalroot.com.br/tags#windows" rel="noopener noreferrer"&gt;Windows&lt;/a&gt;, OS/2 e AmigaOS). &lt;/p&gt;

&lt;p&gt;Nos sistemas &lt;a href="https://terminalroot.com.br/tags#gnu" rel="noopener noreferrer"&gt;GNU&lt;/a&gt;(usado pela maioria das distros Linux) ele é um &lt;em&gt;shell builtin&lt;/em&gt;, ou seja, é um pouco mais complicado de fazer um &lt;a href="https://terminalroot.com.br/2021/06/como-criar-aplicar-e-usar-o-comando-patch.html" rel="noopener noreferrer"&gt;patch&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;O comando &lt;code&gt;cd&lt;/code&gt; é muito útil, no entanto, uma das coisas mais &lt;em&gt;chatas&lt;/em&gt; é quando você entra em muitas pastas e deseja voltar somente um quantidade exata e precisa rodar comando exemplo isso:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; ../../../../../../
&lt;span class="c"&gt;# Ou&lt;/span&gt;
&lt;span class="nb"&gt;cd&lt;/span&gt; ..
&lt;span class="nb"&gt;cd&lt;/span&gt; ..
&lt;span class="nb"&gt;cd&lt;/span&gt; ..
&lt;span class="nb"&gt;cd&lt;/span&gt; ..
&lt;span class="nb"&gt;cd&lt;/span&gt; ..
&lt;span class="nb"&gt;cd&lt;/span&gt; ..
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Em ambos os casos acima, é necessário voltar &lt;em&gt;6 vezes&lt;/em&gt;.&lt;/p&gt;

&lt;p&gt;Mas, podemos criar um &lt;a href="https://terminalroot.com.br/tags#bash" rel="noopener noreferrer"&gt;função Bash&lt;/a&gt; que diminue essa quantidade de escrita para facilitar ir de forma mais rápida e &lt;em&gt;like a boss&lt;/em&gt; para a 6º pasta atrás sem muita dificuldade, assim: &lt;code&gt;cd -6&lt;/code&gt;, basta adicionar essa função abaixo ao final do seu &lt;code&gt;~/.bashrc&lt;/code&gt;:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt;&lt;span class="o"&gt;()&lt;/span&gt; &lt;span class="o"&gt;{&lt;/span&gt;
    &lt;span class="k"&gt;if&lt;/span&gt; &lt;span class="o"&gt;[[&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$1&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt; &lt;span class="o"&gt;=&lt;/span&gt;~ ^-[0-9]+&lt;span class="nv"&gt;$ &lt;/span&gt;&lt;span class="o"&gt;]]&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;then
        &lt;/span&gt;&lt;span class="nb"&gt;local &lt;/span&gt;&lt;span class="nv"&gt;n&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="k"&gt;${&lt;/span&gt;&lt;span class="nv"&gt;1&lt;/span&gt;&lt;span class="p"&gt;#-&lt;/span&gt;&lt;span class="k"&gt;}&lt;/span&gt;
        &lt;span class="nb"&gt;local &lt;/span&gt;&lt;span class="nv"&gt;path&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;""&lt;/span&gt;
        &lt;span class="k"&gt;for&lt;/span&gt; &lt;span class="o"&gt;((&lt;/span&gt;&lt;span class="nv"&gt;i&lt;/span&gt;&lt;span class="o"&gt;=&lt;/span&gt;0&lt;span class="p"&gt;;&lt;/span&gt; i&amp;lt;n&lt;span class="p"&gt;;&lt;/span&gt; i++&lt;span class="o"&gt;))&lt;/span&gt;&lt;span class="p"&gt;;&lt;/span&gt; &lt;span class="k"&gt;do
            &lt;/span&gt;path+&lt;span class="o"&gt;=&lt;/span&gt;&lt;span class="s2"&gt;"../"&lt;/span&gt;
        &lt;span class="k"&gt;done
        &lt;/span&gt;&lt;span class="nb"&gt;builtin cd&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$path&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
    &lt;span class="k"&gt;else
        &lt;/span&gt;&lt;span class="nb"&gt;builtin cd&lt;/span&gt; &lt;span class="s2"&gt;"&lt;/span&gt;&lt;span class="nv"&gt;$@&lt;/span&gt;&lt;span class="s2"&gt;"&lt;/span&gt;
    &lt;span class="k"&gt;fi&lt;/span&gt;
&lt;span class="o"&gt;}&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Depois releia o seu &lt;code&gt;~/.bashrc&lt;/code&gt; com o comando: &lt;code&gt;exec $SHELL&lt;/code&gt; ou &lt;code&gt;source ~/.bashrc&lt;/code&gt; e depois é só testar:&lt;br&gt;
&lt;/p&gt;

&lt;div class="highlight js-code-highlight"&gt;
&lt;pre class="highlight shell"&gt;&lt;code&gt;&lt;span class="nb"&gt;cd&lt;/span&gt; &lt;span class="nt"&gt;-6&lt;/span&gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;/div&gt;



&lt;p&gt;Ou seja, use &lt;code&gt;-&lt;/code&gt;(traço/menos) o número de pastas atrás que deseja, exemplos: &lt;code&gt;cd -8&lt;/code&gt;, &lt;code&gt;cd- 7&lt;/code&gt;, &lt;code&gt;cd -11&lt;/code&gt;,...&lt;/p&gt;

&lt;blockquote&gt;
&lt;p&gt;Lembrando que para ir para a pasta pessoal basta rodar: &lt;code&gt;cd&lt;/code&gt;(sem argumentos) e para retornar onde estava, use: &lt;code&gt;cd -&lt;/code&gt; sem definir nenhum número!&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Simples e prático, né?!&lt;/p&gt;

</description>
      <category>bash</category>
      <category>terminal</category>
      <category>cli</category>
    </item>
  </channel>
</rss>
