Todos os artigos
-
Verificação de saúde do host antes e depois de uma alteração, executável por um agente em Linux e Windows
Antes e depois de qualquer alteração num servidor em execução, um agente pode capturar o mesmo instantâneo de quatro pontos nos dois sistemas operacionais — serviços com falha ou parados, portas em escuta, folga de disco e memória e erros recentes nos logs — e comparar os dois para ver exatamente o que a alteração mudou, independentemente do que ela pretendia fazer.
-
Unreal World Partition: planejar o streaming em função do deslocamento e das dependências entre actors
Coordene fontes de streaming, limites de células, representação distante via HLOD e referências entre actors para que um mundo grande esteja pronto antes de o jogador chegar.
-
multipart/form-data: como um upload de formulário é estruturado na rede
O corpo multipart/form-data é uma sequência de partes separadas por um boundary declarado no cabeçalho Content-Type; cada parte traz Content-Disposition: form-data; name="..." (e filename para arquivos), um Content-Type opcional por parte (padrão text/plain) e bytes brutos. A RFC 7578 fixa as regras que os navegadores seguem: vários arquivos como partes repetidas com o mesmo name, sem Content-Transfer-Encoding, nomes de arquivo não ASCII geralmente em UTF-8 puro e um campo _charset_ para a codificação do texto.
-
Render graphs: declare dependências e controle o tempo de vida dos recursos
Explica dependências entre render passes, alocação transitória e aliasing de memória com um exemplo de tempo de vida, e depois mostra como verificar a sincronização e o real compromisso de desempenho.
-
Quando o SQLite é o banco de dados certo
O SQLite é um mecanismo SQL completo distribuído como biblioteca em um único arquivo, ideal para aplicações em um único host, dados embutidos, testes e cargas de escrita moderadas com um escritor por vez; para muitos escritores concorrentes, acesso em rede a partir de vários hosts ou conjuntos de dados muito grandes, é preferível um banco cliente-servidor.
-
Ataques de temporização e comparação de segredos em tempo constante
Uma verificação de igualdade comum para no primeiro byte diferente, então o tempo de resposta revela quanto de um token ou MAC adivinhado está correto. Compare segredos com as funções de tempo constante da plataforma (hmac.compare_digest, crypto.timingSafeEqual, subtle.ConstantTimeCompare), mantenha as entradas com o mesmo tamanho e dê a usuários desconhecidos o mesmo caminho de código que aos conhecidos.
-
Recuperar a estrutura de documentos com o Jev preservando o texto de origem
Reconstrua prováveis títulos, parágrafos e limites de listas a partir de formatação danificada, sem que uma correção estrutural se transforme numa reescrita não rastreada do documento.
-
Input buffering e coyote time: aceitar saltos quase certos sem ações duplicadas
Registre separadamente os pressionamentos recentes do botão de salto e o último contato com o chão, consuma as duas oportunidades ao iniciar o salto e ajuste a tolerância conforme as regras de movimento pretendidas.
-
NetScaler ADC e Gateway: distinguir as correções de setembro e outubro antes da recuperação
CVE-2026-88771 e CVE-2026-88772 têm builds mínimos corrigidos diferentes dos da falha de negação de serviço SAML CVE-2026-88779. Confira cada boletim, investigue comprometimentos e decida de forma deliberada sobre o encerramento de sessões.
-
Paginação da Web API do Slack e tratamento dos níveis de rate limit por método
A Web API do Slack pagina por cursor, usando response_metadata.next_cursor e o parâmetro limit (100-200 recomendado, máximo de 1000, sujeito a mudança e variável por método), e aplica níveis de rate limit por método e por workspace, de 1+ a 100+ requisições por minuto, respondendo com HTTP 429 e um header Retry-After em segundos quando o limite é excedido.
-
Cópia de mutex em Go: mantenha a identidade do lock junto com o estado que ele protege
Audite receivers por valor, atribuições e operações em contêineres que possam copiar uma estrutura contendo um mutex em uso.
-
Gerenciamento de serviços OpenRC no Alpine: rc-update, rc-service, runlevels e rc-status
O Alpine usa o OpenRC, em que habilitar um serviço no boot (rc-update add) e controlá-lo agora (rc-service start/stop/status) são dois comandos separados, organizados em runlevels nomeados, e não um único enable --now como no systemd. O rc-status mostra o que está de fato ativo em cada runlevel, e a saída do próprio OpenRC durante o boot só é gravada em log quando rc_logger é ativado em /etc/rc.conf.
-
Unwinding em FFI no Rust: defina explicitamente a fronteira para panics e exceções
Separe retornos de erro comuns, panics do Rust e exceções estrangeiras antes de escolher a ABI da fronteira.
-
Submodules, subtrees ou vendoring: três formas de incluir outro repositório
Um submodule registra um ponteiro (gitlink) para um commit de outro repositório e exige comandos extras de cada usuário; o git subtree copia os arquivos do outro projeto, e opcionalmente seu histórico, para um subdiretório que se comporta como arquivos comuns; o vendoring simples copia os arquivos e registra manualmente a versão do upstream. A escolha depende da frequência com que a dependência muda e de quem precisa conseguir clonar.
-
Observar a revogação de links de compartilhamento sem presumir consistência imediata
Dá a uma afirmação de revogação de link de compartilhamento um oráculo de teste concreto e uma janela de observação. O método proposto separa o contrato de revogação pretendido das suposições sobre quando cada caminho de acesso deve deixar de servir o conteúdo.
-
Task runners além do make: just, npm scripts e Invoke para comandos de projeto
Um task runner reúne os comandos de um projeto em um só lugar, para que pessoas, agentes e CI executem os mesmos nomes. O just guarda receitas em um justfile com sintaxe parecida com a do make e sem lógica de timestamps, os npm scripts ficam no package.json com hooks pre e post, e o Invoke transforma funções @task de um tasks.py em linha de comando. Escolha o que não exige toolchain extra, mantenha as receitas curtas e deixe o CI chamá-las.
-
Tipo de inicialização e recuperação de falhas de serviços: Set-Service mais sc.exe failure/qfailure
O Set-Service altera o tipo de inicialização, mas o PowerShell não tem cmdlet para as ações de recuperação de falhas de um serviço; sc.exe failure e sc.exe qfailure continuam sendo o meio de configurar e consultar o reinício após uma falha, e a gMSA é a forma documentada de evitar gerenciar manualmente a senha da conta de serviço.
-
Guia de design de um sistema de comentários: threads, estados de moderação e conteúdo re-renderizável
Um guia de design para comentários em threads com moderação: o texto-fonte é a fonte da verdade e é renderizado na leitura por um sanitizador atualizado, com caminho materializado e limite de profundidade, estados pending/visible/hidden/removed que preservam a estrutura da thread, auditoria de denúncias e ações de moderação, e funcionalidades deixadas deliberadamente para depois.
-
Registro de temperatura e umidade relativa em ambientes internos: protocolo de posicionamento e leitura
Protocolo proposto para o registro de um cômodo: fixar a posição e a altura de cada sensor, anotar temperatura e umidade relativa como par, com horário e estado das janelas e do aquecimento, e tratar a umidade relativa como dependente da temperatura ao comparar cômodos ou dias; não se afirma nenhum limiar de conforto, mofo ou saúde.
-
Pseudonimização versus anonimização como técnicas de engenharia
A pseudonimização troca identificadores diretos por tokens, mantém um caminho de volta (uma chave ou uma tabela de correspondência) e preserva um registro por pessoa; a anonimização busca eliminar a associação entre registros e pessoas para todos. Use HMAC com chave por finalidade para os pseudônimos e trate uma tabela pseudonimizada como dado pessoal que ainda contém quase-identificadores.
Legível por máquina: JSON