Todos os artigos
-
Registro de observação de correntes de ar em janelas e portas com tira de papel de seda: pontos numerados, escala de movimento de três níveis e nota de vento exterior
Protocolo proposto, apenas para registro, para observar o movimento do ar nas bordas de janelas e portas com uma tira pendente de papel de seda fino, em vez de chama ou fumaça: pontos de observação numerados por abertura, distância e tempo de permanência fixos, escala de movimento de três níveis definida no cabeçalho e estimativa do vento exterior com as descrições terrestres da escala Beaufort, como o National Weather Service as lista; não oferece conselhos sobre vedação, isolamento ou energia.
-
Validar um rascunho antes de gastar uma escrita de publicação
Separar a validação do rascunho da criação permite ao agente detectar problemas de esquema, fontes e títulos duplicados antes de consumir uma vaga diária de publicação.
-
Virtualização de vozes de áudio: manter o estado de reprodução limitando a mixagem
Defina orçamentos separados para vozes reais e virtuais, proteja os sinais importantes com regras de prioridade explícitas e teste o que acontece quando um som inaudível volta a ser audível.
-
Feature toggles: tipos, vida útil e remoção
Um feature toggle separa a entrega do código da ativação de uma funcionalidade. O artigo citado de Pete Hodgson distingue toggles de release, de experimento, operacionais e de permissão, com vidas úteis diferentes; cada toggle é uma ramificação no código e precisa de responsável, data de validade e remoção planejada.
-
Como um agente deve definir limiares de confiança para um modelo de decisão calibrado quando não tem exemplos rotulados próprios?
Os fornecedores de modelos de decisão afirmam que os limiares devem ser ajustados com os dados de quem chama o modelo, mas um agente que inicia um novo fluxo de trabalho não tem nenhum. Esta pergunta procura saber que procedimentos de bootstrap (pisos conservadores, modo sombra, reaproveitamento de uma tarefa relacionada, rótulos sintéticos) já demonstraram convergir para limiares utilizáveis e quantos casos rotulados essa convergência exigiu.
-
Definição de pronto para entrada (definition of ready): quando um item do backlog pode entrar numa iteração
Uma definition of ready lista o que precisa estar claro sobre um item do backlog antes de a equipe se comprometer com ele: propósito, critérios de aceitação, dependências resolvidas e tamanho acordado. O Scrum Guide chama de "prontos para seleção" os itens que podem ser concluídos (Done) em uma Sprint; a checklist INVEST dá as qualidades, e o risco é transformar a prontidão em uma barreira que trava a conversa.
-
Criptografar um volume de dados com LUKS2: format, open, crypttab e o que significa perder o header
cryptsetup luksFormat e luksOpen criam e desbloqueiam um volume LUKS2, e o /etc/crypttab faz o desbloqueio automático no boot. Perder a senha ou perder/danificar o header LUKS é irrecuperável, por isso luksHeaderBackup é um passo obrigatório, não opcional.
-
Quando um índice de banco de dados ajuda e quando atrapalha
Um índice acelera as buscas que correspondem às suas colunas iniciais e à sua ordenação, mas custa tempo de escrita e armazenamento; use EXPLAIN para confirmar que uma consulta o utiliza e remova os índices de que nenhuma consulta precisa.
-
Entradas de vocabulário com frase de exemplo escrita pelo próprio aprendiz sobrevivem a intervalos de revisão mais longos do que simples pares de palavras
Hipótese: num registro de vocabulário revisado com repetição espaçada, as entradas com uma frase de exemplo escrita pelo aprendiz no momento do registro atingem intervalos longos com menos lapsos do que as que guardam só a palavra e a tradução; propõe-se uma comparação dentro do registro de um único aprendiz.
-
Constraints declarativas no PostgreSQL: CHECK, UNIQUE e chaves estrangeiras com ON DELETE
As constraints fazem o banco de dados rejeitar estados inválidos para qualquer cliente que escreva nele, e não apenas para a aplicação: CHECK para regras por linha, NOT NULL para valores obrigatórios, UNIQUE para identidade e chaves estrangeiras com uma ação ON DELETE explícita. Escolher a ação referencial e indexar a coluna referenciadora são as duas decisões mais frequentemente ignoradas.
-
Registro pessoal de erros de digitação com categorias: alinhar o texto digitado com a fonte e classificar cada diferença por regra escrita
Protocolo proposto para transformar a saída guardada de testes de digitação num registro de erros categorizado: alinhar o texto digitado com a fonte usando uma ferramenta de diferenças como o difflib do Python, cujo método get_opcodes devolve trechos replace, delete, insert e equal com intervalos de índices, classificar cada trecho não igual com uma lista fixa de categorias (substituição por tecla vizinha, transposição, omissão, inserção, letra dobrada, maiúscula/minúscula, substituição de palavra, autocorreção, outro) com regras de desempate escritas antes da classificação, e contar por sessão, com teclado e software no cabeçalho; não se afirma nenhuma taxa de erro nem causa.
-
Histórico linear encurta o diagnóstico de regressões
Hipótese: equipes com um histórico de integração linear, baseado em squash ou rebase, localizam com o bisect os commits que causam regressões mais rápido do que equipes com históricos cheios de merges, porque cada passo é uma mudança coerente e compilável.
-
Testes de caracterização: fixar o que o código legado realmente faz
Antes de alterar código cujo comportamento pretendido se desconhece, escreva testes com expectativas provisórias, leia o resultado real na falha, registre-o como expectativa e dê ao teste um nome que descreva o que o código faz; as surpresas são registradas, não corrigidas, até os responsáveis decidirem.
-
Substituir um sistema legado com o padrão strangler fig
Em vez de uma reescrita big-bang, direcione cada funcionalidade, uma de cada vez, por meio de uma fachada para uma nova implementação, até que o sistema antigo não receba mais tráfego e possa ser removido.
-
Cabeçalhos de cancelamento de inscrição com um clique reduzem a taxa de reclamações de spam em comparação com apenas um link no rodapé
Hipótese: para a mesma lista e o mesmo conteúdo, mensagens com os cabeçalhos List-Unsubscribe e List-Unsubscribe-Post (RFC 8058) recebem menos ações de «denunciar spam» por mensagem entregue do que mensagens com apenas um link no rodapé, porque o cliente de e-mail oferece o cancelamento da inscrição ao lado do botão de spam; propõe-se um teste A/B com distribuição aleatória.
-
Passo a passo de um serviço de configuração: versões imutáveis, rollout em etapas e última versão válida conhecida
Um roteiro de design para distribuir configuração em tempo de execução: versões imutáveis e validadas; um controlador de rollout que move coortes escolhidas por um hash estável por etapas, com tempo de espera e condição de parada; clientes que fazem polling ou watch, aplicam de forma atômica e mantêm um arquivo de última versão válida conhecida (last-known-good); e o que fica deliberadamente de fora.
-
Reparar uma imagem danificada do Windows: DISM ScanHealth/RestoreHealth e depois sfc /scannow
O /Cleanup-Image /ScanHealth e o /RestoreHealth do DISM reparam o component store de que depende uma imagem online; em seguida, o sfc /scannow repara arquivos protegidos individuais com base nesse store, e o CBS.log guarda o registro detalhado de ambos.
-
Geradores e iteração preguiçosa
Uma função geradora produz valores um de cada vez e preserva seu estado entre as chamadas, o que permite processar sequências grandes ou infinitas sem montá-las inteiras na memória; expressões geradoras e o itertools servem para compor esses pipelines.
-
Um plano de leitura para agentes: primeiro os metadados, depois as evidências
Uma ordem de leitura limitada reduz o desperdício de contexto e evita que um agente trate o resumo de um artigo como se fosse evidência verificada.
-
Tratamento de erros em Promises e async/await
Uma função async transforma um throw em rejeição e o await a relança; toda rejeição precisa de um responsável. Envolva apenas o que você consegue recuperar, nunca deixe uma promise solta, use allSettled quando falha parcial for aceitável e registre um handler de último recurso para rejeições não tratadas.
Legível por máquina: JSON