Análise Técnica · 2026

NeonX

A história de um colorizador de terminal nascido no Termux que evoluiu além do lolcat e redefiniu o que ferramentas CLI podem ser.

01 — Contexto

A Evolução dos Colorizadores de Terminal

De scripts Perl nos anos 2000 até engines procedurais em C com WebAssembly — uma linha do tempo da arte de colorir o terminal.

~2000 — Pioneiros
Os primeiros colorizers: colorize, ccze e grc
Os primeiros colorizadores surgiram como ferramentas utilitárias para sysadmins. O ccze focava em logs de sistema — syslog, procmail, httpd. O grc usava arquivos de configuração regex para aplicar cores a qualquer saída. Nenhum pensava em estética: era pura utilidade.
2011 — Marco cultural
lolcat (Ruby) — "Rainbows and unicorns!"
Em agosto de 2011, busyloop lança o lolcat como Ruby gem. Gradiente arco-íris no terminal. Alcançou 5M+ downloads e 6.499 estrelas. O ponto de inflexão que provou que o terminal pode ser divertido — não só funcional. Mas renderizava linha a linha, lento, sem customização real.
~2013 — Performance
lolcat em C (jaseg) — 150× mais rápido
jaseg reescreve o lolcat em C. O original levava ~16s para processar um arquivo; a versão C, 0,09s. Mas ainda renderizava linha a linha — o problema raiz continuou sem solução. Mais rápido, mesma limitação arquitetural.
2015–2020 — Diversificação
bat, grc modernizado, versões em Go e Rust
Segunda geração de ferramentas: bat (syntax highlighting em Rust), versões do lolcat em Go e Rust. Cada uma mais rápida, mas todas ainda line-by-line. O lolcat original entra em hibernação — último release: fevereiro de 2020.
2026 — NeonX
Engine de renderização procedural, não um colorizer
Desenvolvido no Termux (Android), em C puro. Na v2.2.6-STABLE, o NeonX não é um colorizer: é uma engine de renderização com aritmética de ponto fixo Q16.16, 12 modos de shader, 21 presets temáticos, WebAssembly e verificação de integridade Ed25519.
02 — Ecossistema

As Ferramentas do Universo

Os principais players que definiram o espaço de coloring e estética de terminal.

💎
lolcat (original)
Ruby · busyloop · 2011
O pai de todos os colorizadores estéticos. Gradiente arco-íris contínuo na saída padrão. Grande impacto cultural, mas lento e sem customização avançada.
Histórico Rainbow only 5M+ downloads
lolcat-c (jaseg)
C · jaseg · ~2013
Reimplementação de alta performance em C puro. 150× mais rápido que o Ruby. Foco absoluto em eficiência — sem presets, sem animações avançadas, sem customização.
Alta performance Features mínimas Sem presets
🦇
bat
Rust · sharkdp · 2018
Substituto moderno do cat com syntax highlighting de código-fonte e integração com git diff. Focado em legibilidade, não estética visual.
Syntax highlight Rust Git integrado
🎨
grc
Python · garabik · ~2000
Generic Colouriser — colore saída de comandos (ip, dig, df) via regex. Ferramenta semântica para sysadmins. Extensível, mas sem estética procedural.
Semântico Regex-based Sysadmin
📜
ccze
C · mezo · ~2000
Especializado em colorir logs de sistema. Alta performance para servidores. Sem desenvolvimento ativo há mais de 10 anos.
Log-focused C nativo Inativo
NeonX
C Puro · inrryoff · 2026
Engine de renderização procedural. 12 modos de shader, 21 presets, gradientes hex, modo stream para logs, WebAssembly, 19 idiomas e verificação Ed25519.
Engine completa WASM 21 presets
03 — Comparativo

Feature Matrix Detalhada

Comparação técnica entre NeonX e as principais ferramentas. Arraste para o lado no mobile.

← deslize para ver tudo →

Recurso lolcat Ruby lolcat-c bat grc NeonX ✦
LinguagemRubyCRustPythonC puro (C99/C11)
Dependências externas Ruby+gems Zero~ Cargo Python Zero
Velocidade Lento Muito rápido Rápido Médio LUT + zero-alloc
Modos de animação110012 modos
Presets temáticos~ Sintaxe21 presets
Cores hex customizáveis~ Hue~ Regex --color1/--color2
Modo stream (tail -f)~~ Flag -L
WebAssembly WASM + demo HTML
Windows nativo~ x64 + x86
Android (Termux) ARM64 + ARM32
Internacionalização~ 19 idiomas
Verificação de integridade Ed25519 + BLAKE2b
API como biblioteca C~ neonx.h pública
Aritmética ponto fixo Q16.16
Controle de FPS~ -F [fps]
Ângulo do gradiente -A [0–360°]
Status de manutenção Inativo 2020~ Mínimo Ativo~ Baixo Ativo 2026
Suportado ~ Parcial Não suportado
04 — Arquitetura

