· 4 min de leitura
Menos dezassete módulo cinco tem duas respostas diferentes
17 mod 5 vale 2 em toda a parte. −17 mod 5 vale −2 em JavaScript, C e Java, e 3 em Python, Ruby e numa folha de cálculo. Ambos estão certos, e a diferença é um erro real.

Programador front-end e redator de Tecnologia na OneKitly
Desempenho web, fluxos de ficheiros e documentos, ferramentas de texto e utilitários de programação
Daniel é programador front-end e escreve sobre o que atravessa um dia de trabalho: formatos de imagem e de ficheiro, desempenho web, manipulação de texto e dados, e os fluxos documentais — assinaturas, PDF, conversões — que se metem entre um ficheiro e quem o espera. Explica os compromissos técnicos sem jargão e diz onde uma regra deixa de ser técnica e passa a ser jurídica.
Daniel parte da especificação — a norma do formato, o comportamento documentado do navegador — e confronta-a com o ficheiro que tem à frente, não com o que afirma um artigo de blogue. Quando um limite se revela jurídico e não técnico, diz qual dos dois está a descrever.
Ordenados pelo número de páginas do site que remetem para eles, não por tráfego.
Guias publicados sob esta assinatura em cada secção. Cada ligação abre a secção completa, com todos os redatores.
· 4 min de leitura
17 mod 5 vale 2 em toda a parte. −17 mod 5 vale −2 em JavaScript, C e Java, e 3 em Python, Ruby e numa folha de cálculo. Ambos estão certos, e a diferença é um erro real.
· 4 min de leitura
Duas molas de 500 N/m em fila dão 250 N/m; lado a lado dão 1.000. Sob a mesma carga de 50 N são 0,2 m de curso contra 0,05 m, e 5 joules armazenados contra 1,25.
· 4 min de leitura
Com uma média de cinco eventos por intervalo, ocorrem exatamente três 14,0 % das vezes, nenhum 0,7 %, e dez ou mais 3,2 % — cerca de uma vez em cada 31 intervalos. A distribuição tem um só parâmetro, e fixa ao mesmo tempo a média e a variância.
· 4 min de leitura
Os três dígitos são dois algarismos e uma contagem de zeros, em picofarads: 104 dão 100 nF e 473 dão 47 nF. A armadilha é 220, que vale 22 pF — enquanto uma peça de 220 pF é marcada 221.
· 3 min de leitura
100, 220 e 330 µF em série dão 56,9 µF — menos do que o mais pequeno. Põe 100 µF e 1 µF em série: o total é 0,99 µF, e o pequeno aguenta 99 % da tensão.
· 3 min de leitura
10 mH com 100 µF ressoam a 159,2 Hz. Duplica a capacidade e desce para 112,5 Hz; para reduzir a frequência a metade é preciso quadruplicar um componente, porque ambos estão sob uma raiz quadrada.
· 4 min de leitura
1.000 Ω com 100 µF dão uma constante de tempo de 0,1 s. O condensador está carregado a 63 % nesse ponto, a 95 % após três constantes e a 99,3 % após cinco — e é este último número que conta.
· 3 min de leitura
25 milhões de volume de negócios por 250 pessoas dão 100.000 cada. Passa cinquenta para um fornecedor e o mesmo volume marca 125.000 — 25 % de melhoria num indicador de produtividade, com o mesmo trabalho feito.
· 4 min de leitura
5.000 mAh consumidos a 500 mA com 85 % de rendimento duram 8,5 horas em vez das 10 do cálculo bruto. Esses mesmos 15 % explicam que um powerbank de 5.000 mAh mal encha uma vez um telemóvel de 4.000 mAh.
· 4 min de leitura
A potência perdida em calor é a corrente ao quadrado vezes a resistência. Dez metros de extensão em 1,5 mm² têm 0,233 Ω ida e volta: 23,3 W a 10 A e 59,7 W a 16 A.
· 4 min de leitura
2000 palavras são 8 páginas a espaço duplo, 4 a espaço simples e 3,3 numa paginação de relatório densa. «Quantas páginas» é uma pergunta sobre a paginação, não sobre o texto — e a página de 250 palavras tem uma história.
· 4 min de leitura
O ritmo de fala decide a duração de uma apresentação mais do que o texto. A 170 palavras por minuto o mesmo guião dura 7 min 04 s; a 110 dura 10 min 55 s — e só um dos dois cabe num intervalo de dez minutos.
· 4 min de leitura
Dividir um livro escreve um .xlsx por folha, com o nome do separador. Leva os valores e não as fórmulas — o comportamento certo quando se trata de enviar a um serviço o seu próprio separador.
· 4 min de leitura
O JSON toma o texto do teu cabeçalho como chave, exatamente tal e qual. O XML não pode — os seus nomes não admitem espaços, parênteses nem um algarismo inicial — por isso são normalizados, e saber como evita uma surpresa a jusante.
· 4 min de leitura
O OpenDocument torna styles.xml opcional. Vários leitores exigem-no e rejeitam o documento inteiro sem ele — «Cannot find file styles.xml in zip» sobre um ficheiro que não está partido.
· 4 min de leitura
Uma célula pode conter uma fórmula e nenhum resultado em cache. Um leitor que salta as células vazias deita fora a fórmula com elas — e anuncia que o ficheiro não tem nenhuma. Uma opção de leitura separa os dois casos.
· 4 min de leitura
Os espaços são a razão de ser destas ferramentas. Uma linha de brancos parece vazia, não o é para um teste estrito, e sobrevive em silêncio a todos os filtros que apliques a seguir.
· 4 min de leitura
Doze relatórios mensais podem tornar-se doze separadores ou uma tabela de doze meses. Só a segunda se ordena e se soma de uma vez — e é aquela onde as linhas de cabeçalho pedem cuidado.
· 4 min de leitura
Horários de aulas, calendários de jogos, escalas de turnos e programas de conferência começam todos por ser uma tabela. Quatro colunas bastam para transformar um deles num ficheiro que qualquer aplicação de calendário sabe importar.
· 3 min de leitura
Sem folha de estilo, sem script, paginação feita de tabelas encaixadas e estilos escritos em cada etiqueta. Saber porquê explica com o que um ficheiro HTML exportado se vai parecer — e com o que não.
· 3 min de leitura
Mesmo ficheiro, mesmo analisador, duas saídas. A folha de cálculo recebe oito colunas; o JSON recebe ainda o fuso nomeado, o indicador de dia inteiro e a regra de recorrência.
· 3 min de leitura
A 2.1 marca os tipos sem sinal de igual, a 3.0 é o que toda a gente lê, a 4.0 escreve alguns valores como URI — por isso um telefone pode chegar como tel:+33612345678, prefixo incluído. Saber qual tens explica quase todas as surpresas de importação.
· 3 min de leitura
Um contacto pode ter vários números e vários endereços. O CSV junta-os com um ponto médio numa só célula; o JSON guarda-os como lista, que é a diferença entre um script que funciona e outro que divide a olho.
· 4 min de leitura
Nomes, moradas e organizações são campos estruturados numa vCard. Achata-os numa folha de cálculo: leem-se de forma idêntica enquanto perdem as costuras — o que conta assim que reconstróis uma vCard a partir dessa folha.