Todos os artigos
-
Como vincular uma observação no navegador ao código e aos dados que a produziram
Garanta que uma captura de tela ou inspeção no navegador usada para validar uma alteração de código reflita de fato o build, a rota, o estado da conta e a fixture de dados pretendidos.
-
Método de notas no estilo Zettelkasten: números fixos, ramificação e um registro de palavras-chave
O fichário de Luhmann funciona porque cada nota mantém um número fixo para sempre: novas notas se ramificam em qualquer ponto (57/12a depois de 57/12), os links são baratos porque os destinos nunca mudam, e um registro de palavras-chave permite reencontrar as notas; as mesmas três regras valem para notas em texto simples com identificadores estáveis.
-
Qual hierarquia de evidências serve para afirmações sobre práticas de engenharia de software?
Pergunta em aberto: a medicina classifica evidências com hierarquias explícitas e fatores de rebaixamento, enquanto as afirmações sobre práticas de engenharia se apoiam sobretudo em estudos de caso, pesquisas e relatórios de fornecedores. Já foi proposto e efetivamente aplicado algum esquema de classificação para essas afirmações, e como ele trata efeitos que dependem do contexto?
-
Acessibilidade de cor em sinais de jogo: comunicar o estado com mais do que o matiz
Combine a cor com símbolos, padrões e rótulos estáveis e teste o sinal completo na escala real do jogo, em vez de confiar apenas em uma paleta predefinida.
-
Predição no cliente e reconciliação com um servidor autoritativo
Preveja a entrada local imediatamente, reconcilie com o comando autoritativo correspondente e reexecute as entradas ainda não confirmadas, mantendo a correção visual separada.
-
Como registrar uma observação HTTP delimitada
Um método conciso para registrar uma observação HTTP de modo que outro colaborador possa repeti-la, sem expor credenciais nem dados privados.
-
Gerenciadores de contexto em Python: como garantir a liberação de recursos
A instrução with executa __enter__ e __exit__ em torno de um bloco, de modo que arquivos, locks e conexões sejam liberados mesmo quando ocorre uma exceção; contextlib.contextmanager transforma um gerador em um gerenciador de contexto.
-
Carregamento de web fonts: font-display, preload, subconjuntos com unicode-range e fontes de fallback com métricas equivalentes
Mostre texto já na primeira renderização e carregue a fonte da marca sem saltos de layout: divida as fontes em subconjuntos com unicode-range para baixar só os sistemas de escrita usados, escolha font-display conforme o papel do texto (optional no corpo, swap nos títulos), faça preload dos arquivos da primeira renderização com crossorigin e declare uma fonte de fallback com size-adjust e ajustes de ascent/descent para que as linhas quebrem igual antes e depois da troca.
-
Validando JSON com JSON Schema
O JSON Schema descreve a estrutura permitida de um documento (tipos, chaves obrigatórias, enumerações, formatos, limites) e permite validar entradas em qualquer linguagem antes de processá-las; convém declarar additionalProperties de forma explícita.
-
Inspecionar e alterar as configurações de rede do macOS pelo Terminal: networksetup, scutil e cache de DNS
networksetup e scutil leem e alteram o serviço de rede ativo, os servidores DNS, os proxies e o nome do computador; dscacheutil e mDNSResponder limpam o cache desatualizado do resolvedor após uma mudança de DNS, para que um novo teste não receba a resposta antiga.
-
Usando fetch com timeouts e AbortController
A promise de fetch só é rejeitada em caso de falha de rede, não por status de erro HTTP, e não tem timeout próprio. Passe um AbortSignal combinado a partir de AbortSignal.timeout e do controller do chamador, verifique response.ok e distinga no catch entre TimeoutError, AbortError, erros de rede e erros HTTP.
-
Como transformar um bloqueio de acesso em um pedido de diagnóstico mínimo
Depois de uma leitura negada, peça exatamente a evidência ou o acesso que falta para continuar uma tarefa técnica, em vez de solicitar privilégios amplos por padrão.
-
Códigos de saída do docker/podman run: 125, 126, 127 e os códigos de sinal repassados por eles
O docker run reserva 125 para falhas do próprio Docker, 126 para um comando que não pode ser invocado e 127 para um comando não encontrado. Qualquer outro código é repassado sem alteração a partir do processo conteinerizado, inclusive os códigos 128+sinal (137 para SIGKILL, muitas vezes OOM; 139 para SIGSEGV; 143 para SIGTERM). A forma documentada de confirmar um encerramento por falta de memória é a flag OOMKilled do próprio contêiner, e não o 137 isolado, embora em alguns hosts com cgroup v2 ela apareça como false mesmo após um OOM kill do kernel.
-
Sandbox para ações de agentes: limites de sistema de arquivos, rede e credenciais
Um agente que executa comandos ou código deve fazê-lo dentro de um limite que restrinja quais arquivos ele pode tocar, quais hosts pode acessar e quais segredos pode ler. Os blocos de construção são contêineres com capabilities removidas e perfil seccomp, kernels em espaço de usuário como o gVisor, rede com bloqueio por padrão e credenciais de curta duração com escopo restrito.
-
Verificação de modos de pré-visualização e dry-run com um registro de efeitos colaterais
Verifica a promessa de um produto de que a pré-visualização não confirma alterações protegidas. Este teste de regressão de segurança proposto torna observáveis os efeitos permitidos e proibidos, em vez de confiar na simples existência de uma flag de dry-run.
-
Dimensões que mudam lentamente: sobrescrever, adicionar uma linha ou adicionar uma coluna
Quando um atributo de dimensão muda (um cliente se muda, um produto é reclassificado), o tipo 1 sobrescreve e perde o histórico, o tipo 2 adiciona uma nova linha com datas de vigência e de expiração e um indicador de linha atual, sob uma nova chave substituta, e o tipo 3 guarda o valor anterior em uma coluna extra. As ferramentas de snapshot implementam o tipo 2 comparando, a cada execução, um timestamp de atualização ou um conjunto de colunas.
-
Flow fields: compartilhar um destino sem compartilhar um caminho rígido
Construa campos reutilizáveis de custo até o destino e de direção para multidões, preserve a semântica de arestas ponderadas e invalide os campos em cache quando as premissas de movimento mudarem.
-
Registro de saúde da bateria: o que celulares, notebooks com Windows e a interface power-supply do Linux informam
Um registro mensal dos valores que o próprio dispositivo informa sobre a bateria: a capacidade máxima em relação à nova na tela Saúde da Bateria do iPhone, o relatório HTML de powercfg /batteryreport no Windows e os atributos charge_full e charge_full_design da classe power-supply do Linux. Com os valores anotados em estado bruto, com data, versão do software e eventos, a série mostra a tendência e seus saltos, sem qualquer recomendação de carregamento.
-
Como projetar um pipeline de integração contínua
Um pipeline de CI deve ser rápido, testar a si mesmo e ser idêntico para toda mudança: compilar a partir de um checkout limpo, executar linters e testes em etapas, falhar de forma visível e manter o tempo total curto o bastante para que as pessoas esperem pelo resultado.
-
Arquivos de resposta do Windows (unattend.xml): fases de configuração e onde o Setup os procura
Um arquivo de resposta unattend.xml fornece configurações a fases específicas do Windows Setup; windowsPE, generalize, specialize e oobeSystem são as mais usadas em provisionamento. O Setup localiza o arquivo por uma ordem de busca implícita fixa e o guarda em cache em %WINDIR%\Panther; o Windows System Image Manager cria esses arquivos e pode ocultar neles, mas não criptografar, senhas de contas locais.
Legível por máquina: JSON