O que torna o NeonX diferente

Decisões de design que elevam o NeonX de "um lolcat melhor" para uma engine própria.

01. Ponto Fixo Q16.16 — sem float, sem double

Todos os cálculos de shader usam inteiros de 32 bits em formato Q16.16. Sem FPU necessária, comportamento consistente em qualquer plataforma — incluindo WASM sem unidade de ponto flutuante dedicada.

// Todos os shaders em ponto fixo — sem float
typedef int32_t fixed_t; // Q16.16
#define FIXED_MUL(a,b) ((fixed_t)(((int64_t)(a)*(b))>>16))
02. 12 Modos de Shader
Modo 0 — Horizontal
Gradiente linear por posição X. Base do preset cyberpunk e hacker.
🌅
Modo 1 — Sunset
Transição vertical dramática. Usado em Dracula e Rose.
Modo 4 — Ondas
Função senoidal com fase animada. O mais próximo do lolcat, mas com controle total.
💻
Modo 10 — Matrix
Shader com scanlines e brilho digital. Presets matrix e toxic.
Radial
Distância euclidiana via isqrt64 em ponto fixo — gradiente circular.
+ 7 modos
Plasma, fading vertical, ondas compostas e shaders especializados por preset.
03. Módulos internos
render_core.c
Pixel por caractere. Interface via RenderDriver — mesma lógica serve CLI e WASM.
math_fixed.c
Q16.16, LUT de seno com 4096 entradas, isqrt64, entropia via /dev/urandom.
shader_effects.c
Fórmulas procedurais de cada modo: sunset, matrix, plasma, radial.
integrity.c
Ed25519 + BLAKE2b via Monocypher. O binário valida sua própria assinatura.
msgs.c
19 idiomas com detecção via LANG. Macro MSG(id) para acesso simples.
main_wasm.c
Bridge Emscripten. Exporta funções críticas para JS via WebAssembly.
terminal.c
Estado TTY, buffer de saída, controle de FPS, SIGINT handler, isatty.
shaders.c
Mapa de presets: nome → modo + paleta RGB + ângulo. 21 presets.
04. Na prática
# Equivalente básico ao lolcat
cat banner.txt | neonx

# O que o lolcat nunca fez: presets temáticos
tail -f app.log | neonx --preset dracula -L

# Gradiente com cores hex
echo "Deploy OK" | neonx --color1 "#00ffcc" --color2 "#ff3cac"

# Verificar integridade do binário
neonx --verify-sig
05 — Análise

Pontos Fortes e Oportunidades

Uma avaliação honesta do NeonX no contexto do ecossistema atual.

Pontos Fortes
  • Engine procedural genuína — não apenas um colorizer
  • Zero dependências externas, C puro portável
  • Único com WebAssembly nativo no ecossistema
  • Linux, macOS, Windows, Android e WASM
  • Ponto fixo Q16.16 — consistente sem FPU
  • Integridade criptográfica Ed25519 + BLAKE2b
  • 19 idiomas com detecção automática
  • Modo stream -L dedicado para tail -f
  • API C pública via neonx.h
  • CI/CD em 3 sistemas operacionais simultâneos
Oportunidades
  • Comunidade menor que o lolcat (histórico de 2011)
  • Instalação mais complexa que gem install ou apt
  • 12 modos + 21 presets + muitas flags podem intimidar
  • Licença Source Available dificulta repositórios oficiais
  • Gargalo do tty/pty (~4KB) ainda sem solução definitiva
  • WASM ainda em beta, não estável
Score por dimensão
Features / Recursos
9.6
Portabilidade
9.5
Segurança / Integridade
9.5
Performance (design)
9.2
Qualidade de código
9.0
Facilidade de instalação
6.5
Tamanho de comunidade
4.5
O NeonX não compete com o lolcat — ele o supera em quase todas as dimensões técnicas enquanto ocupa uma categoria que o lolcat nunca tentou: engine de renderização estética de terminal. Uma ferramenta criada no Termux, distribuída com assinatura Ed25519 e rodando em WebAssembly.