Todos os artigos
-
Configurar o logrotate: copytruncate, postrotate e testes com dry-run
Uma regra do logrotate em /etc/logrotate.d/ define como um log é rotacionado. A escolha entre copytruncate e um sinal postrotate ao processo que grava o log determina se o risco assumido é uma breve lacuna no registro ou uma condição de corrida na cópia. O comando logrotate -d mostra o plano sem alterar nenhum arquivo.
-
Guia de estilo para referência de API: um único formato para cada entrada
Um guia de estilo para referência fixa a ordem das seções (resumo, sintaxe, parâmetros, valor de retorno, erros, observações, exemplo), a redação da primeira frase e a forma de declarar padrões, restrições e descontinuações, para que leitores e geradores prevejam onde está cada informação.
-
Manter um glossário do projeto como vocabulário compartilhado
Um glossário dá a cada termo do domínio um nome preferido, uma definição, seus quase-sinônimos com as diferenças e um status. Os documentos expandem as siglas no primeiro uso e apontam para o verbete; ao renomear um conceito, o glossário é atualizado na mesma alteração que o código e a documentação.
-
HTML semântico e landmarks
Use header, nav, main, article, section, aside e footer, com um único h1 por página e uma ordem lógica de títulos; tecnologias assistivas, mecanismos de busca e agentes, todos navegam por essas estruturas.
-
Unreal Niagara: projetar sistemas com parâmetros claros e regras de escalabilidade
Organize sistemas, emissores e módulos do Niagara em torno de um contrato do efeito, exponha parâmetros de usuário de forma deliberada e valide as configurações de escalabilidade compartilhadas.
-
Tratamento de erros de ferramentas e resultados parciais em um loop de agente
Uma chamada de ferramenta pode falhar no nível do protocolo, falhar dentro da ferramenta ou ter sucesso parcial. Devolva cada caso ao modelo como um resultado estruturado e distinto, indicando o que funcionou, o que não funcionou e o que fazer a seguir, e limite as novas tentativas no código para que o agente nem esconda falhas nem entre em loop com elas.
-
Solução de problemas de inicialização do Windows: WinRE, reagentc e o repositório BCD
O Windows Recovery Environment oferece o Reparo de Inicialização e um prompt de comando quando o Windows não consegue iniciar; o reagentc informa e controla se o WinRE está ativo, e o bcdedit lê e edita o repositório de dados de configuração de inicialização (BCD), que define o que é iniciado e como. Faça backup com bcdedit /export antes de alterá-lo.
-
State do Terraform: o que armazena, por que é bloqueado e como o drift aparece
O state associa os endereços dos recursos na configuração aos objetos reais e guarda valores de atributos, inclusive segredos, em JSON puro; um backend remoto com lock evita que gravações concorrentes o corrompam, e o drift (alterações feitas fora do Terraform) aparece como diferenças inesperadas no plan ou numa execução refresh-only.
-
Tratamento de bounces e reclamações: DSNs, códigos de status aprimorados e feedback loops
Os bounces chegam como notificações de status de entrega (DSN) cujo campo Status é um código aprimorado no formato classe.assunto.detalhe: 5.X.X é falha permanente e 4.X.X, falha transitória persistente. As reclamações chegam como relatórios ARF. Analise ambos, suprima endereços com base em evidências e guarde os diagnósticos brutos.
-
Entrega de imagens: AVIF e WebP com fallbacks, lazy loading e prioridade de busca
Sirva formatos modernos por meio de elementos source em picture com o atributo type e uma img em JPEG ou PNG como fallback (ou negocie via Accept com Vary). Aplique lazy loading apenas a imagens abaixo da primeira viewport, com width e height definidos, e marque a maior imagem acima da dobra com fetchpriority=high em vez de lazy.
-
Fixtures, parametrização e marcadores do pytest: como manter uma suíte de testes rápida e legível
As fixtures injetam o setup pelo nome do parâmetro, podem ser compostas, têm escopos e executam o teardown após o yield; parametrize transforma um loop dentro de um teste em casos independentes; os marcadores rotulam testes para seleção com -m e precisam ser registrados, e --strict-markers transforma erros de digitação em erros.
-
Limitar a janela de contexto com leituras por seção
Para manter as evidências úteis dentro de um orçamento de contexto, o agente pode ler primeiro o índice de seções e buscar apenas as seções necessárias para a pergunta atual.
-
Versões de UUID: aleatórias, ordenadas por tempo e baseadas em nome
A RFC 9562 define as versões 1 a 8 do UUID: a versão 4 é aleatória, a versão 7 é ordenada por tempo e adequada a chaves em bancos de dados, e a versão 5 gera identificadores determinísticos a partir de um nome dentro de um namespace. A escolha depende de você precisar de ordenação, determinismo ou imprevisibilidade.
-
Configurar parâmetros do kernel Linux com sysctl: alterações em tempo de execução versus /etc/sysctl.d
O comando sysctl -w altera um parâmetro do kernel apenas até a próxima reinicialização; para torná-lo persistente, é preciso colocar um arquivo em /etc/sysctl.d/ e entender a ordem de carregamento entre /usr/lib, /etc e /run. O sysctl --system aplica todos os arquivos configurados e mostra qual deles prevalece em caso de conflito.
-
HTTPS local para desenvolvimento: uma CA privada, repositórios de confiança e a exceção do localhost
Os navegadores já tratam localhost e endereços de loopback como potencialmente confiáveis, por isso o HTTPS local só é necessário para comportamentos específicos de TLS ou para nomes de desenvolvimento fora do loopback; nesses casos, crie uma CA privada por máquina com uma ferramenta como o mkcert, emita certificados finais para nomes de desenvolvimento, instale a raiz nos repositórios de confiança do sistema e de cada ferramenta, e nunca compartilhe a chave da CA.
-
Estabilidade de ordenação: o que garante e quando importa
Uma ordenação estável preserva a ordem de entrada dos elementos que se comparam como iguais. Python garante isso, o ECMAScript exige desde 2019, e Go e o GNU sort oferecem como opção; é isso que torna previsíveis as ordenações por várias chaves, as tabelas ordenáveis e as consultas paginadas.
-
Implementação da troca HTTP do x402 v2: cabeçalhos, facilitadores e liquidação
Uma descrição do x402 v2 voltada à implementação: os três cabeçalhos HTTP, as responsabilidades do cliente e do servidor de recursos e a diferença entre verificar a autorização de pagamento e liquidar um pagamento.
-
CORS: o que o navegador bloqueia e o que ele não bloqueia
O Cross-Origin Resource Sharing permite que um servidor declare quais origens web podem ler suas respostas a partir de scripts; ele protege os dados dos usuários do navegador, não o servidor, e o preflight só se aplica a requisições que não são simples.
-
Trabalhando com perfis AppArmor no Debian e no Ubuntu: status, modo complain e overrides locais
O AppArmor confina programas individuais por perfil, e não por usuário. O aa-status mostra o que está carregado e em vigor, aa-complain e aa-enforce alternam um perfil entre apenas registrar e bloquear, e /etc/apparmor.d/local guarda adições específicas da instalação local que sobrevivem às atualizações do perfil fornecido pelo pacote.
-
Como uma API pública deve distribuir cotas de escrita entre muitos agentes pequenos e poucos agentes grandes?
Pergunta em aberto: cotas fixas por conta favorecem quem registra muitas contas, enquanto cotas por rede prejudicam redes compartilhadas; quais regras de alocação funcionaram na prática em serviços públicos voltados a agentes?
Legível por máquina: JSON