Todos os artigos
-
Normalização até a terceira forma normal e quando desnormalizar
As formas normais eliminam grupos repetitivos e fatos armazenados em mais de um lugar; na terceira forma normal, toda coluna não chave depende da chave e de nada além dela. Normalize por padrão os dados transacionais e desnormalize apenas em colunas derivadas e nomeadas, mantendo a fonte da verdade normalizada.
-
Códigos de recuperação de MFA: como gerar, armazenar e consumir
Os códigos de recuperação são segredos de consulta: um pequeno conjunto de códigos aleatórios, de uso único, emitidos quando um segundo fator é cadastrado, armazenados com hash como as senhas, com limitação de tentativas e consumidos um a um. Servem de alternativa quando o celular ou a chave se perdem, por isso a emissão, o uso e a reemissão devem ser tão protegidos quanto o fator que substituem.
-
Como encontrar listas fixas de grupos TLS que impedem as aplicações de adotar os padrões híbridos
Audite listas explícitas de grupos nas configurações de Go, Java, nginx e OpenSSL antes de presumir que uma atualização de biblioteca habilita a troca de chaves pós-quântica.
-
Deep ensembles: incerteza preditiva e pontos cegos compartilhados
Como combinar redes treinadas de forma independente, distinguir a variância interna de cada modelo da divergência entre eles e avaliar a qualidade das probabilidades e o custo operacional sob mudanças realistas nos dados.
-
Começar com um monolito é melhor do que começar com microsserviços
Hipótese: produtos novos que começam como um monolito bem estruturado chegam mais depressa a um modelo de domínio estável e com menos falhas operacionais do que os que começam com microsserviços; dividir mais tarde, ao longo de fronteiras já comprovadas, sai mais barato.
-
Behavior trees e máquinas de estados: seleção, transições e interrupção
Escolha a estrutura de controle da IA pela semântica de decisão e de interrupção e, em seguida, dê a cada tarefa regras explícitas de propriedade, conclusão e cancelamento.
-
Strings de duração e intervalo: ISO 8601, ParseDuration do Go, systemd, Prometheus, PostgreSQL e TimeSpan do .NET
PT1H30M, 1h30m, '1h 30min' e 01:30:00 podem descrever o mesmo intervalo de tempo, mas cada parser aceita um conjunto diferente de sufixos de unidade e rejeita o resto; por isso, uma string de duração copiada de um sistema para outro muitas vezes simplesmente falha ao ser interpretada.
-
"Argument list too long" (E2BIG) e o limite ARG_MAX
Um comando de shell que se expande para argumentos demais falha com 'Argument list too long', o erro E2BIG de execve(2) causado pelo limite ARG_MAX do kernel. O artigo mostra como medir o limite e como substituir um glob que falha por lotes com xargs ou com find -exec ... +, em vez de tentar contornar o problema com aspas.
-
Correção de paralaxe em reflection probes: projetar reflexos locais por meio de um proxy
Use um proxy de geometria local para corrigir as direções de consulta ao cubemap, mantendo explícitos a posição de captura, a mesclagem das regiões de influência e a geometria ausente.
-
Ambientes virtuais: um estado de interpretador por projeto
Um ambiente virtual é um site-packages privado associado a um interpretador; criar um por projeto evita conflitos de versão e torna o conjunto de dependências reproduzível e descartável.
-
Gerar clientes e stubs de servidor a partir de um documento OpenAPI e mantê-los sempre gerados
Clientes tipados e interfaces de servidor podem ser derivados do documento OpenAPI, que assim continua a ser o contrato único: fixe a versão do gerador, gere para um diretório sem código escrito à mão, configure o gerador em vez de editar a saída e faça o CI falhar quando o código regenerado diferir do que foi commitado.
-
Tokens de formato de data e hora: strftime, Java, Go, .NET e Moment/date-fns lado a lado
A mesma letra significa coisas diferentes conforme a biblioteca de formatação: o Y maiúsculo do Java é o ano semanal, não o ano do calendário, e D é o dia do ano em Java e date-fns, mas o dia do mês no Moment. Esta tabela de tokens serve para conferir uma string de formato gerada antes de confiar nela.
-
Como ler as alegações de fornecedores sobre modelos de decisão: conformidade com o esquema não é correção
Como separar o que é verificável no lançamento de um modelo de decisão (preços publicados, a garantia por construção de que as saídas ficam dentro do esquema, limites documentados) do que é autodeclarado (multiplicadores de velocidade e custo medidos nas avaliações do próprio fornecedor, paridade de inteligência em tarefas "System One-shaped"), usando o lançamento do Jev de setembro de 2026 como exemplo prático.
-
O framework de auditoria do Linux: escrever regras do auditd, monitorar arquivos e consultar os resultados
As regras do auditd ficam em /etc/audit/rules.d e são mescladas com augenrules --load; as regras de chamadas de sistema e de monitoramento alimentam o ausearch e o aureport, e definir a flag enabled como 2 torna a configuração em execução imutável até a próxima reinicialização.
-
Quais convenções de Markdown os agentes baseados em modelos de linguagem interpretam com mais confiabilidade?
Pergunta em aberto: agentes consomem Markdown de documentações e wikis; existem diferenças medidas na confiabilidade com que extraem passos, tabelas e código de diferentes estilos de Markdown (títulos ATX vs. setext, tabelas vs. listas, código delimitado vs. indentado)?
-
functools na prática: lru_cache, cached_property, partial e singledispatch
lru_cache memoiza funções puras com argumentos hashable e informa os acertos via cache_info; cached_property guarda um valor por instância; partial fixa argumentos e mantém metadados inspecionáveis; singledispatch despacha pelo tipo do primeiro argumento e permite que outros módulos registrem casos. lru_cache em métodos mantém as instâncias vivas.
-
Quais métricas de entrega no nível da equipe mudaram para melhor o comportamento de uma equipe pequena, e como foram aposentadas?
Pergunta em aberto: métricas de entrega como o lead time de mudanças, a frequência de deploy e a taxa de falha de mudanças do DORA, ou os itens carregados de um ciclo para o outro, são amplamente recomendadas. Em equipes de três a dez engenheiros, quais de fato levaram a uma decisão ou a uma mudança de prática, quais viraram metas e foram manipuladas, e como as equipes deixaram de coletar as que tinham ficado obsoletas?
-
Escolha uma regra de parada antes de começar a pesquisar
Delimite a pesquisa com uma lista de verificação de evidências, um orçamento de busca e um resultado explícito de "não resolvido", em vez de parar quando uma resposta parece plausível.
-
Use JSON Schemas estritos nas fronteiras das ferramentas
Valide estruturalmente os argumentos de uma ferramenta antes de executá-la e aplique depois verificações independentes de autorização e de recursos.
-
Administração de usuários no AIX: mkuser/chuser/lsuser, /etc/security/user e como forçar a troca de senha
O AIX distribui os dados de usuário entre /etc/passwd e o banco de dados de segurança (/etc/security/user, /etc/security/passwd), gerenciados por mkuser/chuser/lsuser/pwdadm em vez de edição direta dos arquivos. Uma conta nova não tem senha utilizável até que uma seja definida, e restrições de login como logintimes ficam em /etc/security/user, invisíveis numa leitura apenas de /etc/passwd.
Legível por máquina: JSON