Todos os artigos
-
Como criar materiais PBR metallic-roughness confiáveis
Crie entradas de material que distingam metal exposto de revestimentos dielétricos, preservem o significado das cores e continuem testáveis sob iluminação variável.
-
Mitigação de força bruta com fail2ban: jails, backends, status e como desbanir o próprio endereço
O fail2ban monitora logs em busca de falhas repetidas de autenticação e bane a origem com uma ação de firewall; a configuração deve ficar em sobrescritas no jail.local, e não no jail.conf do pacote, e é o ignoreip que impede que um endereço de administração acabe banindo a si mesmo.
-
Pin em Rust: preservar o endereço do valor apontado sem congelar a variável do ponteiro
Diagnostique erros de pinning identificando o valor sensível ao endereço e a operação que poderia movê-lo.
-
Alterações de banco de dados sem indisponibilidade: Expand e Contract
Como alterar um esquema em três etapas que podem ser entregues separadamente: expandir (criar a nova coluna ou tabela e manter a antiga), migrar (gravar nos dois lugares e preencher os dados antigos em lotes pequenos) e contrair (remover o antigo quando todo o código já usa o novo). Para evitar bloqueios longos, nenhuma tabela é reescrita em um único comando e o lock_timeout limita qualquer espera.
-
Reprodutibilidade de um experimento de machine learning: seeds, ambiente, dados e os limites do determinismo
Para repetir um experimento e obter o mesmo número, é preciso fixar estados aleatórios passados de forma explícita, fixar versões de bibliotecas, identificar o dataset e a divisão dos dados, e ter em mente que kernels de GPU e novas versões de bibliotecas ainda podem alterar os resultados; o protocolo torna as execuções repetíveis onde possível e documenta onde não são.
-
Faça um canary de mudanças de comportamento antes do rollout
Exponha um grupo limitado a um novo comportamento, compare-o com uma linha de base e interrompa o processo com base em condições de falha declaradas de antemão.
-
Uma opção explícita "nenhuma destas" em toda decisão fechada reduz a taxa de ações erradas de um agente mais do que elevar o limiar de confiança
Para um agente que roteia ou classifica com um conjunto fechado de opções e age com base no resultado, esta hipótese prevê que acrescentar uma opção explícita de abstenção ao conjunto de opções elimina mais ações erradas por ação correta bloqueada do que apertar um limiar de confiança na mesma pergunta sem essa opção.
-
Red teaming de um fluxo de trabalho de agente antes de ele receber permissões reais
Ataque o agente como conteúdo e usuários o atacarão: injeção indireta de prompt por todas as entradas que ele lê, manipulação de argumentos de ferramentas, exfiltração por chamadas de ferramentas e esgotamento de orçamento. Use sondas automatizadas e tentativas manuais, registre o que o agente fez e corrija a fronteira, não apenas o prompt.
-
Sincronização de relógio cliente-servidor: estimar o tempo sem esconder a incerteza
Use trocas de timestamps para estimar o offset em relação ao tempo do servidor, considere atraso assimétrico e deriva, e mantenha as correções de relógio separadas das políticas de simulação e de apresentação.
-
Verificação e reparo de sistemas de arquivos: fsck, xfs_repair e btrfs check em um sistema de arquivos desmontado
ext4, XFS e Btrfs têm cada um o seu próprio verificador, com regras de segurança diferentes: e2fsck e xfs_repair devem ser executados em um sistema de arquivos desmontado (xfs_repair tem o modo de simulação -n), enquanto btrfs check é somente leitura por padrão e desaconselha fortemente o uso de --repair. Quem decide se um reparo é necessário são os códigos de saída e o resultado da simulação, não a intuição.
-
Dados de teste sem dados pessoais de produção
Forneça dados realistas a desenvolvimento, CI e staging gerando-os: classifique colunas, escreva geradores com seed que passem nos validadores da aplicação, crie volume com generate_series, copie da produção apenas distribuições, marque os registros gerados de forma reconhecível e elimine o atalho de fazer dump da produção.
-
Texto SDF e MSDF: preserve as bordas dos glifos em diferentes tamanhos de exibição
Decodifique glifos de campos de distância com o intervalo e a interpretação de canais corretos, preserve as margens do atlas e mantenha o shaping de texto separado da renderização dos glifos.
-
Tags de alocação de custos: um padrão de tagging que sobrevive à exportação de faturamento
A fatura de nuvem só pode ser agrupada por tags que existam no recurso, estejam ativadas para faturamento e sejam escritas de forma consistente. Defina um conjunto curto de chaves obrigatórias, imponha-o na criação com políticas, aplique-o via infraestrutura como código e concilie o gasto sem tags todo mês.
-
Criação de armazenamento resiliente em um servidor standalone com Storage Spaces e substituição de um disco com falha
New-StoragePool para agrupar discos físicos, New-VirtualDisk com resiliência Mirror ou Parity, monitoramento da integridade com Get-PhysicalDisk e Get-StorageJob, e a sequência documentada para trocar um disco com falha sem perder o pool.
-
Qual cobertura de testes é suficiente para um serviço pequeno?
Pergunta em aberto: para um serviço com alguns milhares de linhas, um banco de dados e uma API HTTP, que nível de cobertura e que combinação de testes já foram observados mantendo taxas de defeitos aceitáveis sem atrasar as mudanças?
-
Extração estruturada de documentos com JSON Schema, validação e tentativas limitadas
Defina o registro de destino como um JSON Schema com additionalProperties false, peça ao modelo exatamente essa forma, valide cada resposta com um validador de verdade, repita um número limitado de vezes incluindo o erro de validação no prompt e encaminhe a uma pessoa o que ainda falhar, em vez de adivinhar.
-
Documentação de onboarding: o caminho de uma máquina nova até uma alteração integrada
A documentação de onboarding é um único caminho numerado que leva quem chega, pessoa ou agente, de uma máquina sem nada instalado até uma alteração integrada, usando apenas o que está escrito. Cada recém-chegado corrige o que o fez tropeçar, e o caminho tem um responsável e uma data de verificação.
-
Acesso ao socket do Docker equivale a root no host: o que montá-lo em um contêiner realmente concede
Quem consegue falar com o daemon do Docker pode iniciar um contêiner que monta o sistema de arquivos raiz do host com acesso total. Montar /var/run/docker.sock em um contêiner, adicionar um usuário ao grupo docker ou expor a API via TCP equivale, portanto, a conceder root.
-
Interfaces sensíveis à localidade: regras de plural do Intl, datas e layout da direita para a esquerda
Formate números, datas e tempos relativos com os objetos Intl do navegador em vez de manipular strings, escolha as formas de plural pelas categorias de Intl.PluralRules e não por n == 1, monte o layout com propriedades lógicas de CSS para que um documento com dir=rtl se espelhe sozinho e reserve espaço para textos que crescem na tradução.
-
Priorizar o Patch Tuesday de outubro de 2026 por evidências de exploração e ativos afetados
Um protocolo proposto de triagem de correções transforma um grande lançamento em uma fila por ativo. Exploração confirmada, exposição e consequências para o negócio orientam a urgência; o EPSS auxilia quando não há evidências de exploração.
Legível por máquina: JSON