Sviluppatore front-end e redattore Tech presso Allin
Performance web, flussi di file e documenti, strumenti per il testo e utility per sviluppatori
Daniel è uno sviluppatore front-end e scrive di ciò che attraversa una giornata di lavoro: formati di immagine e di file, performance web, manipolazione di testo e dati, e i flussi documentali — firme, PDF, conversioni — che stanno tra un file e chi lo aspetta. Spiega i compromessi tecnici senza gergo e dice dove una regola smette di essere tecnica e diventa giuridica.
Competenze
Performance web
Formati di file
PDF e documenti
Elaborazione del testo
Strumenti per sviluppatori
Esperienza
—Scrive dal 2016
—172 guide pubblicate su Allin
—di cui 57 in web
—620 fonti citate
—da 154 editori distinti
—Pubblica su Allin dal 13 maggio 2025
Come lavora Daniel
Daniel parte dalla specifica — lo standard del formato, il comportamento documentato del browser — e la confronta con il file che ha davanti, non con quello che afferma un post di blog. Quando un limite si rivela giuridico e non tecnico, dice quale dei due sta descrivendo.
Articoli di Daniel Okonkwo
Gli essenziali
Ordinati per quante pagine del sito rimandano a loro, non per traffico.
Un file di foglio di calcolo conserva sia la formula sia l'ultima risposta calcolata da Excel. Togliere la formula lascia la risposta memorizzata — e lascia un vuoto ovunque il file non ne portasse alcuna.
La deduplicazione confronta righe intere in modo esatto, tipo di cella compreso. Cinque righe d'aspetto identico sono uscite come tre: una portava un numero, una una stringa e una una stringa con uno spazio davanti.
Tre nove suonano come una promessa, finché non li dividi in minuti. Che cosa compra il 99,9 % all'anno, al mese, alla settimana e al giorno; perché la finestra di misura conta molto più del nove in più; e i due mesi diversi che questo strumento usa per lo stesso identificatore.
Misurato sul ridimensionatore stesso: «Riempi» è un ritaglio centrato senza punto focale, e una foto verticale perde il 38,9 per cento in alto per un banner delle dimensioni di X. In più le dimensioni pubblicate attuali, ciascuna con la data in cui è stata verificata.
La sorgente casuale del generatore verificata riga per riga, cosa elimina davvero SAE, perché la modalità di transizione ne restituisce gran parte, e ciò che ogni guida sulla rete ospiti tralascia.
Un JPEG può portare sei blocchi di metadati distinti, non uno. Abbiamo costruito un file che li conteneva tutti — coordinate, numero di serie della fotocamera, miniatura nascosta, XMP, IPTC, commento —, l'abbiamo passato al pulitore e abbiamo letto l'uscita byte per byte per vedere che cosa sopravviveva.
L'entropia dà un prezzo a un solo attacco: l'indovinare offline contro un hash rubato. Sopra i 90 bit circa la cifra non decide più nulla — e l'indicatore di questo sito ha sottostimato una password casuale di 20 caratteri in 300 estrazioni su 300.
0800 non è «le otto» né «08:00»: è «zero eight hundred», con una lettera di fuso in fondo. Le quattro cifre, la pronuncia, la mezzanotte a 0000, la disputa sul 2400, e perché la notazione a 12 ore non riesce a risolvere il mezzogiorno.
L'ora dorata va da +6° a −4° di altezza del sole e l'ora blu da −4° a −6°, ed è per questo che dura quaranta minuti all'equatore, oltre un'ora alle medie latitudini, e sopra i 72,6° a giugno non si verifica affatto. Le soglie di questa calcolatrice, verificate sulla sua stessa uscita.
La sfocatura e la pixelatura sono reversibili: non disfacendo i conti, ma indovinando in avanti. Contro le modalità sfocatura e pixelatura di questo strumento, un attacco di recupero ha restituito il valore nascosto al primo posto su 10 000. Entrambe sono state poi rimosse. Ecco che cosa resta, e perché non si può attaccare allo stesso modo.
Una sola differenza strutturale spiega tutto il resto: il TAR non comprime, impila; lo ZIP comprime ogni file per conto suo. Misurato su 60 piccoli file sorgente, fa 1 809 byte contro 14 686.
Quattro estensioni, tre delle quali sono la stessa scatola con coperchi diversi. Rinomina un XLSX in .zip e si apre: questo solo fatto spiega tutta la famiglia, e spiega perché XLS, che così non si apre, resti quello che dà problemi.
Misurato, non affermato: 90 frasi brevi reali in sei lingue, nessuna rifiutata e 68 giuste — il 76%, che scende al 64% sotto le sedici lettere. Quattro delle risposte sbagliate sono tornate con il 100% di fiducia.
Numerare un documento ordinato è banale. Ciò che morde è una pagina coricata, un foglio Letter fra pagine A4, un file di stampa con abbondanza e un documento che stampa già il proprio numero. Tutti e quattro sono stati provati: nei primi tre il numero finisce esattamente dove l'hai chiesto, e il quarto non viene rilevato affatto.
Un PDF porta i suoi metadati due volte, in due depositi che possono raccontare storie diverse, e nessuno dei due è la storia intera. Ecco che cosa c'è davvero nel file, che cosa la cancellazione toglie e le due cose che sopravvivono a ogni pulizia.
01/02/2026 è il 1º febbraio in gran parte d'Europa e il 2 gennaio negli Stati Uniti, e nulla nella stringa dice quale. ISO 8601 risolve la cosa, si ordina come testo, e smette di bastare in quattro punti precisi che la RFC 3339 rifiuta.
Come distinguere un generatore di chiavi segrete solido da uno dubbio, con questo come esempio svolto: quale fonte casuale chiama, come calcolare l'entropia da soli e che cosa si rompe davvero il giorno in cui si ruota la chiave.
La numerazione parte da 1 e non si può impostare a 0, l'allineamento usa spazi e non zeri, e lo strumento che li toglie annulla otto degli undici separatori senza toccare l'indentazione. Quello che ancora non sa fare è distinguere i tuoi numeri dai suoi.
Tre codifiche, una differenza visibile: %20 o +. La modalità modulo del generatore riproduce URLSearchParams byte per byte su diciassette valori — ma dagli un URL di base con un frammento e ogni parametro finisce dentro l'hash, dove nessun server lo vede.
Un PDF memorizza glifi a coordinate: non righe, non paragrafi, non un ordine di lettura. L'estrazione ricostruisce il testo da quelle posizioni, ed è per questo che due colonne escono intrecciate, una tabella perde le celle e una scansione non dà nulla. Misurato eseguendo lo strumento.
Amplificare finché il campione più forte tocca un tetto non cambia quasi nulla di quanto forte suoni una cosa. Misurare in LUFS sì. Questo strumento misura — in due passaggi, correttamente — e poi mostra un risultato che non ha mai verificato, e che su materiale ordinario può scostarsi ben più di un decibel.
Un solo comando ffmpeg, nessun codificatore, e un risultato il cui flusso video è byte per byte quello di partenza — verificato per checksum. Più il motivo per cui il file quasi non si rimpicciolisce, e la differenza fra una traccia silenziosa e nessuna traccia.
Quattro fogli di stile veri passati nel minificatore, misurati grezzi e dopo gzip. Togliere tutti gli spazi ha fatto risparmiare 48, 103, 104 e 147 byte compressi; togliere i commenti 57, 1 358, 2 420 e 1 042. E i cinque input che questo minificatore rompe.
Un'emoji vale 1 carattere, o 7, o 11, o 25, a seconda di chi conta. Quale intendono il tuo modulo, il tuo database e il tuo gateway SMS — e un test con un solo incolla per capire con quale hai a che fare.