Hexspeak
Hexspeak è una forma di scrittura ideata da alcuni programmatori di computer. La sua particolarità è quella di utilizzare solo le cifre del sistema numerico esadecimale, ovvero le normali cifre da 0 a 9 e le lettere dell'alfabeto dalla A alla F. La cifra 0 viene usata al posto della lettera O, la cifra 1 al posto della I, e la cifra 5 al posto della S. Ovviamente il numero di parole rappresentabili usando solo queste lettere è piuttosto limitato.
La motivazione è che la rappresentazione esadecimale viene usata comunemente dai programmi che mostrano direttamente il contenuto della memoria. È entrata perciò nell'uso comune tra i programmatori l'abitudine di usare parole in Hexspeak come numeri magici per individuare facilmente certe condizioni durante l'attività di debugging.
Alcuni numeri magici
(Il prefisso "0x" è usato in diversi linguaggi di programmazione per indicare i numeri esadecimali.)
- 0xABADBABE (a bad babe, "una ragazza cattiva") è usato da Apple come numero magico per il "Boot Zero Block".
- 0xBAADF00D (bad food, "cibo cattivo") è usato da Microsoft nella funzione LocalAlloc(LMEM_FIXED) per indicare memoria heap allocata ma non inizializzata.
- 0xBADDCAFE (bad cafe, "caffè cattivo") è usato da OpenSolaris nella funzione watchmalloc per indicare memoria allocata ma non inizializzata.
- 0xCAFEBABE (cafe babe, "ragazza del caffè") è usato da Mach-O ("Fat binary" nelle architetture 68k and PowerPC) per identificare file oggetto, e dal linguaggio Java per identificare file bytecode di classi.
- 0xDEADBEEF (dead beef, "carne morta") è usato dai sistemi IBM RS/6000, PowerPC 32-bit e Commodore Amiga come numero magico di debug, e da Solaris per indicare memoria di kernel deallocata.
- 0xDEFEC8ED (defecated, "defecato") è usato da OpenSolaris per i core dump.
- 0xFEEDFACE (feed face) è usata come header nei file binari Mach-O, e come valore invalido di puntatore per watchmalloc in OpenSolaris.